Measure Map Online voor ontwikkelaars
Laat bezoekers meten op je website, maak projecten voor je klanten, lees hun metingen en hoor van wijzigingen op het moment dat ze gebeuren. De REST API maakt deel uit van de abonnementen Open Guest en Enterprise.
REST API
Kies je abonnement
De pagina Ontwikkelaar is beschikbaar met de abonnementen Open Guest en Enterprise. Open Guest is voor het ontvangen van offerteaanvragen via je website; Enterprise is voor het runnen van een team, met leden die je via de API beheert.
Vergelijk abonnementenMaak een API-sleutel
Maak op de pagina Ontwikkelaar een Live-sleutel voor je echte projecten en een Sandbox-sleutel om mee te bouwen en te testen: sandboxprojecten blijven gescheiden en sandbox-gastprojecten worden nooit gefactureerd. Geef elke sleutel alleen de toegang die hij nodig heeft en beperk hem tot je websites.
Over API-sleutelsStuur hem mee met elk verzoek
Elk verzoek gaat naar https://api.measuremaponline.com/api/v2, met je sleutel in de header Authorization. Bewaar sleutels die gegevens kunnen wijzigen op je server.
curl https://api.measuremaponline.com/api/v2/projects/PROJECT_ID \
-H "Authorization: YOUR_API_KEY"
Wat je kunt doen
| Onderdeel | Wat je software kan doen | Abonnementen |
|---|---|---|
| Projecten en mappen | Lijst ze op, lees, maak, wijzig en verwijder ze; lees de metingen, opmerkingen en het .mmp-bestand van een project | Open Guest en Enterprise |
| Producten | Lees, maak, wijzig en archiveer de producten waarmee je je werk prijst | Open Guest en Enterprise |
| Gastprojecten | Start een gastproject voor een bezoeker, met zijn gegevens al ingevuld | Open Guest |
| Leden | Maak, lees, wijzig en verwijder de leden van je organisatie en log ze in | Enterprise |
| Embeds | Toon een project als levende kaart op je website | Enterprise |
| Webhooks | Ontvang een ondertekend bericht op je server wanneer er iets gebeurt | Open Guest en Enterprise |
Open Guest: de bezoekers van je website meten zelf hun klus op
De bezoekers van je website meten hun eigen klus zonder account, zien de prijs terwijl ze tekenen en sturen je een verzoek om een offerte.
Zo werkt het
- Je zet je gastlink op je website, als knop of als kaart in een pagina.
- Een bezoeker opent hem, of vindt zijn adres op de kaart in je pagina, en krijgt een eigen project in een nieuw tabblad, zonder zich ergens voor aan te melden.
- Hij of zij tekent het gazon, dak of de oprit en ziet ondertussen je prijzen.
- Daarna drukt de bezoeker op Offerte aanvragen en laat naam, e-mailadres en telefoonnummer achter.
- Jij ontvangt een e-mail en een melding, en het project staat in je account.
Geen code nodig: kopieer je gastlink, of de knop- of kaartcode ervoor, via Ontwikkelaar > Gastlink.
Hoe Open Guest werktVanuit je eigen offerteformulier
Om de gegevens van de bezoeker voor hem in te vullen, vraagt je server met je livesleutel om een token en stuurt de bezoeker naar een nieuw gastproject. De sleutel komt nooit in de browser.
// 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');
}
De pagina Ontwikkelaar heeft deze code klaar voor je account, onder Gastlink > Open Guest API. Elk gastproject telt mee in je Open Guest-gebruik.
Enterprise: je leden, vanuit je eigen software
Maak de mensen van je organisatie aan vanuit je eigen systeem, geef ze projecten en stuur ze al ingelogd naar Measure Map Online.
Maak leden aan
Nodig mensen uit via het dashboard of maak ze aan met de API. Elk lid gebruikt een plaats en krijgt de standaardrol van je organisatie.
POST /users/newKoppel ze aan je gegevens
Bewaar de gebruikers-ID (uid) van elk lid bij de klant of medewerker in je database en lees hun gegevens wanneer je ze nodig hebt.
GET /users/{uid}Maak hun projecten aan
Maak een project aan in het account van een lid en bewaar de ID ervan bij de klus in je eigen systeem.
POST /users/{uid}/projects/newLog ze in
Vraag een inlogtoken aan en stuur het lid ermee naar de app, zodat je nooit wachtwoorden hoeft uit te delen. Niet beschikbaar voor Admins en Managers, of met een sandboxsleutel.
POST /auth/{uid}/login
https://app.measuremaponline.com/dashboard?sit=TOKENiFrame API: een levende kaart op je website
Toon de kaart van een project, met je metingen, in je eigen webpagina of crm. Bezoekers kunnen erin rondbewegen zonder account. Kies de eenheden, het kaarttype en een lichte of donkere weergave.
De pagina Ontwikkelaar bouwt de code voor je: kies een project, controleer het live voorbeeld en kopieer het. Embeds maken deel uit van het Enterprise-abonnement; bij Open Guest embed je in plaats daarvan je gastlink.
Gids voor de 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="Metingen van de klus">
</iframe>
ms: metric of imperial
· maptype: satellite, map, hybrid of terrain
· theme: auto, light of dark
Webhooks: hoor van wijzigingen
Voeg het adres van je server toe op de pagina Ontwikkelaar en kies de gebeurtenissen die je wilt. Elke gebeurtenis komt binnen als een POST met een JSON-body, ondertekend in de header X-MMO-Signature zodat je kunt controleren dat hij van ons komt.
Webhooks maken deel uit van de abonnementen Open Guest en Enterprise.
Gids voor webhooks| Gebeurtenis | Verzonden wanneer |
|---|---|
project.created | Een project wordt gemaakt, in de app, via de API of vanuit een embed |
project.deleted | Een project wordt definitief verwijderd (verplaatsen naar de Prullenbak telt niet) |
project.comment.added | Iemand reageert op een project |
guest.project.created | Een bezoeker start een gastproject en zijn e-mailadres is bekend, bijvoorbeeld via je offerteformulier (Open Guest) |
guest.measurement.completed | Een bezoeker is klaar met meten en laat zijn contactgegevens achter (Open Guest) |
budget.warning_reached,budget.limit_reached | Je Open Guest-uitgaven bereiken je waarschuwing of je limiet |
enterprise.user.created | Er wordt een plaats aan je organisatie toegevoegd, ook via single sign-on (Enterprise) |