Hatif
    • Account API
      • Service Login
        POST
    • Channels API
      • Get Channels
        GET
    • Whatsapp API
      • Send Text
        POST
      • Send Template
        POST
    • Contact
      • Set Property Value on Contact
        PUT
      • Search Contacts [Complex]
        POST
      • Delete Property Value on Contact
        DELETE
      • Create Contact
        POST
      • Update Contact
        PUT
      • Get Contacts
        GET
      • Get Contact By Id
        GET
      • Delete Contact
        DELETE
      • Create Bulk Contacts vCards
        POST
      • Create Contact
        POST
      • Get Contacts Search
        POST
      • Contacts History
        GET
    • Contact Properties
      • List Contact Properties
        GET
      • Delete Contact Property
        DELETE
      • Update Contact Property
        PUT
      • Create Contact Property
        POST
      • Contact Properties Statistics
        GET
    • Support API
      • Upload Audio File
        POST
    • Outbound IVR API
      • Create Outbound IVR
        POST
    • Workspace API
      • Get Workspace Users
    • Conversations API
      • Get Conversation Timeline
      • List Conversations
      • Create Conversation
      • Assign Conversation
      • Get Conversation
    • Tags API
      • Create Tag
      • Delete Tag
      • Update Tag
      • List Tags
    • Call Webhook
    • WhatsApp Message Webhook
    • Schemas
      • Call Webhook
      • WhatsApp Message Webhook
      • ConversationDto
      • CreateTagDto
      • ChannelConversationDto
      • UpdateTagDto
      • TagDto
      • ConversationTimelineDto
      • PagedResultOfTagDto
      • AiSummaryDto
      • ReplyInfoDto
      • InternalThreadDto
      • LocationMessageDto
      • AssignationInfoDto
      • PagedResultOfConversationDto
      • PagedResultOfConversationTimelineDto

      WhatsApp Message Webhook

      Webhook
      POST
      WhatsApp Message Webhook

      Configuration#

      Contact Hatif team to configure the webhook.

      Authentication#

      If a webhookSecret is configured on the channel, all webhook requests include an X-Voxa-Signature header containing an HMAC-SHA256 signature of the raw JSON request body.

      Verifying the Signature#

      1.
      Get the raw request body as a UTF-8 string.
      2.
      Compute the HMAC-SHA256 hash using your channel's webhookSecret as the key.
      3.
      Convert the hash to a lowercase hexadecimal string.
      4.
      Compare the computed signature with the X-Voxa-Signature header value.

      Retry Policy#

      Failed deliveries are retried up to 5 times with exponential backoff: 2, 4, 8, 16, 32 minutes.

      Request

      Body Params application/jsonRequired

      Examples

      Responses

      🟢200Success
      application/json
      Bodyapplication/json

      Request Request Example
      Shell
      JavaScript
      Java
      Swift
      curl --location 'https://your-api-server.com' \
      --header 'Content-Type: application/json' \
      --data '{
          "workspaceId": "ef0efa32-d1c1-43d4-a5e2-fe7b4f00403c",
          "channelId": "5f6d08bc-455a-4532-98b8-19e2cee51160",
          "conversationId": "ee6e55e8-45fe-4a3e-9bc8-4669f9fdf77a",
          "contactId": "b5ec5d98-4bee-4da1-ad24-dde86346cb1d",
          "messageId": "string",
          "direction": "Inbound",
          "messageType": "Text",
          "body": "string",
          "mediaUrl": "string",
          "mimeType": "string",
          "status": "Sent",
          "senderUserId": "2b0414b9-b88f-4722-84b0-333eb47e9180",
          "latitude": 0,
          "longitude": 0,
          "creationTime": "2019-08-24T14:15:22.123Z",
          "isBillable": true,
          "errorCode": 0,
          "errorReason": "string"
      }'
      Response Response Example
      {}
      Modified at 2026-02-12 15:52:17
      Previous
      Call Webhook
      Next
      Call Webhook
      Built with