การส่ง Webhook
หน้านี้คือฝั่ง ขาออก ของ webhook คือสิ่งที่ MessageEagle พยายามส่งให้คุณ และ endpoint ของคุณตอบกลับมาว่าอย่างไร ส่วนการรับและตอบรับรายงานการนำส่ง ดูที่ Webhook และรายงานการนำส่ง
| การทำงาน | Route |
|---|---|
| ประวัติการส่ง | GET /organization/{organizationId}/webhook-deliveries |
| ส่งซ้ำ | POST /organization/{organizationId}/webhook-deliveries/{deliveryId}/replay |
| ทดสอบ endpoint | POST /webhook-test |
{organizationId} คือค่าเดียวกับที่ส่งใน X-TenantID
ประวัติการส่ง
bash
curl "$ME_BASE/organization/$ME_TENANT/webhook-deliveries?status=failed&limit=50" \
-H "API-Key: $ME_API_KEY" \
-H "X-TenantID: $ME_TENANT"| Query | กรองตาม |
|---|---|
endpoint_id | endpoint ที่ตั้งค่าไว้ |
event_id | event รายการเดียว |
status | ผลการส่ง |
q | ข้อความอิสระ |
limit, offset | การแบ่งหน้า |
ส่งซ้ำ
ส่งรายการที่ endpoint ของคุณพลาดไปอีกครั้ง เหมาะกับตอนที่เพิ่งแก้บั๊กที่ทำให้ตอบ 5xx
bash
curl -X POST "$ME_BASE/organization/$ME_TENANT/webhook-deliveries/$DELIVERY_ID/replay" \
-H "API-Key: $ME_API_KEY" \
-H "X-TenantID: $ME_TENANT"ทดสอบ endpoint
ยิงคำขอครั้งเดียวไปที่ URL เพื่อดูว่าตอบกลับอย่างไร ก่อนจะต่อ event จริงเข้าไป
bash
curl -X POST "$ME_BASE/webhook-test" \
-H "API-Key: $ME_API_KEY" \
-H "X-TenantID: $ME_TENANT" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/hooks/me",
"method": "POST",
"headers": [{ "key": "X-Secret", "value": "s3cr3t" }],
"body": { "ping": true }
}'json
{
"success": true,
"status": 200,
"statusText": "OK",
"headers": { "content-type": "application/json" },
"data": { "ok": true }
}success ไม่ได้แปลว่า 2xx
success บอกว่าคำขอส่งสำเร็จ ไม่ได้บอกว่า endpoint ของคุณรับไว้ ให้ตรวจค่า status ด้วย
Method ที่ใช้ได้: GET, POST, PUT, PATCH, DELETE, HEAD
Go SDK
go
history, err := c.Webhooks.ListDeliveries(ctx, &sdk.ListDeliveriesOptions{Status: "failed"})
_, err = c.Webhooks.Replay(ctx, deliveryID)
res, err := c.Webhooks.Test(ctx, &sdk.WebhookTestRequest{URL: url, Method: "POST"})