Webhook

Message received

​

Fires when you receive a chat message (from the other party, or from CardNexus support). Metadata only — no message text; fetch the conversation to read it. data.context is a discriminated union keyed on type; today it is always order, and new conversation types are added there without breaking your integration.

Body

required
application/json
  • Who sent the message and which conversation it belongs to.

    Properties: 6
  • Idempotency key. Stable across retries of the same delivery; safe to dedupe on.

  • When this webhook was emitted (ISO 8601, UTC).

Responses

  • Acknowledged. Return any 2XX status to ack receipt; non-2XX triggers Svix's retry schedule.

Request Example for postmessage.received
{
  "type": "message.received",
  "eventId": "e5f0a1b2c3d4e5f6a7b8c9d0",
  "timestamp": "2026-06-14T10:00:03.000Z",
  "data": {
    "threadId": "b3JkZXI6T1ItQVNOQkMtMTptYWlu",
    "messageId": "e5f0a1b2c3d4e5f6a7b8c9d0",
    "context": {
      "type": "order",
      "orderNumber": "OR-ASNBC-1",
      "scope": "main",
      "yourRole": "seller"
    },
    "sender": {
      "username": "north_arena_tcg"
    },
    "sentAt": "2026-06-14T10:00:00.000Z",
    "hasAttachments": false
  }
}
No Body