Producto
SDK

Números

Números conectados, salud del número en Meta, nombre de usuario y enlace para conectar uno nuevo

Introducción

El módulo WhatsappNumbers te da los números de WhatsApp conectados al workspace, su salud en Meta, su nombre de usuario y el enlace de registro de Meta para conectar uno nuevo. Disponible desde la versión 2.4.0.

Inicialización

Plazbot (recomendado)·ts
01import { Plazbot } from 'plazbot';
02 
03const plazbot = new Plazbot({
04 workspaceId: "YOUR_WORKSPACE_ID",
05 apiKey: "YOUR_API_KEY",
06 zone: "LA"
07});
08 
09// Usar: plazbot.numbers.list()

Listar números

ts
01const numbers = await plazbot.numbers.list();
02 
03for (const n of numbers) {
04 console.log(n.phone, n.isActive ? "activo" : "inactivo");
05}
CampoDescripción
idId de la integración en Plazbot.
phoneNúmero en formato internacional.
nameNombre del número.
metaPhoneNumberIdPhone number id de Meta.
isActiveSi el número está activo.
isBusinessApptrue si es la app WhatsApp Business conectada por QR (coexistencia).

Enlace para conectar un número

Devuelve el enlace de registro de Meta del workspace. Si no existe lo crea, y si venció lo regenera. Ábrelo en el navegador, o mándaselo a tu cliente, para conectar su número.

ts
01const link = await plazbot.numbers.getConnectLink(); // API de WhatsApp
02const business = await plazbot.numbers.getConnectLink("whatsapp_business"); // app WhatsApp Business
03 
04console.log(link.url, link.expiresAt);
05 
06// Invalidar el enlace actual y crear otro
07await plazbot.numbers.regenerateConnectLink("whatsapp");

Salud del número

Lo mismo que el chequeo de salud de Configuración > Integraciones: calidad, límite de envío, si el número puede enviar, si llegan los mensajes entrantes y cada problema con su solución. Solo números conectados con la API de WhatsApp. Si el workspace tiene un solo número, no hace falta pasarlo.

ts
01const health = await plazbot.numbers.health("+51912345678");
02 
03if (health.level !== "GREEN") {
04 console.log(health.status, health.canSendMessage);
05 for (const issue of health.issues) console.log(issue.level, issue.description, issue.solution);
06}
07if (health.webhookSubscribed === false) console.log("Meta no está enviando los mensajes entrantes de este número");
CampoDescripción
levelGREEN, YELLOW o RED (resumen de todo lo demás).
canSendMessageAVAILABLE, LIMITED o BLOCKED.
qualityRatingCalidad del número según Meta: GREEN, YELLOW, RED.
messagingLimitConversaciones que puede iniciar por día (TIER_250, TIER_1K…).
nameStatusEstado del nombre visible (APPROVED, PENDING_REVIEW…).
numberStatusCONNECTED, FLAGGED, RESTRICTED, BANNED…
webhookSubscribedfalse si la app no está suscrita al WABA (no llegan mensajes). null si no se pudo comprobar.
issuesProblemas de Meta: { entityType, level, code, description, solution }.
rawRespuesta completa del API.

Nombre de usuario (@usuario)

ts
01const { username, status } = await plazbot.numbers.getUsername();
02const suggestions = await plazbot.numbers.getUsernameSuggestions();
03await plazbot.numbers.claimUsername("mitienda");
¿Quieres probar la API en vivo? Abre el Playground.