Metfone MMP API
    • Introduction
    • Broadcast a Message Flow
    • How to retrieve required IDs
    • Webhook payload
    • Channel
      • Broadcast Message
        POST
    • Message
      • Get Message Status
        GET
    • 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:34:20
    Previous
    How to retrieve required IDs
    Next
    Broadcast Message
    Built with