Перейти к содержимому

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: пусть посетители измеряют на вашем сайте

Посетители вашего сайта сами измеряют свой объект без аккаунта, видят цену прямо во время рисования и отправляют вам запрос сметы.

Как это работает

  1. Вы размещаете гостевую ссылку на своём сайте — кнопкой или картой прямо на странице.
  2. Посетитель открывает её и получает собственный проект — без всякой регистрации.
  3. Он рисует свой газон, крышу или подъездную дорожку и сразу видит ваши цены.
  4. Он нажимает Запросить смету и оставляет имя, email и телефон.
  5. Вы получаете письмо и уведомление, а его проект уже в вашем аккаунте.

Код писать не нужно: скопируйте гостевую ссылку или код кнопки либо карты с ней в разделе Разработчик > Гостевая ссылка.

Как работает 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=TOKEN

iFrame 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)