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 вже авторизованими.
Створення учасників
Запрошуйте людей із панелі керування або створюйте їх через API. Кожен учасник займає одне місце й отримує типову роль вашої організації.
POST /users/newЗв'яжіть їх зі своїми записами
Зберігайте ідентифікатор користувача (uid) кожного учасника разом із клієнтом чи співробітником у своїй базі даних і читайте його дані, коли потрібно.
GET /users/{uid}Створюйте їхні проєкти
Створіть проєкт в обліковому записі учасника й зберігайте його ідентифікатор біля відповідної роботи у вашій системі.
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
Вебхуки: дізнавайтеся про зміни
Додайте адресу свого сервера на сторінці розробника й оберіть потрібні події. Кожна подія надходить як POST з тілом JSON, підписаним у заголовку 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) |