WhatsApp Business Python API

Aprende a integrar la API de WhatsApp Business en tus sistemas usando Python, a través de ejemplos prácticos, detallados y con código de muestra.
Descubre cómo automatizar tus comunicaciones y optimizar la interacción con tus clientes.

WhatsApp Python API

La WhatsApp Business Python API de 360NRS es una herramienta robusta que permite a desarrolladores automatizar la mensajería en WhatsApp, facilitando el envío de plantillas, la gestión de conversaciones activas y la creación de notificaciones personalizadas.

Python, conocido por su simplicidad y versatilidad, es ideal para implementar esta integración de manera técnica y escalable.

En este artículo, exploraremos cómo utilizar la API de 360NRS con ejemplos claros y detallados que incluyen código reutilizable para una integración eficiente de WhatsApp.


Configuración y envío de plantillas con WhatsApp Python API

A continuación, se presenta un ejemplo técnico para realizar un envío de plantilla a través de la API.

Código de ejemplo: Envío de plantilla

import requests

url = "https://dashboard.360nrs.com/api/rest/whatsapp"

payload = "{ \"templateId\": 123, \"from\": \"34666777555\", \"messages\": [ { \"to\": \"34666555444\" } ] }"
headers = {
'Content-Type': 'application/json',
'Authorization': 'Basic YOUR_AUTH_TOKEN'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Explicación del código

  1. Librería Utilizada: requests para realizar solicitudes HTTP.
  2. Endpoint de la API: https://dashboard.360nrs.com/api/rest/whatsapp.
  3. Headers:
    • Content-Type: Indica que el contenido de la solicitud es JSON.
    • Authorization: Token necesario para autenticar la solicitud.
  4. Payload: JSON que contiene:
    • templateId: ID de la plantilla previamente aprobada.
    • from: Número remitente autorizado.
    • messages: Lista de destinatarios con sus respectivos números.

Respuestas del servidor

La API devuelve diferentes códigos y estructuras JSON para informar el estado de las solicitudes:

Respuesta de Éxito (HTTP 202)

{
"campaignId": 100000,
"sendingId": 100001,
"result": [
{
"accepted": true,
"to": "34666555444",
"id": "04c80b02-8c0c-4884-bab8-89d6bc1fe406"
}
]
}

Respuesta con errores parciales (HTTP 207)

{
"campaignId": 100000,
"sendingId": 100001,
"result": [
{
"accepted": true,
"to": "34666555444",
"id": "8b4e5d35-dc16-4e2e-8a9c-c222db81f5ba"
},
{
"accepted": false,
"to": "34",
"error": {
"code": 102,
"description": "The messages.1.to field does not contain a valid phone number"
}
}
]
}

Respuesta de error (HTTP 400)

{
"error": {
"code": 140,
"description": "Invalid template"
}
}

Gestión de conversaciones activas

La API permite consultar conversaciones en curso y responder a ellas. Solo es posible enviar mensajes en sesiones activas, verificando el parámetro isSessionActive.

Consultar conversaciones

import requests

url = "https://dashboard.360nrs.com/api/rest/whatsapp/conversations"

headers = {
'Content-Type': 'application/json',
'Authorization': 'Basic YOUR_AUTH_TOKEN'
}

response = requests.request("GET", url, headers=headers)

print(response.text)

Responder a una conversación activa

import requests

url = "https://dashboard.360nrs.com/api/rest/whatsapp/conversations/34666777555/34666555444/messages"

payload = "{ \"content\": \"Message content\" }"
headers = {
'Content-Type': 'application/json',
'Authorization': 'Basic YOUR_AUTH_TOKEN'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Parámetros principales de WhatsApp Business Python API

ParámetroTipoRequeridoDescripción
templateIdintegerID de la plantilla aprobada.
fromstringNúmero remitente autorizado.
messagesarrayLista de destinatarios y detalles de los mensajes.
messages.*.tostringNúmero de teléfono del destinatario (con prefijo internacional).
messages.*.bodyFieldsarrayNoVariables dinámicas para personalizar el mensaje.

Ejemplos avanzados de uso

Envío de plantilla con variables

import requests

url = "https://dashboard.360nrs.com/api/rest/whatsapp"

payload = """
{
"templateId": 123,
"from": "34666777555",
"messages": [
{
"to": "34666555444",
"headerFields": ["Header Value"],
"bodyFields": ["Body Value 1", "Body Value 2"]
}
]
}
"""
headers = {
'Content-Type': 'application/json',
'Authorization': 'Basic YOUR_AUTH_TOKEN'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Envío de plantilla con ubicación

import requests

url = "https://dashboard.360nrs.com/api/rest/whatsapp"

payload = """
{
"templateId": 123,
"from": "34666777555",
"messages": [
{
"to": "34666555444",
"location": {
"lat": "39.92516922986921",
"long": "-0.10572674363232447",
"name": "NRS-Group",
"address": "Carrer, Av. Arcadi Garcia Sanz, 19, 12540 Vila-real, Castelló"
}
}
]
}
"""
headers = {
'Content-Type': 'application/json',
'Authorization': 'Basic YOUR_AUTH_TOKEN'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Casos de uso comunes

  1. E-commerce: Confirmación de pedidos y actualizaciones de envío.
  2. Banca: Alertas transaccionales y autenticación en dos pasos.
  3. Atención al Cliente: Respuestas automáticas y seguimiento de casos.

La WhatsApp Python API es una herramienta indispensable para empresas que buscan optimizar su comunicación a través de WhatsApp.

También te puede interesar:

API de WhatsApp: Automatiza y gestiona tus mensajes

Integra WhatsApp en tu software y optimiza la comunicación con una API segura, escalable y flexible. Automatiza mensajes, gestiona conversaciones en tiempo real y utiliza webhooks y plantillas dinámicas para mejorar la experiencia del usuario.

API WhatsApp





Regístrate GRATIS y accede ahora

Descubre nuestras soluciones para empresas: SMS, RCS, WhatsApp, Email marketing y voz con APIs de integración para tus sistemas.