API de réception
Envoyez les champs par JSON et traitez les réponses data/error.
Point de réception public
POST /api/submit accepte application/json avec form_key et fields, ou application/x-www-form-urlencoded avec _fq_key. Le point POST /api/submit/:key permet de préciser la clé dans le chemin. OPTIONS est disponible pour les pré-vérifications du navigateur.
Exemple de requête JSON
Utilisez une nouvelle clé d’idempotence pour un nouveau contenu. Pour reprendre la même tentative après une coupure, réutilisez sa clé. Le corps JSON est limité à 256 Kio ; les fichiers suivent un transfert séparé.
curl "https://formeo.me/api/submit" \
-X POST \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: tentative-exemple-001' \
--data '{"form_key":"YOUR_ACCESS_KEY","fields":{"name":"Camille","email":"camille@example.test","message":"Bonjour !"}}'Réponse acceptée
Le statut 202 confirme la réception enregistrée. Les identifiants et la redirection dépendent du résultat réel. La notification et les connexions possèdent leurs propres états ; une réponse acceptée ne garantit pas la livraison e-mail.
{
"data": {
"submission_id": "identifiant-de-la-demande",
"receipt_id": "identifiant-du-recu",
"redirect": null
},
"error": null,
"request_id": "identifiant-de-la-requete"
}Traiter les erreurs HTTP
Testez response.ok avant de vider le formulaire. Une erreur utilise error.code, error.message et éventuellement error.fields ; request_id permet de retrouver le contexte d’une tentative. N’affichez pas une réussite si le réseau ne permet pas de connaître le résultat.