> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beem.africa/llms.txt
> Use this file to discover all available pages before exploring further.

# Receive a message

> Webhook your application must implement. Beem POSTs inbound user messages to the callback_url supplied in the send session message request. Replace the server URL with your own HTTPS endpoint.



## OpenAPI

````yaml /openapi/moja.json post /callback
openapi: 3.0.3
info:
  title: Beem MOJA API
  version: 1.0.0
  description: >-
    Merged MOJA API reference covering the Chat API (chatbot-core), WhatsApp
    template broadcast API (bm-broadcast), and the customer-hosted message
    callback webhook.
  contact:
    name: Beem
    url: https://beem.africa
    email: support@beem.africa
servers:
  - url: https://apichatcore.beem.africa
    description: Default — Chat API (chatcore)
security: []
tags: []
paths:
  /callback:
    post:
      summary: Receive a message
      description: >-
        Webhook your application must implement. Beem POSTs inbound user
        messages to the callback_url supplied in the send session message
        request. Replace the server URL with your own HTTPS endpoint.
      operationId: receiveMessageCallback
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                from:
                  description: Sender address (the user who replied).
                  type: string
                to:
                  description: Your MOJA channel number that received the message.
                  type: string
                channel:
                  description: 'Channel type: whatsapp, facebook, sms, or instagram.'
                  type: string
                transaction_id:
                  description: >-
                    Client reference ID if provided when sending the original
                    message.
                  type: string
                message_type:
                  description: Type of inbound message received.
                  enum:
                    - text
                    - image
                    - location
                    - document
                    - video
                    - audio
                    - contact
                    - quick_reply
                    - list
                user_name:
                  description: Display name of the user who sent the message.
                  type: string
                text:
                  description: Text body when message_type is text.
                  type: string
                image:
                  description: Image payload when message_type is image.
                  type: object
                  properties: {}
                video:
                  description: Video payload when message_type is video.
                  type: object
                  properties: {}
                document:
                  description: Document payload when message_type is document.
                  type: object
                  properties: {}
                location:
                  description: Location coordinates when message_type is location.
                  type: object
                  properties: {}
                audio:
                  description: Audio payload when message_type is audio.
                  type: object
                  properties: {}
                contacts:
                  description: Shared contact cards when message_type is contact.
                  type: array
                  items:
                    type: object
                    properties: {}
              additionalProperties: false
            examples:
              textReply:
                summary: Text reply
                value:
                  from: '255701000001'
                  to: '255701000000'
                  channel: whatsapp
                  user_name: James
                  transaction_id: '12345'
                  message_type: text
                  text: Yes, I would like more info
      responses:
        default:
          description: Successful response
      servers:
        - url: https://example.com
          description: Your callback server — replace with your URL

````