Heybot

Estructura general del mensaje saliente

https://api.heybot.cloud/v1/messages

Estructura general

curl https://api.heybot.cloud/v1/messages \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{ payload }'
        
Peticion de ejemplo

curl https://api.heybot.cloud/v1/messages \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer {token}" \
    -d '{
            "toPhoneNumber": "521XXXXXXXXXX",
            "type": "text",
            "payload": {
                "body": "demo",
                "linkPreview": false
            }
        }'
            

Text Messages

https://api.heybot.cloud/v1/messages

Payload

{
    "toPhoneNumber": "521XXXXXXXXXX",
    "type": "text",
    "payload": {
        "body": "demo",
        "linkPreview": false
    }
}
            

Image Messages

https://api.heybot.cloud/v1/messages

Payload

{
    "toPhoneNumber": "521XXXXXXXXXX",
    "type": "image",
    "payload": {
        "url": "https://s3-amazon.com/mi-imagen.png",
        "body": "Este mensaje es opcional"
    }
}
            

Document Messages

https://api.heybot.cloud/v1/messages

Payload

{
    "toPhoneNumber": "521XXXXXXXXXX",
    "type": "document",
    "payload": {
        "url": "https://example.com/document.pdf",
        "filename": "document.pdf"
    }
}
            

Audio Messages

https://api.heybot.cloud/v1/messages

Payload

{
    "toPhoneNumber": "521XXXXXXXXXX",
    "type": "audio",
    "payload": {
        "url": "https://example.com/audio.mp3"
    }
}
            

Sticker Messages

https://api.heybot.cloud/v1/messages

Payload

 {
    "toPhoneNumber": "521XXXXXXXXXX",
    "type": "sticker",
    "payload": {
        "url": "https://example.com/sticker.webp"
   }
}
            

Interactive List Messages

https://api.heybot.cloud/v1/messages

Payload

{
    "toPhoneNumber": "521XXXXXXXXXX",
    "type": "interactiveList",
    "payload": {
        "header": "Encabezado opcional",
        "body": "Este es el cuerpo del mensaje con longitud fija de 4096 caracteres...",
        "footer": "Este es un pie de mensaje opcional",
        "button": "Ver opciones",
        "sections": [
            {
                "title": "Sección 1",
                "rows": [
                    {
                        "id": "opcion_1",
                        "title": "Opción 1",
                        "description": "Descripción de la opción 1"
                    },
                    {
                        "id": "opcion_2",
                        "title": "Opción 2",
                        "description": "Descripción de la opción 2"
                    }
                ]
            }
        ]
    }
}
            

Interactive list messages allow you to present WhatsApp users with a list of options to choose from (options are defined as rows in the request payload)

When a user taps the button in the message, it displays a modal that lists the options available:

Interactive Reply Buttons Messages

https://api.heybot.cloud/v1/messages

Payload

{
    "toPhoneNumber": "521XXXXXXXXXX",
    "type": "interactiveReplyButtons",
    "payload": {
        "body": "Hi! Your gardening workshop is scheduled for 9am tomorrow. Use the buttons if you need to reschedule. Thank you!",
        "footer": "Lucky Shrub: Your gateway to succulents!™",
        "buttons": [
            {"id":"change-button", "buttonText": "Change"},
            {"id":"cancel-button", "buttonText": "Cancel"}
        ]
    }
}
            

Also you can add multimedia on interactive reply buttons messages: document, image or video

Payload

{
    "toPhoneNumber": "521XXXXXXXXXX",
    "type": "interactiveReplyButtons",
    "payload": {
        "header": {
            "type": "image",
            "text": "https://my-website/image.png"
        },
        "body": "Hi! Your gardening workshop is scheduled for 9am tomorrow. Use the buttons if you need to reschedule. Thank you!",
        "footer": "Lucky Shrub: Your gateway to succulents!™",
        "buttons": [
            {"id":"change-button", "buttonText": "Change"},
            {"id":"cancel-button", "buttonText": "Cancel"}
        ]
    }
}
            

Location Messages

https://api.heybot.cloud/v1/messages

Payload

{
    "toPhoneNumber": "521XXXXXXXXXX",
    "type": "location",
    "payload": {
        "latitude": "19.432608",
        "longitude": "-99.133209",
        "locationName": "CDMX Centro",
        "address": "Av. Reforma, CDMX, México"
    }
}
            

Request Location Messages

https://api.heybot.cloud/v1/messages

Payload

{
    "toPhoneNumber": "521XXXXXXXXXX",
    "type": "requestLocation",
    "payload": {
        "body": "Por favor, comparte tu ubicación actual"
    }
}
            

Call-To-Action Messages

https://api.heybot.cloud/v1/messages

Payload

{
    "toPhoneNumber": "521XXXXXXXXXX",
    "type": "callToAction",
    "payload": {
        "header": "Consulta disponible",
        "body": "Para más detalles sobre tu solicitud, consulta el siguiente enlace.",
        "footer": "Atención personalizada",
        "button": {
            "text": "Abrir enlace",
            "url": "https://heybot.cloud"
        }
    }
}