Measure Map Online для разработчиков
Позвольте посетителям измерять на вашем сайте, создавайте проекты для своих клиентов, читайте их измерения и узнавайте об изменениях в тот же момент. REST API входит в тарифы Open Guest и Enterprise.
REST API
Выберите тариф
Страница «Разработчик» доступна на тарифах Open Guest и Enterprise. Open Guest — чтобы принимать запросы смет с вашего сайта; Enterprise — для работы команды, участниками которой вы управляете через API.
Сравнить тарифыСоздайте API-ключ
На странице «Разработчик» создайте рабочий ключ для настоящих проектов и ключ песочницы для разработки и тестирования: проекты песочницы хранятся отдельно, а гостевые проекты в песочнице никогда не оплачиваются. Давайте каждому ключу только тот доступ, который ему нужен, и ограничьте его своими сайтами.
Подробнее об 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: пусть посетители измеряют на вашем сайте
Посетители вашего сайта сами измеряют свой объект без аккаунта, видят цену прямо во время рисования и отправляют вам запрос сметы.
Как это работает
- Вы размещаете гостевую ссылку на своём сайте — кнопкой или картой прямо на странице.
- Посетитель открывает её и получает собственный проект — без всякой регистрации.
- Он рисует свой газон, крышу или подъездную дорожку и сразу видит ваши цены.
- Он нажимает Запросить смету и оставляет имя, email и телефон.
- Вы получаете письмо и уведомление, а его проект уже в вашем аккаунте.
Код писать не нужно: скопируйте гостевую ссылку или код кнопки либо карты с ней в разделе Разработчик > Гостевая ссылка.
Как работает Open GuestИз вашей собственной формы запроса сметы
Чтобы заполнить данные посетителя за него, ваш сервер запрашивает токен с вашим рабочим ключом и направляет посетителя в новый гостевой проект. Ключ никогда не попадает в браузер.
// 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Свяжите их со своими записями
Храните ID пользователя (uid) каждого участника вместе с клиентом или сотрудником в своей базе данных и читайте его данные, когда они нужны.
GET /users/{uid}Создайте их проекты
Создайте проект в аккаунте участника и сохраните его ID вместе с заказом в своей системе.
POST /users/{uid}/projects/newВыполните за них вход
Запросите токен входа и отправьте с ним участника в приложение — так вам не придётся раздавать пароли. Недоступно для администраторов и менеджеров, а также с ключом песочницы.
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) |