Dokumentation ›
Eingehender Webhook › Eingehender Webhook (Integrationen)
POST
Eingehender Webhook (Integrationen)
POSThttps://app.sendapp.ai/api/integrations/webhook/{token}
Empfangen Sie Kontakte von externen Plattformen (Shopify, WooCommerce, HubSpot, Klaviyo, Pipedrive und anderen). Bei jedem Ereignis extrahieren wir den Kontakt (Name / Telefon / E-Mail), erstellen oder aktualisieren ihn in SendApp und versehen ihn mit einem Tag der Herkunftsplattform (z. B.
shopify). Es wird keine Nachricht gesendet: Erreichen Sie diese Kontakte anschließend mit einer Kampagne (per Tag) oder über die API. Der Payload kann beliebiges JSON sein: Wir suchen rekursiv in beliebiger Tiefe nach den Schlüsseln für Telefon, E-Mail und Name. Typische Antwort:
{ "status": "ok", "contact": { "id": 12345 } }.Wenn wir weder Telefon noch E-Mail finden, antworten wir mit
200 und status: ignored, damit die Herkunftsplattform den Webhook aktiv hält.Parameter
token
erforderlich
Konto-Token, im URL-Pfad. Bestimmt, welches Konto die Kontakte erhält.
source
optional
Query-String, z. B.
?source=shopify. Wird als Kontakt-Tag verwendet; fehlt er, wird der User-Agent verwendet. Anfrage
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());Antwort (200 OK)
{
"status": "ok",
"contact": {
"id": 4023
}
}Fehler
{
"status": "error",
"message": "Unknown webhook token"
}