Measure Map Online 개발자용
방문자가 웹사이트에서 직접 측정하게 하고, 고객용 프로젝트를 만들고, 측정값을 읽고, 변경 사항을 즉시 전달받으세요. REST API는 Open Guest 및 Enterprise 요금제에 포함됩니다.
REST API
요금제 선택
개발자 페이지는 Open Guest 및 Enterprise 요금제에서 열립니다. Open Guest는 웹사이트에서 견적 요청을 받기 위한 요금제이고, Enterprise는 API로 구성원을 관리하며 팀을 운영하기 위한 요금제입니다.
요금제 비교API 키 만들기
개발자 페이지에서 실제 프로젝트용 Live 키와 개발·테스트용 Sandbox 키를 만드세요. 샌드박스 프로젝트는 분리되어 있으며 샌드박스 게스트 프로젝트에는 요금이 청구되지 않습니다. 각 키에는 필요한 권한만 부여하고, 내 웹사이트로만 사용을 제한하세요.
API 키 알아보기모든 요청에 포함하기
모든 요청은 https://api.measuremaponline.com/api/v2로 보내며, 키는 Authorization 헤더에 넣습니다. 데이터를 변경할 수 있는 키는 서버에만 보관하세요.
curl https://api.measuremaponline.com/api/v2/projects/PROJECT_ID \
-H "Authorization: YOUR_API_KEY"
할 수 있는 일
| 영역 | 내 소프트웨어에서 할 수 있는 일 | 요금제 |
|---|---|---|
| 프로젝트와 폴더 | 목록 조회, 읽기, 생성, 수정, 삭제 및 프로젝트의 측정값, 댓글, .mmp 파일 읽기 | Open Guest 및 Enterprise |
| 제품 | 작업 견적에 사용하는 제품을 읽고, 만들고, 수정하고, 보관 | Open Guest 및 Enterprise |
| 게스트 프로젝트 | 방문자 정보를 채운 상태로 방문자용 게스트 프로젝트 시작 | Open Guest |
| 구성원 | 조직 구성원을 생성, 조회, 수정, 삭제하고 로그인 처리 | Enterprise |
| 임베드 | 프로젝트를 웹사이트에 실시간 지도로 표시 | Enterprise |
| 웹훅 | 이벤트가 발생하면 서명된 메시지를 서버로 수신 | Open Guest 및 Enterprise |
Open Guest: 웹사이트 방문자가 직접 작업 범위를 측정
웹사이트 방문자가 계정 없이 직접 작업 범위를 측정하고, 그리는 동안 가격을 확인한 뒤 견적 요청을 보냅니다.
작동 방식
- 게스트 링크를 웹사이트에 버튼이나 페이지 안의 지도로 넣습니다.
- 방문자가 링크를 열거나 페이지 안 지도에서 주소를 찾으면, 가입 절차 없이 새 탭에 자신만의 프로젝트가 생성됩니다.
- 잔디밭, 지붕, 진입로를 그리면서 내 가격을 바로 확인합니다.
- 견적 요청을 누르고 이름, 이메일, 전화번호를 남깁니다.
- 이메일과 알림이 도착하고, 방문자의 프로젝트는 내 계정에 저장됩니다.
코드가 필요 없습니다. 개발자 > 게스트 링크에서 게스트 링크 또는 버튼·지도용 코드를 복사하세요.
Open Guest 작동 방식내 견적 양식에서
방문자 정보를 대신 채우려면 서버가 live 키로 토큰을 요청한 뒤 방문자를 새 게스트 프로젝트로 보냅니다. 키는 브라우저에 전달되지 않습니다.
// Node.js 18+ with Express. Your API key stays on this server.
const express = require('express');
const app = express();
app.get('/start-measuring', async (req, res) => {
// A token lets one visitor start one project in your account.
const reply = await fetch('https://api.measuremaponline.com/api/v2/auth/token', {
method: 'POST',
headers: {'Authorization': process.env.MMO_API_KEY, 'Content-Type': 'application/json'},
body: '{}',
});
if (!reply.ok) {
return res.sendStatus(502);
}
const {token} = await reply.json();
const name = String(req.query.name || '');
const email = String(req.query.email || '');
// URLSearchParams encodes every value: "Smith & Sons" arrives whole.
const params = new URLSearchParams({
token,
name, // the project's name in your account
description: email, // any text you want to search by later
guest_name: name, // shown in the email you receive
guest_email: email,
// folder_id: 'FOLDER_ID', // optional: the folder new projects go into
});
res.redirect('https://app.measuremaponline.com/app/projects/guest/new?' + params.toString());
});
app.listen(3000);
// On your page: call this from the button on your quote form.
function startMeasuring(name, email) {
const params = new URLSearchParams({name, email});
window.open('/start-measuring?' + params.toString(), '_blank', 'noopener');
}
개발자 페이지의 게스트 링크 > Open Guest API에 내 계정용 코드가 준비되어 있습니다. 게스트 프로젝트는 하나당 Open Guest 사용량에 포함됩니다.
Enterprise: 내 소프트웨어에서 구성원 관리
내 시스템에서 조직 구성원을 만들고, 프로젝트를 배정하고, 이미 로그인된 상태로 Measure Map Online에 보내세요.
내 데이터와 연결
각 구성원의 사용자 ID(uid)를 내 데이터베이스의 고객 또는 직원 정보와 함께 저장하고, 필요할 때 구성원 정보를 조회하세요.
GET /users/{uid}프로젝트 만들기
구성원의 계정에 프로젝트를 만들고, 그 ID를 내 시스템의 작업 정보와 함께 보관하세요.
POST /users/{uid}/projects/new로그인시키기
로그인 토큰을 요청해 구성원을 앱으로 보내면 비밀번호를 전달할 필요가 없습니다. Admin과 Manager, 그리고 Sandbox 키에서는 사용할 수 없습니다.
POST /auth/{uid}/login
https://app.measuremaponline.com/dashboard?sit=TOKENiFrame API: 웹사이트의 실시간 지도
내 측정값이 담긴 프로젝트 지도를 내 웹페이지나 CRM 안에 표시하세요. 방문자는 계정 없이 지도를 둘러볼 수 있습니다. 단위, 지도 유형, 밝은 테마나 어두운 테마를 선택할 수 있습니다.
개발자 페이지가 코드를 만들어 줍니다. 프로젝트를 고르고, 실시간 미리보기를 확인한 뒤 복사하세요. 임베드는 Enterprise 요금제에 포함되며, Open Guest에서는 게스트 링크를 임베드하세요.
iFrame API 가이드<iframe
src="https://app.measuremaponline.com/iframe_api?pid=PROJECT_ID&key=YOUR_API_KEY&ms=metric&maptype=satellite&theme=auto"
width="100%" height="500" style="border: 0"
title="작업 측정값">
</iframe>
ms: metric 또는 imperial
· maptype: satellite, map, hybrid 또는 terrain
· theme: auto, light 또는 dark
웹훅: 변경 사항 알림
개발자 페이지에 서버 주소를 추가하고 원하는 이벤트를 선택하세요. 각 이벤트는 JSON 본문을 담은 POST로 도착하며, X-MMO-Signature 헤더에 서명이 포함되어 우리가 보낸 것인지 확인할 수 있습니다.
웹훅은 Open Guest 및 Enterprise 요금제에 포함됩니다.
웹훅 가이드| 이벤트 | 전송 시점 |
|---|---|
project.created | 앱, API 또는 임베드에서 프로젝트가 생성될 때 |
project.deleted | 프로젝트가 영구 삭제될 때(휴지통으로 이동은 해당하지 않음) |
project.comment.added | 누군가 프로젝트에 댓글을 남길 때 |
guest.project.created | 방문자가 게스트 프로젝트를 시작했고 이메일 주소를 알고 있을 때, 예를 들어 내 견적 양식을 통한 경우 (Open Guest) |
guest.measurement.completed | 방문자가 측정을 마치고 연락처를 남길 때 (Open Guest) |
budget.warning_reached,budget.limit_reached | Open Guest 지출이 경고 한도나 상한에 도달할 때 |
enterprise.user.created | 싱글 사인온을 통한 경우를 포함해 조직에 자리가 추가될 때 (Enterprise) |