Per sviluppatori

Una semplice API REST

Legga e gestisca i Suoi moduli e invii dal Suo sistema, da Zapier, Make o dal Suo agente AI. Si autentichi con una chiave API dell'account e ottenga in cambio un JSON pulito. Per ogni chiave scelga se leggere soltanto o anche scrivere — sicuro per l'account.

Per iniziare

Tutte le richieste vanno all'URL di base e includono la Sua chiave come token Bearer; la risposta è sempre application/json. Per ogni chiave stabilisce per risorsa (moduli, invii) se può leggere o anche scrivere — i permessi di scrittura non vengono mai concessi automaticamente.

URL di base

https://app.formuliermet.nl/api/v1

Autenticazione

curl https://app.formuliermet.nl/api/v1/me \
  -H "Authorization: Bearer fmb_je_sleutel_hier"

Crei una chiave nell'app in Account → API e integrazioni. Vedrà la chiave completa una sola volta — la conservi in un luogo sicuro. Una chiave dà accesso ai dati del Suo account; può revocarla in qualsiasi momento. L'accesso API è incluso nei pacchetti superiori (si veda tariffe).

Endpoint

GET
/me
Verifica la Sua chiave e restituisce l'id del Suo account — utile per testare una connessione.
GET
/forms
I moduli del Suo account (id, titolo, slug, attivo, numero di invii). Paginato con ?page e ?limit.
GET
/forms/{id}
Un singolo modulo, incluse le definizioni dei campi (id, tipo, etichetta, obbligatorio).
GET
/forms/{id}/submissions
Gli invii di un modulo, con i più recenti per primi. Pagini con ?page e ?limit (max 100); recuperi solo i nuovi con ?since=<ISO-data> — ideale per integrazioni a polling.
GET
/submissions/{id}
Un singolo invio con tutti i campi compilati in data.
POST
/forms
Crei un modulo. scope forms:write
PATCH
/forms/{id}
Aggiorni un modulo (titolo, campi, impostazioni). scope forms:write
POST
/forms/{id}/publish · /duplicate · /open · /close
Pubblichi, duplichi o apra/chiuda un modulo. scope forms:write
POST
/submissions/{id}/approve · /reject · /note · /reminder
Approvi o rifiuti, aggiunga una nota interna o invii un promemoria di pagamento. scope submissions:write
DELETE
/submissions/{id}
Elimini un invio, compresi i file caricati (registrato ai fini del GDPR). scope submissions:write

Esempio: recupero degli invii

curl "https://app.formuliermet.nl/api/v1/forms/FORM_ID/submissions?limit=2" \
  -H "Authorization: Bearer fmb_je_sleutel_hier"

Risposta

{
  "data": [
    {
      "id": "ckv8s2...",
      "formId": "ckv7a1...",
      "sequenceNumber": 42,
      "status": "paid",
      "amountCents": 2500,
      "email": "deelnemer@example.com",
      "paymentMethod": "ideal",
      "createdAt": "2026-06-01T14:30:00.000Z",
      "updatedAt": null,
      "data": { "naam": "Jan Jansen", "aantal": 2 }
    }
  ],
  "page": 1,
  "limit": 2,
  "total": 42
}

Webhook & eventi in tempo reale

Preferisce che i dati arrivino direttamente a Lei? Configuri i webhook per ogni modulo: inviamo un messaggio JSON tramite POST al Suo URL HTTPS non appena succede qualcosa — oppure a un connettore come Zapier o Make. È possibile anche una notifica per il Suo team, direttamente su Slack o Microsoft Teams.

Eventi da ascoltare

EVENT
submission.created · submission.paid
Nuovo invio ricevuto e pagamento completato.
EVENT
submission.approved
Invio approvato in un flusso di revisione.
EVENT
ticket.checked_in · waitlist.joined
Biglietto convalidato all'ingresso, oppure un'iscrizione alla lista d'attesa.
EVENT
subscription.started · subscription.cancelled
Pagamento ricorrente avviato o disdetto.
EVENT
form.published
È stata pubblicata una nuova versione del Suo modulo.

Ogni messaggio è firmato con HMAC-SHA256, in caso di mancata consegna riproviamo automaticamente (con un ritardo crescente fino a diverse ore) e per ogni modulo può consultare un registro delle consegne. I payload esatti, tutti gli header e il codice di verifica pronto all'uso (Node.js & Python) si trovano nella documentazione interattiva.

→ Documentazione API interattiva  ·  Specifica OpenAPI (JSON)

Errori & limiti

400
Richiesta non valida — manca un campo nel body, oppure non è corretto.
401
La chiave manca, non è valida oppure è stata revocata.
403
Il Suo pacchetto non include l'accesso API (esegua l'upgrade tramite tariffe), oppure alla Sua chiave manca lo scope di scrittura richiesto per questa azione.
404
Non trovato, oppure il modulo/l'invio non appartiene al Suo account.
409
Conflitto — ad esempio un URL personalizzato già in uso.
429
Troppe richieste. Si applica un limite generoso per chiave, all'ora.

Ogni chiave vede esclusivamente i dati del proprio account. Non mostriamo mai le impostazioni del Suo modulo o i collegamenti di pagamento tramite l'API — solo le definizioni dei campi e gli invii.

Preferisce un'integrazione già pronta?

Usi i webhook, oppure inserisca il Suo modulo nel Suo sito web — nessun codice necessario.