Skip to content

การส่ง Webhook ​

หน้านี้คือฝั่ง ขาออก ของ webhook คือสิ่งที่ MessageEagle พยายามส่งให้คุณ และ endpoint ของคุณตอบกลับมาว่าอย่างไร ส่วนการรับและตอบรับรายงานการนำส่ง ดูที่ Webhook และรายงานการนำส่ง

การทำงานRoute
ประวัติการส่งGET /organization/{organizationId}/webhook-deliveries
ส่งซ้ำPOST /organization/{organizationId}/webhook-deliveries/{deliveryId}/replay
ทดสอบ endpointPOST /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_idendpoint ที่ตั้งค่าไว้
event_idevent รายการเดียว
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"})