WhatsApp Python API

Aprende a integrar WhatsApp Python API en tus sistemas con ejemplos prácticos y detallados. Descubre cómo automatizar tus comunicaciones y optimizar la interacción con tus clientes.

WhatsApp Python API

La WhatsApp 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 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. Con los ejemplos y explicaciones proporcionados, puedes implementar una integración eficiente, mejorando tanto la experiencia del usuario como la automatización de procesos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.






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.