Idlen Logo
API annonceurs

API conversions

Enregistrer une conversion depuis votre serveur avec une clé API annonceur

API conversions

Utilisez cet endpoint quand la conversion a lieu sur votre serveur. L'autre chemin est le pixel navigateur : Suivi des conversions enregistre PageView et Conversion dans la page, conserve le clic 30 jours, et peut envoyer le même event_id.

Les deux chemins appellent la même ingestion. Envoyez le même event_id depuis le pixel et depuis le serveur pour ne stocker qu'une ligne par commande.

Endpoint

POST https://tyfrhxfejrawgdlhryfu.supabase.co/functions/v1/conversions-api

La clé doit avoir le droit conversions. read et write n'autorisent pas cet appel. Cet endpoint n'utilise pas les 120 requêtes par minute de l'API annonceurs.

curl -X POST 'https://tyfrhxfejrawgdlhryfu.supabase.co/functions/v1/conversions-api' \
  -H 'Authorization: Bearer idl_adv_xxx' \
  -H 'Content-Type: application/json' \
  -d '{
    "event_name": "Purchase",
    "value": 49.00,
    "currency": "EUR",
    "click_id": "CAMPAIGN_OR_CLICK_UUID",
    "clicked_at": "2026-11-01T12:00:00Z",
    "ad_id": "AD_UUID",
    "email_sha256": "SHA256_OF_NORMALIZED_EMAIL",
    "event_id": "order-1001",
    "timestamp": "2026-11-04T08:00:00Z"
  }'

Authorization: Bearer et x-api-key fonctionnent tous les deux. L'organisation est celle de la clé.

Le snake case et le camel case sont acceptés : event_name ou eventName, click_id ou clickId, ad_id ou adId, event_id ou eventId, email_sha256 ou emailSha256, clicked_at ou clickedAt. timestamp ou event_time fixe l'heure de l'événement.

Corps

ChampObligatoireRègle
event_nameOuiNon vide. L'appel serveur est strict
valueNonNombre. Une valeur non numérique renvoie 400
currencyNonTrois lettres, stockées en majuscules
click_idNonUUID. Soit clicks.id, soit idlen_cid du pixel (l'id de campagne)
clicked_atNonDate du clic. Utilisée quand click_id est un id de campagne
ad_idNonUUID d'une annonce de cette organisation
email_sha256NonSHA-256 hexadécimal minuscule de l'e-mail normalisé, 64 caractères
event_idNon1 à 128 caractères, [A-Za-z0-9_.:-]. Déduplique avec le pixel
timestampNonHeure de l'événement. Une heure à plus de 5 minutes dans le futur est stockée comme maintenant

event_name est obligatoire. email_sha256 doit être un SHA-256 hexadécimal en minuscules. event_id doit respecter le motif ci-dessus. Une devise invalide renvoie 400. Ces contrôles sont stricts sur cet endpoint.

Attribution

click_id est rapproché d'un clic de cette organisation, ou d'un id de campagne de cette organisation. Un clic connu de plus de 30 jours est ignoré, la même fenêtre que le cookie du pixel. Un événement serveur sans heure de clic est stocké et non attribué.

La réponse :

{
  "success": true,
  "id": "EVENT_UUID",
  "deduplicated": false,
  "attributed": true
}

deduplicated vaut true quand cet event_id est déjà stocké pour l'organisation. id est la ligne stockée, ou null.

Erreurs

Cet endpoint n'utilise pas l'objet d'erreur de l'API annonceurs. Les échecs sont { "error": "message" }.

Statuterror
400Invalid JSON body, value must be a number, event_name is required, Invalid event_id, email_sha256 must be a lowercase hex SHA-256, Invalid currency
401Missing API key, Invalid API key, ou Auth failed
405Method not allowed (POST seulement)
500Server configuration error, ou l'erreur d'ingestion quand ce n'est pas une erreur client
503Conversions API is not deployed yet

Seul POST est accepté. OPTIONS renvoie 200 pour le preflight navigateur.

Créez la clé dans Ads Manager sous Paramètres → Clés API, avec le droit conversions. La même clé peut aussi avoir read et write si vous appelez l'API annonceurs et le serveur MCP.

Copyright © 2026