API publique du widget

Ces routes utilisent la clé publique du workspace et l'en-tête Origin. Elles ne nécessitent jamais de clé serveur.

Créer un appel

POST /widget/call-requests · idempotent · réponse 202

JAVASCRIPT
const response = await fetch('https://api.click2call.app/v1/widget/call-requests', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Idempotency-Key': crypto.randomUUID(),
  },
  body: JSON.stringify({
    workspace_key: 'c2c_pub_VOTRE_CLE',
    phone: '+33612345678',
    name: 'Camille',
    consent: true,
    page_url: location.href,
  }),
});
const call = (await response.json()).data;

La réponse contient seulement id, status et poll_after_ms.

Suivre le statut

GET /widget/call-requests/{id}/status

Respectez poll_after_ms, arrêtez le polling sur un statut terminal et lorsque le composant quitte la page.

Déposer une demande de rappel

POST /widget/callback-leads · idempotent · réponse 201

BASH
curl -X POST https://api.click2call.app/v1/widget/callback-leads \
  -H "Origin: https://www.exemple.fr" \
  -H "Idempotency-Key: callback-form-4587" \
  -H "Content-Type: application/json" \
  -d '{"workspace_key":"c2c_pub_VOTRE_CLE","phone":"+33612345678","name":"Camille","consent":true,"page_url":"https://www.exemple.fr/contact"}'

Une demande de rappel notifie l'équipe, mais ne programme aucun appel automatique.

CORS

Une origine autorisée reçoit Access-Control-Allow-Origin avec sa valeur exacte et Vary: Origin. Les jokers et origines avec chemin ne sont pas acceptés.