Hesap API'si2026-11Önizleme
Webhook uç noktaları
Olayları POST ettiğimiz URL'ler. Olaylar, yükleri, imzalama ve yeniden denemeler Webhook'lar sayfasındadır.
Uç noktalar
- POST/v1/webhook_endpointsUç nokta oluştur
- GET/v1/webhook_endpointsUç noktaları listele
- GET/v1/webhook_endpoints/{id}Uç noktayı getir
- PATCH/v1/webhook_endpoints/{id}Uç noktayı güncelle
- DELETE/v1/webhook_endpoints/{id}Uç nokta sil
- POST/v1/webhook_endpoints/{id}/rotate_secretGizli anahtarı yenile
- POST/v1/webhook_endpoints/{id}/testTest olayı gönder
- GET/v1/webhook_endpoints/{id}/deliveriesTeslimatları listele
- POST/v1/webhook_endpoints/{id}/deliveries/{delivery}/retryTeslimatı yeniden gönder
Webhook endpoint nesnesi
idstring- we_ ile başlar.
urlstring- 2xx yanıtı veren, size ait bir https URL'si.
descriptionstring|null- Sizin için.
events[]array- Gönderilecek olay türleri ya da sonradan eklenecekler dahil hepsi için
*: order.created, order.paid, order.bought, order.checked, order.shipped, product.cost_changed, product.out_of_stock, qc.issue. statusstring- enabled ya da disabled (sizin tarafınızdan ya da her teslimatın başarısız olduğu beş günün ardından bizim tarafımızdan; önce size e-posta göndeririz).
api_versionstring- Olay yüklerinin yazıldığı sürüm; oluşturma anındaki anahtarınki.
secretstring- İmzalama gizli anahtarı. Yalnızca oluşturma ve yenileme yanıtlarında.
{
"id": "we_3d8s",
"url": "https://acme-goods.com/hooks/ninjabuy",
"description": "Order sync",
"events": ["order.shipped", "product.out_of_stock", "qc.issue"],
"status": "enabled",
"api_version": "2026-11",
"created_at": "2026-11-01T08:00:00Z"
}Uç nokta oluştur
POST/v1/webhook_endpoints
İmzalama gizli anahtarını bir kez döndürür: şimdi saklayın. Hesap başına en fazla 16 uç nokta.
Kapsamwebhooks:write
Gövde
urlstringzorunlu- Yalnızca https.
events[]arrayzorunlu- Olay türleri ya da ["*"].
descriptionstring- İsteğe bağlı.
Hatalar
| Durum | Tür | Ne zaman |
|---|---|---|
| 400 | bad-body | URL https değil ya da bir olay türü bilinmiyor. |
| 409 | invalid-state | Hesapta zaten 16 uç nokta var. |
curl -X POST "https://www.ninjabuy.com/api/v1/webhook_endpoints" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"url": "https://acme-goods.com/hooks/ninjabuy",
"events": ["order.shipped", "product.out_of_stock", "qc.issue"],
"description": "Order sync"
}'HTTP/2 201 Created
{
"id": "we_3d8s",
"url": "https://acme-goods.com/hooks/ninjabuy",
"description": "Order sync",
"events": ["order.shipped", "product.out_of_stock", "qc.issue"],
"status": "enabled",
"api_version": "2026-11",
"created_at": "2026-11-01T08:00:00Z",
"secret": "whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw"
}Uç noktaları listele
GET/v1/webhook_endpoints
Hesaptaki tüm uç noktalar, gizli anahtarlar olmadan.
Kapsamwebhooks:write
curl "https://www.ninjabuy.com/api/v1/webhook_endpoints" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11"HTTP/2 200 OK
{
"data": [
{
"id": "we_3d8s",
"url": "https://acme-goods.com/hooks/ninjabuy",
"description": "Order sync",
"events": ["order.shipped", "product.out_of_stock", "qc.issue"],
"status": "enabled",
"api_version": "2026-11",
"created_at": "2026-11-01T08:00:00Z"
}
],
"has_more": false,
"cursor": null
}Uç noktayı getir
GET/v1/webhook_endpoints/{id}
Tek bir uç nokta, gizli anahtarı olmadan.
Kapsamwebhooks:write
Yol parametreleri
idstringzorunlu- Uç noktanın id'si.
Hatalar
| Durum | Tür | Ne zaman |
|---|---|---|
| 404 | not-found | Bu hesapta böyle bir uç nokta yok. |
curl "https://www.ninjabuy.com/api/v1/webhook_endpoints/we_3d8s" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11"HTTP/2 200 OK
{
"id": "we_3d8s",
"url": "https://acme-goods.com/hooks/ninjabuy",
"description": "Order sync",
"events": ["order.shipped", "product.out_of_stock", "qc.issue"],
"status": "enabled",
"api_version": "2026-11",
"created_at": "2026-11-01T08:00:00Z"
}Uç noktayı güncelle
PATCH/v1/webhook_endpoints/{id}
URL'sini ya da olaylarını değiştirin veya devre dışı bırakıp etkinleştirin. Etkinleştirmek, son 3 günde kaçırdıklarını gönderir.
Kapsamwebhooks:write
Yol parametreleri
idstringzorunlu- Uç noktanın id'si.
Gövde
urlstring- Yalnızca https.
events[]array- Olay türleri ya da ["*"].
descriptionstring- İsteğe bağlı.
statusstring- İsteğe bağlı. enabled ya da disabled.
Hatalar
| Durum | Tür | Ne zaman |
|---|---|---|
| 404 | not-found | Bu hesapta böyle bir uç nokta yok. |
curl -X PATCH "https://www.ninjabuy.com/api/v1/webhook_endpoints/we_3d8s" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11" \
-H "Content-Type: application/json" \
-d '{ "events": ["*"] }'HTTP/2 200 OK
{
"id": "we_3d8s",
"url": "https://acme-goods.com/hooks/ninjabuy",
"description": "Order sync",
"events": ["*"],
"status": "enabled",
"api_version": "2026-11",
"created_at": "2026-11-01T08:00:00Z"
}Uç nokta sil
DELETE/v1/webhook_endpoints/{id}
Ona yapılan tüm teslimatları, yeniden denemeler dahil, hemen durdurur.
Kapsamwebhooks:write
Yol parametreleri
idstringzorunlu- Uç noktanın id'si.
Hatalar
| Durum | Tür | Ne zaman |
|---|---|---|
| 404 | not-found | Bu hesapta böyle bir uç nokta yok. |
curl -X DELETE "https://www.ninjabuy.com/api/v1/webhook_endpoints/we_3d8s" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11"HTTP/2 200 OK
{ "id": "we_3d8s", "deleted": true }Gizli anahtarı yenile
POST/v1/webhook_endpoints/{id}/rotate_secret
Yeni bir gizli anahtar döndürür. 24 saat boyunca ikisiyle de imzalarız; webhook-signature başlığı iki imza taşır ve ikisi de doğrular: yenisini devreye alın, eskisinin süresinin dolmasını bekleyin.
Kapsamwebhooks:write
Yol parametreleri
idstringzorunlu- Uç noktanın id'si.
Hatalar
| Durum | Tür | Ne zaman |
|---|---|---|
| 404 | not-found | Bu hesapta böyle bir uç nokta yok. |
curl -X POST "https://www.ninjabuy.com/api/v1/webhook_endpoints/we_3d8s/rotate_secret" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11" \
-H "Idempotency-Key: $(uuidgen)"HTTP/2 200 OK
{
"id": "we_3d8s",
"secret": "whsec_C2FVsBQIhrscChlQIMV+b5sSYspob7oD",
"previous_expires_at": "2026-11-05T09:30:00Z"
}Test olayı gönder
POST/v1/webhook_endpoints/{id}/test
Bir olay türünün örneğini, diğerleri gibi imzalanmış ve test: true ile gönderir. Uç noktanızın nasıl yanıt verdiğini döndürür.
Kapsamwebhooks:write
Yol parametreleri
idstringzorunlu- Uç noktanın id'si.
Gövde
typestringzorunlu- Bir olay türü.
Hatalar
| Durum | Tür | Ne zaman |
|---|---|---|
| 404 | not-found | Bu hesapta böyle bir uç nokta yok. |
curl -X POST "https://www.ninjabuy.com/api/v1/webhook_endpoints/we_3d8s/test" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{ "type": "qc.issue" }'HTTP/2 200 OK
{
"delivery": "dlv_0k2p",
"event": "evt_test_6c3h",
"response_status": 200,
"duration_ms": 182
}Teslimatları listele
GET/v1/webhook_endpoints/{id}/deliveries
Son 30 günün her denemesi, en yenisi önce: ne gönderdiğimiz, nasıl yanıt verdiğiniz ve ne zaman yeniden deneyeceğimiz.
Kapsamwebhooks:write
Yol parametreleri
idstringzorunlu- Uç noktanın id'si.
Sorgu parametreleri
statusstring- İsteğe bağlı. succeeded, retrying ya da failed.
eventstring- İsteğe bağlı. Bir olay id'si.
limit, cursor- Pagination
Hatalar
| Durum | Tür | Ne zaman |
|---|---|---|
| 404 | not-found | Bu hesapta böyle bir uç nokta yok. |
curl "https://www.ninjabuy.com/api/v1/webhook_endpoints/we_3d8s/deliveries?status=retrying" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11"HTTP/2 200 OK
{
"data": [
{
"id": "dlv_0k3a",
"event": "evt_4m2x",
"type": "order.shipped",
"status": "retrying",
"attempts": 3,
"last_response_status": 502,
"next_attempt_at": "2026-11-03T08:35:00Z"
}
],
"has_more": false,
"cursor": null
}Teslimatı yeniden gönder
POST/v1/webhook_endpoints/{id}/deliveries/{delivery}/retry
Olayı, durumu ne olursa olsun aynı webhook-id ile şimdi gönderir. Zaten planlanmış yeniden denemeler devam eder.
Kapsamwebhooks:write
Yol parametreleri
idstringzorunlu- Uç noktanın id'si.
deliverystringzorunlu- Bir teslimat id'si.
Hatalar
| Durum | Tür | Ne zaman |
|---|---|---|
| 404 | not-found | Bu hesapta böyle bir uç nokta yok. |
curl -X POST "https://www.ninjabuy.com/api/v1/webhook_endpoints/we_3d8s/deliveries/dlv_0k3a/retry" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11" \
-H "Idempotency-Key: $(uuidgen)"HTTP/2 202 Accepted
{
"delivery": "dlv_0k3a",
"status": "retrying",
"next_attempt_at": "2026-11-03T08:01:10Z"
}