Eventyvo Connect

Webhook payload examples

Example JSON envelopes for Eventyvo Connect webhooks — verify HMAC on the raw body.

Envelope

Typical POST body (fields may grow; treat unknown keys as forward-compatible):

{
  "id": "evt_01HXYZ...",
  "event": "FORM_SUBMISSION",
  "createdAt": "2026-08-08T18:00:00.000Z",
  "companyId": 42,
  "data": {}
}

Headers (see Overview):

  • X-Eventyvo-Event — same as event when present
  • X-Eventyvo-Timestamp — Unix seconds
  • X-Eventyvo-Signature — HMAC hex (optionally prefixed sha256=)

Always verify using the raw body string, then parse JSON.

FORM_SUBMISSION

{
  "id": "evt_fs_001",
  "event": "FORM_SUBMISSION",
  "createdAt": "2026-08-08T18:01:00.000Z",
  "companyId": 42,
  "data": {
    "eventId": "b3d6d997-50c1-48d1-9501-90c3b3e84814",
    "eventSlug": "my-event",
    "submissionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "formId": "f0f0f0f0-1111-2222-3333-444444444444",
    "email": "attendee@example.com",
    "status": "PENDING",
    "submittedAt": "2026-08-08T18:01:00.000Z"
  }
}

FORM_SUBMISSION_APPROVED

{
  "id": "evt_fsa_001",
  "event": "FORM_SUBMISSION_APPROVED",
  "createdAt": "2026-08-08T18:05:00.000Z",
  "companyId": 42,
  "data": {
    "eventId": "b3d6d997-50c1-48d1-9501-90c3b3e84814",
    "submissionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "email": "attendee@example.com",
    "status": "APPROVED",
    "approvedAt": "2026-08-08T18:05:00.000Z"
  }
}

PAYMENT_SUCCESS

{
  "id": "evt_pay_001",
  "event": "PAYMENT_SUCCESS",
  "createdAt": "2026-08-08T18:10:00.000Z",
  "companyId": 42,
  "data": {
    "eventId": "b3d6d997-50c1-48d1-9501-90c3b3e84814",
    "submissionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "orderId": "ord_987",
    "amount": 2500.0,
    "currency": "DZD",
    "provider": "SATIM"
  }
}

ATTENDANT_CHECKED_IN

{
  "id": "evt_ci_001",
  "event": "ATTENDANT_CHECKED_IN",
  "createdAt": "2026-08-09T09:00:00.000Z",
  "companyId": 42,
  "data": {
    "eventId": "b3d6d997-50c1-48d1-9501-90c3b3e84814",
    "submissionId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "email": "attendee@example.com",
    "checkedInAt": "2026-08-09T09:00:00.000Z",
    "source": "QR"
  }
}

SUBSCRIPTION_CREATED

{
  "id": "evt_sub_001",
  "event": "SUBSCRIPTION_CREATED",
  "createdAt": "2026-08-08T12:00:00.000Z",
  "companyId": 42,
  "data": {
    "subscriptionId": "sub_123",
    "apiKeyIssued": true,
    "billingInterval": "MONTHLY"
  }
}

The raw Connect API key is never included. Retrieve it once from the developer portal.

Implementation tips

  1. Idempotent handlers keyed by id
  2. Return 2xx quickly; process async
  3. See Verification and Retries