Skip to main content
POST
https://api.whaapy.com
/
messages
/
v1
curl -X POST https://api.whaapy.com/messages/v1 \
  -H "Authorization: Bearer wha_TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+5215512345678",
    "type": "contacts",
    "contacts": [
      {
        "name": {
          "formatted_name": "Juan Pérez",
          "first_name": "Juan",
          "last_name": "Pérez"
        },
        "phones": [
          {
            "phone": "+5215598765432",
            "type": "WORK"
          }
        ]
      }
    ]
  }'
{
  "messaging_product": "whatsapp",
  "contacts": [
    { "input": "+5215512345678", "wa_id": "5215512345678" }
  ],
  "messages": [
    { "id": "550e8400-e29b-41d4-a716-446655440000", "wamid": "wamid.HBgLNTIxNTUx..." }
  ],
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "conversationId": "660e8400-e29b-41d4-a716-446655440001",
    "messageType": "contacts",
    "direction": "outbound",
    "status": "sent",
    "createdAt": "2026-01-22T10:30:00Z"
  }
}
Comparte información de contacto como tarjetas vCard. El usuario podrá guardar el contacto directamente en su agenda.
Los contactos solo pueden enviarse dentro de la ventana de 24 horas. Fuera de la ventana, usa templates.

Ejemplo Básico

curl -X POST https://api.whaapy.com/messages/v1 \
  -H "Authorization: Bearer wha_TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+5215512345678",
    "type": "contacts",
    "contacts": [
      {
        "name": {
          "formatted_name": "Juan Pérez",
          "first_name": "Juan",
          "last_name": "Pérez"
        },
        "phones": [
          {
            "phone": "+5215598765432",
            "type": "WORK"
          }
        ]
      }
    ]
  }'

Contacto Completo

{
  "to": "+5215512345678",
  "type": "contacts",
  "contacts": [
    {
      "name": {
        "formatted_name": "Juan Pérez García",
        "first_name": "Juan",
        "last_name": "Pérez",
        "middle_name": "García",
        "prefix": "Lic.",
        "suffix": "Jr."
      },
      "phones": [
        {
          "phone": "+5215598765432",
          "type": "WORK",
          "wa_id": "5215598765432"
        },
        {
          "phone": "+5215512345678",
          "type": "CELL"
        }
      ],
      "emails": [
        {
          "email": "[email protected]",
          "type": "WORK"
        },
        {
          "email": "[email protected]",
          "type": "HOME"
        }
      ],
      "addresses": [
        {
          "street": "Av. Reforma 123",
          "city": "Ciudad de México",
          "state": "CDMX",
          "zip": "06600",
          "country": "México",
          "country_code": "MX",
          "type": "WORK"
        }
      ],
      "org": {
        "company": "Whaapy Inc.",
        "department": "Ventas",
        "title": "Director de Ventas"
      },
      "urls": [
        {
          "url": "https://whaapy.com",
          "type": "WORK"
        },
        {
          "url": "https://linkedin.com/in/juanperez",
          "type": "WORK"
        }
      ],
      "birthday": "1990-05-15"
    }
  ]
}

Múltiples Contactos

Puedes enviar varios contactos en un solo mensaje:
{
  "to": "+5215512345678",
  "type": "contacts",
  "contacts": [
    {
      "name": {
        "formatted_name": "Soporte Técnico",
        "first_name": "Soporte"
      },
      "phones": [
        { "phone": "+5215500001111", "type": "WORK" }
      ]
    },
    {
      "name": {
        "formatted_name": "Ventas",
        "first_name": "Ventas"
      },
      "phones": [
        { "phone": "+5215500002222", "type": "WORK" }
      ]
    },
    {
      "name": {
        "formatted_name": "Facturación",
        "first_name": "Facturación"
      },
      "phones": [
        { "phone": "+5215500003333", "type": "WORK" }
      ]
    }
  ]
}

Campos

Objeto Contact

contacts
array
required
Array de objetos de contacto. Puedes enviar múltiples contactos.

Objeto Name (requerido)

name.formatted_name
string
required
Nombre completo formateado. Este es el campo principal que ve el usuario.
name.first_name
string
Nombre de pila.
name.last_name
string
Apellido.
name.middle_name
string
Segundo nombre o apellido materno.
name.prefix
string
Prefijo (Dr., Lic., Ing., etc.).
name.suffix
string
Sufijo (Jr., Sr., III, etc.).

Objeto Phone

phones[].phone
string
required
Número de teléfono con código de país.
phones[].type
string
Tipo: CELL, MAIN, IPHONE, HOME, WORK.
phones[].wa_id
string
ID de WhatsApp (solo si el número tiene WhatsApp).

Objeto Email

emails[].email
string
required
Dirección de correo electrónico.
emails[].type
string
Tipo: HOME, WORK.

Objeto Address

addresses[].street
string
Calle y número.
addresses[].city
string
Ciudad.
addresses[].state
string
Estado o provincia.
addresses[].zip
string
Código postal.
addresses[].country
string
País.
addresses[].country_code
string
Código ISO del país (MX, US, ES, etc.).
addresses[].type
string
Tipo: HOME, WORK.

Objeto Organization

org.company
string
Nombre de la empresa.
org.department
string
Departamento.
org.title
string
Cargo o título.

Objeto URL

urls[].url
string
required
URL del sitio web o perfil.
urls[].type
string
Tipo: HOME, WORK.

Otros Campos

birthday
string
Fecha de nacimiento en formato YYYY-MM-DD.

Respuesta Exitosa

{
  "messaging_product": "whatsapp",
  "contacts": [
    { "input": "+5215512345678", "wa_id": "5215512345678" }
  ],
  "messages": [
    { "id": "550e8400-e29b-41d4-a716-446655440000", "wamid": "wamid.HBgLNTIxNTUx..." }
  ],
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "conversationId": "660e8400-e29b-41d4-a716-446655440001",
    "messageType": "contacts",
    "direction": "outbound",
    "status": "sent",
    "createdAt": "2026-01-22T10:30:00Z"
  }
}

Casos de Uso

{
  "contacts": [{
    "name": { "formatted_name": "María López - Tu Asesora" },
    "phones": [{ "phone": "+5215512345678", "type": "WORK", "wa_id": "5215512345678" }],
    "emails": [{ "email": "[email protected]", "type": "WORK" }],
    "org": { "company": "Empresa SA", "title": "Asesora de Ventas" }
  }]
}
{
  "contacts": [
    {
      "name": { "formatted_name": "Soporte Técnico" },
      "phones": [{ "phone": "+5215500001111", "type": "WORK" }],
      "emails": [{ "email": "[email protected]", "type": "WORK" }]
    },
    {
      "name": { "formatted_name": "Ventas" },
      "phones": [{ "phone": "+5215500002222", "type": "WORK" }],
      "emails": [{ "email": "[email protected]", "type": "WORK" }]
    }
  ]
}
{
  "contacts": [{
    "name": { 
      "formatted_name": "Restaurante La Parrilla",
      "first_name": "La Parrilla"
    },
    "phones": [
      { "phone": "+5215512345678", "type": "WORK" },
      { "phone": "+5215598765432", "type": "CELL" }
    ],
    "addresses": [{
      "street": "Av. Insurgentes 456",
      "city": "CDMX",
      "country": "México",
      "type": "WORK"
    }],
    "urls": [{ "url": "https://laparrilla.mx", "type": "WORK" }]
  }]
}

Próximos Pasos