Skip to main content

Official Python SDK for DoJa Chatbots and WhatsApp Business Integration

Project description

DoJa Python SDK

El DoJa SDK es la libreria principal de Python para conectar, automatizar y escalar plataformas de mensajeria usando la API Cloud Oficial de WhatsApp (Meta) y Email (SMTP). Facilita la construccion de flujos de atencion al cliente, notificaciones transaccionales y catalogos en minutos sin lidiar con los complejos requerimientos de configuracion nativos.

Nota: El uso de este SDK esta protegido. Requieres una licencia oficial expedida por DoJa Consulting para interactuar con los servidores mediante esta capa.


Instalacion

Solo requieres Python 3.7+ y pip:

pip install doja-sdk

Configuracion Rapida - WhatsApp

from doja_sdk import DojaClient, DojaAuthError

try:
    client = DojaClient(
        doja_token="TU-LICENCIA-DOJA",
        whatsapp_token="EAAB123456789...", 
        phone_id="100747123456"
    )
    print("Conexion establecida exitosamente!")
except DojaAuthError as e:
    print(f"Error de validacion de licencia: {e}")

Tipos de Mensajes WhatsApp

Todas las funciones requieren el numero de telefono del destinatario con su codigo de pais (sin el signo + ni espacios). Ejemplo para Mexico: "525512345678".

1. Mensaje de Texto Simple

client.send_text("525512345678", "Hola! Hemos recibido tu solicitud.")

2. Mensaje con Documento (PDF, Excel, etc.)

client.send_document(
    to="525512345678", 
    url="https://tu-dominio.com/factura-1234.pdf", 
    caption="Aqui tienes tu factura del mes", 
    filename="Factura_Octubre.pdf"
)

3. Mensaje con Imagen

client.send_image(
    to="525512345678", 
    url="https://tu-dominio.com/promo-verano.jpg", 
    caption="Aprovecha nuestro descuento de temporada!"
)

4. Ubicacion Compartida

client.send_location(
    to="525512345678", 
    latitude=19.432608, 
    longitude=-99.133209, 
    name="Oficinas Centrales", 
    address="Centro Historico, CDMX, Mexico"
)

5. Botones Interactivos (Respuesta Rapida)

botones = [
    {"id": "btn_soporte", "title": "Hablar con Soporte"},
    {"id": "btn_ventas", "title": "Cotizar Servicios"},
]

client.send_interactive_button(
    to="525512345678", 
    body_text="Bienvenido a nuestro canal. En que area podemos apoyarte?", 
    buttons_list=botones
)

6. Menu Desplegable (Lista Interactiva)

secciones = [
    {
        "title": "Areas de Atencion",
        "rows": [
            {"id": "opt_1", "title": "Soporte Tecnico", "description": "Fallas o configuraciones"},
            {"id": "opt_2", "title": "Facturacion", "description": "Dudas sobre pagos"},
            {"id": "opt_3", "title": "Ventas B2B", "description": "Soluciones empresariales"}
        ]
    }
]

client.send_interactive_list(
    to="525512345678", 
    body_text="Selecciona el departamento con el que deseas comunicarte:", 
    button_text="Ver Opciones", 
    sections=secciones
)

7. Templates (Mensajes Pre-aprobados por Meta)

client.send_template(
    to="525512345678",
    template_name="confirmacion_pedido",
    language_code="es",
    body_variables=["Juan", "#12345", "manana a las 15:00"]
)

Template con imagen en el encabezado:

client.send_template(
    to="525512345678",
    template_name="promo_verano",
    language_code="es",
    header_image_url="https://tu-dominio.com/banner.jpg",
    body_variables=["30%", "31 de marzo"]
)

Configuracion Rapida - Email

from doja_sdk import DojaEmailClient

email = DojaEmailClient(
    doja_token="TU-LICENCIA-DOJA",
    smtp_host="smtp.gmail.com",
    smtp_port=587,
    smtp_user="no-reply@tuempresa.com",
    smtp_password="app_password_aqui"
)

Tipos de Email Soportados

1. Email de Texto Plano

email.send(
    to="cliente@empresa.com",
    subject="Confirmacion de Registro",
    body="Gracias por registrarte en nuestra plataforma. Tu cuenta ha sido activada."
)

2. Email con HTML

email.send(
    to="cliente@empresa.com",
    subject="Bienvenido a nuestro servicio",
    body="<h1>Hola Juan</h1><p>Tu cuenta esta lista. <a href='https://tuapp.com'>Inicia sesion aqui</a></p>",
    html=True
)

3. Email con Archivos Adjuntos

email.send(
    to="cliente@empresa.com",
    subject="Tu Factura de Marzo",
    body="Adjuntamos tu factura correspondiente al mes de marzo.",
    attachments=["/ruta/factura_marzo.pdf"]
)

4. Email con CC, BCC y Reply-To

email.send(
    to="destinatario@empresa.com",
    subject="Reporte Semanal",
    body="<h2>Reporte de Ventas</h2><p>Adjuntamos el resumen de esta semana.</p>",
    html=True,
    cc="gerente@empresa.com,director@empresa.com",
    bcc="auditor@empresa.com",
    reply_to="soporte@empresa.com",
    attachments=["/ruta/reporte.xlsx"]
)

Dudas o requerimientos personalizados? | Soporte Oficial: contact@dojaconsulting.cloud

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

doja_sdk-0.4.1.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

doja_sdk-0.4.1-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file doja_sdk-0.4.1.tar.gz.

File metadata

  • Download URL: doja_sdk-0.4.1.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for doja_sdk-0.4.1.tar.gz
Algorithm Hash digest
SHA256 3ea398b5bc3416b6452b6a1c89f2d33929aca35fdfeaabf0f8c9218cd1234a58
MD5 059cf405c57f83176343176205219cc2
BLAKE2b-256 97ad125e7dd18be80f4fb93b5be5034a8d4e35398f3495e6b609b184c8112ba5

See more details on using hashes here.

File details

Details for the file doja_sdk-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: doja_sdk-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for doja_sdk-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1bb7258f76cfd0b08086f7730105bb74356b1bde4edc50bb85409d263f906983
MD5 2c3aa700053bcf9bd0a1a19a5cca3f04
BLAKE2b-256 e7ec4f8c8aff02fbc67f166f8afe01f129333c31ee1918ad2a781efe29cdc550

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page