Inicio Precios Funcionalidades Reseñas NEW Developers

Autenticacion y API Keys

Todo lo que necesitas saber para autenticarte en la API de WhatsBoost de forma segura.

Como funciona la autenticacion

La API de WhatsBoost utiliza un modelo de autenticacion basado en API Keys (claves secretas). Cada solicitud HTTP que envies a cualquier endpoint de la API debe incluir un parametro llamado secret con el valor de tu API Key.

Caracteristicas de la API Key
Formato Hash SHA1 de 40 caracteres hexadecimales (a-f, 0-9)
Metodo de envio Parametro secret en el cuerpo POST de la peticion
Protocolo HTTPS obligatorio. Las peticiones HTTP sin cifrado seran rechazadas.
Cantidad por cuenta Puedes crear multiples API Keys, cada una con permisos diferentes
Revocacion Puedes eliminar una API Key en cualquier momento desde el Dashboard
Vinculacion Cada API Key esta vinculada a tu cuenta de usuario y hereda tu suscripcion activa
Flujo de autenticacion
  1. Tu aplicacion envia una peticion POST a un endpoint de la API (por ejemplo, /api/send/sms).
  2. En el cuerpo de la peticion incluyes el parametro secret con el valor de tu API Key.
  3. El servidor valida que la API Key exista, este activa y tenga los permisos necesarios para el endpoint solicitado.
  4. Si la validacion es correcta, se procesa la solicitud y se devuelve una respuesta JSON.
  5. Si la API Key es invalida o no tiene permisos, se devuelve un error 401 o 403 con un mensaje explicativo.

Generar tu primera API Key

Crear una API Key es el primer paso para integrar WhatsBoost en tu aplicacion. Sigue estos pasos:

1
Accede al Dashboard

Inicia sesion en tu cuenta de WhatsBoost y navega al panel principal en Dashboard.

2
Ve a API Keys

En el menu lateral, busca la seccion API Keys o accede directamente desde Dashboard > API Keys.

3
Crea una nueva Key

Haz clic en el boton "Crear API Key". Asigna un nombre descriptivo (por ejemplo: "Backend produccion", "Integracion CRM", "Chatbot WhatsApp").

4
Asigna permisos

Selecciona unicamente los permisos que necesita esta integracion. Puedes modificarlos en cualquier momento.

Multiples API Keys para diferentes integraciones

Es una buena practica crear una API Key separada para cada integracion o servicio que conectes con WhatsBoost. Esto te permite:

  • Permisos granulares: Cada key solo tiene acceso a lo que necesita. Tu CRM puede tener permisos de envio, mientras que tu dashboard de analisis solo tiene permisos de lectura.
  • Rastreo independiente: Puedes monitorizar el uso de cada key por separado desde el Dashboard.
  • Revocacion segura: Si una key se ve comprometida, puedes revocarla sin afectar al resto de tus integraciones.
  • Rotacion escalonada: Puedes rotar keys de forma independiente segun el calendario de seguridad de cada proyecto.

Tabla completa de permisos

Cada API Key tiene un conjunto de permisos que determinan que endpoints puede utilizar. A continuacion se listan todos los permisos disponibles, agrupados por categoria.

Permisos de Envio

Permisos necesarios para enviar mensajes, codigos OTP y ejecutar comandos USSD.

Permiso Descripcion Endpoint asociado
otp Generar y enviar codigos de verificacion OTP de 6 digitos por SMS o WhatsApp. /api/send/otp
sms Permiso base para servicios SMS. Requerido ademas de sms_send o sms_send_bulk. /api/send/sms*
sms_send Enviar un SMS individual a un unico destinatario. /api/send/sms
sms_send_bulk Enviar SMS masivos (campanas) a multiples destinatarios o grupos de contactos. /api/send/sms.bulk
whatsapp Permiso base para servicios WhatsApp. Requerido ademas de wa_send o wa_send_bulk. /api/send/whatsapp*
wa_send Enviar un mensaje de WhatsApp individual (texto, imagen, video, audio, documento). /api/send/whatsapp
wa_send_bulk Enviar mensajes de WhatsApp masivos (campanas) a multiples destinatarios o grupos. /api/send/whatsapp.bulk
validate_wa_phone Validar si un numero de telefono tiene cuenta activa de WhatsApp. /api/send/validate
create_whatsapp Crear/vincular una nueva cuenta de WhatsApp al sistema mediante QR. /api/send/create.whatsapp
start_sms_campaign Reanudar una campana SMS pausada de forma remota. /api/remote/start.sms
stop_sms_campaign Pausar una campana SMS activa de forma remota. /api/remote/stop.sms
start_wa_campaign Reanudar una campana de WhatsApp pausada de forma remota. /api/remote/start.chats
stop_wa_campaign Pausar una campana de WhatsApp activa de forma remota. /api/remote/stop.chats
android_ussd Ejecutar codigos USSD en un dispositivo Android vinculado (consultas de saldo, etc.). /api/send/ussd
Permisos de Lectura

Permisos para consultar datos, estadisticas y registros de tu cuenta.

Permiso Descripcion Endpoint asociado
get_message Obtener los detalles de un mensaje especifico por su ID. /api/get/message
get_sms_sent Listar todos los SMS enviados con su estado de entrega. /api/get/sms.sent
get_sms_received Listar todos los SMS recibidos en los dispositivos vinculados. /api/get/sms.received
get_wa_sent Listar todos los mensajes de WhatsApp enviados. /api/get/wa.sent
get_wa_received Listar todos los mensajes de WhatsApp recibidos. /api/get/wa.received
get_sms_campaigns Listar todas las campanas SMS con su estado y numero de contactos. /api/get/sms.campaigns
get_sms_pending Obtener la cantidad de SMS pendientes de envio en la cola. /api/get/sms.pending
get_wa_campaigns Listar todas las campanas de WhatsApp con estado y estadisticas. /api/get/wa.campaigns
get_wa_pending Obtener la cantidad de mensajes de WhatsApp pendientes en la cola. /api/get/wa.pending
get_wa_groups Listar los grupos de WhatsApp disponibles en una cuenta vinculada. /api/get/wa.groups
get_credits Consultar el saldo de creditos disponible en tu cuenta. /api/get/credits
get_earnings Consultar las ganancias generadas (para socios/partners con dispositivos globales). /api/get/earnings
get_subscription Obtener detalles de tu suscripcion actual (plan, limites, fecha de expiracion). /api/get/subscription
get_rates Consultar las tarifas de envio por pais para el modo creditos. /api/get/rates
get_contacts Listar los contactos guardados en tu libreta de direcciones. /api/get/contacts
get_groups Listar los grupos de contactos creados en tu cuenta. /api/get/groups
get_unsubscribed Listar los numeros que se han dado de baja (opt-out) de tus comunicaciones. /api/get/unsubscribed
get_ussd Consultar las respuestas de comandos USSD ejecutados previamente. /api/get/ussd
get_wa_accounts Listar las cuentas de WhatsApp vinculadas al sistema. /api/get/wa.accounts
get_devices Listar los dispositivos Android vinculados a tu cuenta. /api/get/devices
get_shorteners Listar los servicios de acortamiento de URL configurados. /api/get/shorteners
Permisos de Creacion

Permisos para crear nuevos recursos en tu cuenta.

Permiso Descripcion Endpoint asociado
create_contact Crear un nuevo contacto en la libreta de direcciones. /api/create/contact
create_group Crear un nuevo grupo de contactos. /api/create/group
Permisos de Eliminacion

Permisos para eliminar recursos. Usa estos permisos con precaucion ya que las eliminaciones son irreversibles.

Permiso Descripcion Endpoint asociado
delete_contact Eliminar un contacto de la libreta de direcciones. /api/delete/contact
delete_group Eliminar un grupo de contactos y desvincular sus miembros. /api/delete/group
delete_unsubscribed Eliminar un numero de la lista de bajas (opt-out). /api/delete/unsubscribed
delete_sms_sent Eliminar un registro de SMS enviado del historial. /api/delete/sms.sent
delete_sms_received Eliminar un registro de SMS recibido del historial. /api/delete/sms.received
delete_wa_sent Eliminar un registro de WhatsApp enviado del historial. /api/delete/wa.sent
delete_wa_received Eliminar un registro de WhatsApp recibido del historial. /api/delete/wa.received

Ejemplos de autenticacion

A continuacion se muestran ejemplos basicos de como enviar tu API Key en una peticion a la API. Todos los ejemplos realizan una consulta al endpoint /api/get/credits para verificar que la autenticacion funciona correctamente.

curl -X POST //whatsboost.netapi/get/credits \
  -d "secret=TU_API_KEY_DE_40_CARACTERES"
<?php
$apiKey = "TU_API_KEY_DE_40_CARACTERES";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "//whatsboost.netapi/get/credits");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
    "secret" => $apiKey
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$data = json_decode($response, true);

if ($httpCode === 200) {
    echo "Creditos disponibles: " . $data["data"]["credits"];
} else {
    echo "Error: " . $data["message"];
}
const apiKey = "TU_API_KEY_DE_40_CARACTERES";

const formData = new URLSearchParams();
formData.append("secret", apiKey);

const response = await fetch("//whatsboost.netapi/get/credits", {
    method: "POST",
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    },
    body: formData
});

const data = await response.json();

if (response.ok) {
    console.log("Creditos disponibles:", data.data.credits);
} else {
    console.error("Error:", data.message);
}
import requests

api_key = "TU_API_KEY_DE_40_CARACTERES"

response = requests.post(
    "//whatsboost.netapi/get/credits",
    data={
        "secret": api_key
    }
)

data = response.json()

if response.status_code == 200:
    print(f"Creditos disponibles: {data['data']['credits']}")
else:
    print(f"Error: {data['message']}")
Respuesta exitosa
{
    "status": 200,
    "message": "Success!",
    "data": {
        "credits": 150.75
    }
}
Respuesta con API Key invalida
{
    "status": 401,
    "message": "Invalid API secret supplied!"
}
Respuesta con permisos insuficientes
{
    "status": 403,
    "message": "This API key doesn't have permission to use this endpoint!"
}

Seguridad y buenas practicas

Tu API Key es tan sensible como una contrasena. Si alguien obtiene acceso a ella, puede realizar acciones en tu nombre (enviar mensajes, leer datos, eliminar registros). Sigue estas recomendaciones para proteger tus credenciales:

Nunca expongas tu API Key en el frontend

Jamas incluyas tu API Key en codigo JavaScript que se ejecute en el navegador del usuario. Cualquier persona puede abrir las herramientas de desarrollo del navegador y ver el valor de secret. Esto aplica tambien a aplicaciones moviles: el trafico de red puede ser interceptado.

No la subas a repositorios publicos

Nunca incluyas tu API Key directamente en el codigo fuente que subes a GitHub, GitLab, Bitbucket u otros repositorios. Usa variables de entorno (.env) o servicios de gestion de secretos (AWS Secrets Manager, HashiCorp Vault, etc.).

Usa la API solo desde el servidor

Todas las llamadas a la API de WhatsBoost deben realizarse desde tu backend (servidor). Si tu aplicacion frontend necesita enviar mensajes, crea un endpoint propio en tu backend que reciba la solicitud del frontend y reenvie la peticion a la API de WhatsBoost con la API Key almacenada de forma segura.

Crea keys separadas por integracion

No reutilices la misma API Key en multiples proyectos. Si un servicio se ve comprometido, solo tendras que revocar la key de ese servicio sin afectar a los demas. Nombra cada key de forma descriptiva para saber a que proyecto pertenece.

Principio de minimo privilegio

Asigna a cada API Key el menor numero de permisos posible. Si un servicio solo necesita enviar SMS, no le des permisos de WhatsApp ni de eliminacion. Esto limita el dano potencial si la key se filtra. Revisa regularmente los permisos asignados.

Rota las keys periodicamente

Establece un calendario de rotacion (por ejemplo, cada 90 dias). Crea una nueva key, actualiza tu integracion para usarla, verifica que funciona correctamente y luego elimina la key antigua. Esto minimiza la ventana de exposicion ante una posible filtracion.

Monitoriza el uso desde el Dashboard

WhatsBoost te permite ver el historial de peticiones realizadas con cada API Key desde el Dashboard. Revisa periodicamente:

  • Volumen de peticiones: Un aumento inusual puede indicar un uso no autorizado.
  • Endpoints accedidos: Verifica que solo se accede a los endpoints esperados.
  • Errores 401/403: Multiples intentos fallidos pueden indicar que alguien esta probando keys robadas.
  • Horarios de uso: Si tu integracion solo funciona en horario laboral y ves peticiones a las 3 AM, investiga.
Lista de verificacion de seguridad
Accion Frecuencia
□ La API Key esta almacenada en variables de entorno, no en el codigo fuente Al inicio del proyecto
□ El archivo .env esta incluido en .gitignore Al inicio del proyecto
□ Las llamadas a la API se realizan solo desde el servidor (backend) Al inicio del proyecto
□ Cada integracion usa una API Key diferente con permisos minimos Al crear cada integracion
□ Revisar el historial de peticiones en el Dashboard Semanal
□ Rotar API Keys y eliminar las antiguas Cada 90 dias
□ Verificar que no hay keys sin usar que puedan eliminarse Mensual
□ Revisar permisos asignados y reducir si es posible Trimestral

Prompt para asistentes de IA

Prompt: Configurar autenticacion con WhatsBoost

Copia y pega este prompt en ChatGPT, Claude, Gemini o tu asistente de IA favorito para que te ayude a configurar la autenticacion de forma segura.

Eres un desarrollador backend experto. Necesito integrar la API de WhatsBoost
en mi proyecto. La autenticacion funciona asi:

- Todas las peticiones son POST a //whatsboost.netapi/...
- Se envia un parametro "secret" en el cuerpo (form-data o x-www-form-urlencoded)
  con el valor de la API Key (hash SHA1 de 40 caracteres).
- La API Key NO se envia como header, sino como parametro POST.
- Las respuestas son JSON con la estructura:
  {"status": CODE, "message": "...", "data": {...}}

Ayudame a:
1. Crear una clase/modulo reutilizable para mi proyecto que gestione las
   peticiones a la API de WhatsBoost.
2. Almacenar la API Key de forma segura (variables de entorno).
3. Manejar los errores (401, 403, 400, 500) con mensajes claros.
4. Implementar reintentos automaticos para errores transitorios (500, timeout).

Mi stack tecnologico es: [INDICA TU STACK AQUI]

Siguientes pasos