VNA MMP API
    • Introduction
    • How to retrieve required IDs
    • How to retrieve API key
    • How to create a template on portal
    • How to create a Whatsapp broadcast template on portal
    • How to create a campaign on portal
    • How to configure webhook endpoint into Official account (Channel)
    • Webhook payload
    • Onboard
      • Onboard new Company and Company's Admin
        POST
      • Update company profile
        POST
      • Create a new API key
        POST
    • Channel
      • RCS
        • Create RCS Official account
        • Edit Channel RCS
        • Get Channel Rcs Status
        • Add Channel Test Number
        • Check Bulk Phones
        • Check capabilities of phone number
        • Request Verification Channel
      • ZALO
        • Check Zalo Channel Consent Status
        • Send Consent request
      • Get channel information
        GET
      • Get Channel Status
        GET
      • Broadcast Template Message
        POST
      • Send Conversation Message
        POST
      • Broadcast Message
        POST
    • Message
      • Get Message Status
        GET
    • Template
      • Create Template
        POST
      • Get Template By PublicId
        GET
      • Update Template
        POST
      • Get List Approved Template
        GET
      • Delete Template
        DELETE
    • Bulk Campaign
      • Get list bulk campaign
        GET
      • Send Bulk Campaign Broadcast
        POST
      • Send Bulk Contact Message
        POST
    • Channel Onboard
      • Generate token for onboarding Whatsapp
    • Billing CDR
      • Create billing request
      • Get billing request status
      • Download billing
    • Summary
      • Get Channel Summary
    • Partner
      • radica
        • Wecom
          • Get Wecom agent's customers
          • Sync Wecom agent's customers
          • Send messages to Wecom customers
          • Send messages to Wecom Customer Group
          • Get Wecom Message Status
    • Schemas
      • ChannelTestRequest
      • ChannelTestResponse
      • CheckPhoneCapabilitiesResponse
      • OnboardRequest
      • OnboardResponse
      • UpdateCompanyProfileRequest
      • UpdateCompanyProfileResponse
      • CreateAPIKeyRequest
      • CreateAPIKeyResponse
      • PartnerMessageType
      • MessageType
      • Status
      • TemplateStatus
      • TemplateMessage
      • BroadcastSubscriberMessage
      • BroadcastSubscriberGroupMessage
      • CreateOrEditChannelRequest
      • LaunchChannelRequest
      • LaunchChannelRequestIndonesia
      • LaunchChannelRequestIndia
      • CheckBulkPhonesRequest
      • SendMessageBroadcast
      • TextMessage
      • TextMessageWithAttachment
      • RichLink
      • ListPicker
      • QuickReply
      • FileMessage
      • SuggestionActionType
      • Suggestion
      • RichCard
      • RCSRichCard
      • ViberRichCard
      • ViberBotRichCard
      • FBWhatsappInteractiveHeaderText
      • FBWhatsappInteractiveHeaderMedia
      • FBWhatsappInteractive
      • FBWhatsappInteractiveButton
      • FBWhatsappInteractiveList
      • WhatsappFormCreateTemplateMessage
      • CreateFormTemplateMessage
      • ResponseCreateTemplateMessage
      • ResponseGetTemplate
      • ListSubscriberResponseMessage
      • BroadcastResponseMessage
      • ChannelResponse
      • ResponseMessage
      • ResponseStatusMessage
      • ResponseSummaryChannelRCS
      • BulkCampaignBroadcastRequest
      • BulkCampaignBroadcastRequestMessage
      • BulkCampaignSearchResponse
      • BulkCampaign
      • BulkCampaignStatus
      • BulkCampaignType
      • BulkCampaignBroadcastResponse
      • BulkCampaignContact
      • BulkCampaignConversationRequest
      • BulkCampaignConversationResponse
      • ChanelOnboardGenerateTokenRequest
      • ChanelOnboardGenerateTokenResponse
      • ErrorMessage
      • Application
      • PartnerEvent
      • ResponseChannelInfo
      • ResponseChannelRCSLaunchInfo
      • CheckBulkPhonesResponse
      • ResponseListApproveTemplate
      • RCSConversationParams
      • ViberBotConversationParams
      • ViberConversationParams
      • AppleConversationParams
      • WhatsappConversationParams
      • CommonGetChannelStatusResponse
      • WhatsappChannelStatusResponse
      • ChannelStatus
      • Attachment
      • AttachmentImage
      • AttachmentLink
      • AttachmentMiniProgram
      • AttachmentVideo
      • AttachmentFile
      • backgroundTask
      • ZaloRequestConsentRequest
      • ZaloCheckConsentResponse
      • ZaloRequestConsentResponse

    Webhook payload

    1. Webhook Broadcast#

    API URL: Please provide URL with POST method
    Method: POST
    ContentType: application/json

    Response#

    {
      "messageId": "7f3b46e9-704c-4125-b7e7-ff31a90c2b79",
      "cause": "READ",
      "clientMessageId": "5833f6f3-4c2d-4cb2-82b3-848e9313ff10",
      "timestamp": 174911328000,
      "type": 1,
      "status": 5,
      "publicId": "4b7e9a95-e6e5-43c7-9c0c-f7d0ed37262b",
      "applicationId": 1
    }
    NameTypeDescription
    messageIdStringmessageId is the id of the message used to check the status message history
    causeStringcause is the status of the message message
    1. READ
    2. DELIVERED
    3. FAIL
    4. SEND
    clientMessageIdStringA unique ID requested by the client and generated by our system to identify the message-sending request
    timestampNumbertimestamp is the time the system status is received
    typeNumber1. Broadcast
    2. Conversation
    statusNumberFollow section III
    1. PENDING
    2. SENT
    3. FAIL
    4. DELIVERED
    5. READ
    publicIdStringpublicId is the id of the message used to check the status.
    applicationIdNumber- 1: viber
    - 10: viber bot

    2. Webhook Conversation#

    API URL: Please provide URL with POST method
    Method: POST
    Content-Type: application/json

    Response#

    {
      "from": "3d2ed575-f552-4b5d-8888-c33cb62f9f9c",
      "contact": {
        "avatarUrl": "",
        "name": "Hà Phước Hòa",
        "language": "en",
        "country": "VN",
        "address": null,
        "phone": ""
      },
      "messageId": "f543ae0c-e802-413c-862d-f1dad79ec562",
      "message": {
        "type": "text",
        "message": "hoha",
        "extra": {
          "text": "hoha",
          "type": "text"
        }
      },
      "timestamp": 1749539924549,
      "type": 2,
      "channelId": "917df4d0-7eb7-11ee-b9de-1727a5a284e5",
      "publicId": "917df4d0-7eb7-11ee-b9de-1727a5a284e5",
      "applicationId": 10
    }

    Response Fields#

    NameTypeDescription
    fromStringpublic conversation
    contactObjectContact person information
    messageIdStringMessageId is the id of the message used to check the status or message history
    messageObjectDetailed information about message content
    timestampNumbertimestamp is the time the system status is received
    typeNumber1. EVENT
    2. MESSAGE
    3. TEMPLATE
    4. CHANNEL
    channelIdStringID of the channel through which the message was sent
    publicIdStringpublicId is the id of the message used to check the status
    applicationIdNumber1: viber
    10: viber bot
    Modified at 2026-03-10 14:33:01
    Previous
    How to configure webhook endpoint into Official account (Channel)
    Next
    Onboard
    Built with