Geliştiriciler
Webhook’lar
Konuşmada bir şey olduğunda kendi sistemlerinize haber verin.
Webhook'lar iş akışlarında bir işlemdir. İş akışı çalıştığında Shopxare adresinize JSON içeren bir POST isteği gönderir.
İçerik
{
"event": "conversation_closed",
"workflow": { "id": "…", "name": "CRM'e bildir" },
"conversation": {
"id": "…", "status": "closed", "channel": "widget", "priority": "normal",
"assignee_id": 3, "team_id": null, "tags": ["vip"],
"last_message": "Teşekkürler!", "url": "https://app.shopxare.com/w/…/inbox/…"
},
"contact": { "id": "…", "name": "Ada", "email": "[email protected]", "type": "user", "attributes": {} },
"sent_at": "2026-10-08T12:00:00+00:00"
}
event, iş akışının tetikleyicisidir: conversation_started, customer_replied, teammate_replied, conversation_closed, tag_added, unanswered_for veya customer_idle_for. X-Shopxare-Event başlığı da aynı değeri taşır.
İmzayı kontrol edin
Her istekte şöyle bir başlık vardır:
X-Shopxare-Signature: t=1760000000,v1=5f2b…
v1, iş akışının imza anahtarıyla (iş akışı düzenleyicisinde görünür) "<t>.<ham gövde>" üzerinden hesaplanan HMAC-SHA256 değeridir. Kendiniz hesaplayıp karşılaştırın; eski zaman damgalarını reddedin.
[$t, $v1] = sscanf($header, 't=%d,v1=%s');
$ok = hash_equals(hash_hmac('sha256', $t.'.'.$rawBody, $secret), $v1) && abs(time() - $t) < 300;
Gönderim
- Adres herkese açık olmalıdır; özel ve yerel ağlar reddedilir.
- Zaman aşımı 5 saniye, yönlendirme izlenmez.
- En fazla 3 deneme; önce 30, sonra 120 saniye beklenir.
- Herhangi bir
2xxdurum koduyla cevap verin.
Hâlâ takıldınız mı? İletişim