API
Se connecter
Documentation › Webhook entrant › Webhook entrant (Intégrations)
POST

Webhook entrant (Intégrations)

POSThttps://app.sendapp.ai/api/integrations/webhook/{token}
Recevez des contacts depuis des plateformes externes (Shopify, WooCommerce, HubSpot, Klaviyo, Pipedrive et autres). À chaque événement, nous extrayons le contact (nom / téléphone / e-mail), le créons ou le mettons à jour dans SendApp et le taguons avec la plateforme d'origine (ex. shopify). Aucun message n'est envoyé : atteignez ensuite ces contacts avec une Campagne (par tag) ou via l'API.
Le payload peut être n'importe quel JSON : nous recherchons récursivement les clés de téléphone, e-mail et nom à n'importe quelle profondeur. Réponse typique : { "status": "ok", "contact": { "id": 12345 } }.
Si nous ne trouvons ni téléphone ni e-mail, nous répondons 200 avec status: ignored, afin que la plateforme d'origine garde le webhook actif.
Paramètres
token obligatoire
Token du compte, dans le chemin de l'URL. Détermine quel compte reçoit les contacts.
source facultatif
Chaîne de requête, ex. ?source=shopify. Utilisée comme tag du contact ; à défaut, le User-Agent est utilisé.
Requête
curl -X POST 'https://app.sendapp.ai/api/integrations/webhook/YOUR_ACCOUNT_TOKEN?source=shopify' \
  -H 'Content-Type: application/json' \
  -d '{
    "email": "jon@example.com",
    "customer": {
      "first_name": "Jon",
      "last_name": "Snow",
      "phone": "+391234567890"
    }
  }'
<?php
$ch = curl_init('https://app.sendapp.ai/api/integrations/webhook/YOUR_ACCOUNT_TOKEN?source=shopify');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
    CURLOPT_POSTFIELDS => json_encode([
        'email'    => 'jon@example.com',
        'customer' => ['first_name' => 'Jon', 'last_name' => 'Snow', 'phone' => '+391234567890'],
    ]),
]);
echo curl_exec($ch);
curl_close($ch);
const res = await fetch('https://app.sendapp.ai/api/integrations/webhook/YOUR_ACCOUNT_TOKEN?source=shopify', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    email: 'jon@example.com',
    customer: { first_name: 'Jon', last_name: 'Snow', phone: '+391234567890' }
  })
});
console.log(await res.json());
Réponse (200 OK)
{
  "status": "ok",
  "contact": {
    "id": 4023
  }
}
Erreur
{
  "status": "error",
  "message": "Unknown webhook token"
}