Accueil · Connexion · Créer un compte gratuit
API et aide
Catégories
Pour commencer
Référence technique
Comment ça marche
- Créez un formulaire (titre, questions, modèle) : il est enregistré dans votre bibliothèque et téléchargeable en PDF remplissable.
- Envoyez-le à un client : il reçoit un lien pour le remplir en ligne ou télécharger le PDF.
- Les réponses arrivent dans « Réponses » (export CSV), par courriel et par webhook.
Types de questions : text (Texte court), long (Texte long), email (Courriel), tel (Téléphone), number (Nombre), date (Date), radio (Choix unique), check (Choix multiples), select (Liste déroulante), yesno (Oui / Non), sign (Signature). Les types radio, check et select exigent options (2 à 12). Modèles : classique, moderne, minimal, elegant, corporate.
API REST
Base : https://formix.exodecanada.com/api.php?r=… · En-tête Authorization: Bearer fm_… (clé créée dans Paramètres) · JSON UTF-8 · 600 requêtes / 15 min.
| Appel | Rôle |
|---|---|
GET r=templates | Modèles (avec aperçu SVG) et types de questions. |
GET r=usage | Forfait, usage du mois, upgrade_url pour passer à Pro. |
GET/POST r=models | Bibliothèque de formulaires PDF à remplir : liste, ou ajout (name, pdf_base64 — PDF à champs remplissables, 15 Mo max). Réponse 402 quota_exceeded si la limite du forfait est atteinte. |
GET/POST/DELETE r=model&id= | Lire un modèle (avec ses champs), enregistrer ses liens (form_id, map : champ PDF → a:<question>, x:nom, x:email, x:date, x:cabinet, x:pro) ou le supprimer. |
POST r=fill | model_id, send_id (réponse remplie), context facultatif (x:cabinet, x:pro) : renvoie le PDF rempli (pdf_base64, ou PDF brut avec &raw=1). Compte dans les remplissages du mois. |
GET / POST r=forms | Lister / créer. Corps : title, descr, template, questions[]. Réponse 402 quota_exceeded si la limite du forfait est atteinte. |
GET / POST / DELETE r=form&id= | Lire / modifier (champs partiels) / supprimer. |
GET r=pdf&id= · POST r=pdf | PDF remplissable d’un formulaire enregistré, ou d’une définition à la volée (compte comme un formulaire généré). Réponse JSON pdf_base64 ; ajoutez &raw=1 pour le binaire. |
POST r=send | form_id, to_name, to_email, ref (votre identifiant), send_email (défaut true). Retourne le lien de remplissage. |
GET r=sends · GET r=send&id= | Envois (filtres form_id, ref, status=completed|sent) / un envoi avec ses réponses. |
GET / POST r=hooks, DELETE r=hook&id=, POST r=hook_test&id= | Webhooks sortants. |
curl -X POST 'https://formix.exodecanada.com/api.php?r=forms' \
-H 'Authorization: Bearer fm_…' -H 'Content-Type: application/json' \
-d '{"title":"Évaluation initiale","template":"moderne","questions":[
{"label":"Nom complet","type":"text","required":true},
{"label":"Situation","type":"radio","options":["Étudiant","Travailleur"]}]}'Webhooks
Événement form.completed : {"id","event","created","data":{"form":{…},"send":{…},"answers":[{"label","type","value"}]}}. En-têtes X-Formix-Event, X-Formix-Delivery et X-Formix-Signature: t=<horodatage>,v1=<HMAC-SHA256 de "t.corps" avec le secret du webhook>. En cas d’échec : nouvel essai après 1 min, 5 min, 30 min, 2 h puis 12 h (tâche cron.php).
$ok = hash_equals(hash_hmac('sha256', $t . '.' . file_get_contents('php://input'), $secret), $v1);