Skip to main content

Username de la línea oficial

El username de la línea es el @nombre público de su línea oficial de WhatsApp Business — el identificador que aparece en el perfil del número comercial para los clientes. No lo confunda con el username del usuario final, que identifica a quien conversa con usted y llega en los webhooks; este es el @ de su propia línea. Estas rutas le permiten, como titular del número, consultar, definir/cambiar, eliminar y obtener sugerencias de username, reenviando la operación a Meta (WhatsApp Cloud API) y manteniendo el estado local sincronizado.
El username de la línea es un concepto relacionado con el BSUID. Para entender cómo el @nombre de la línea se relaciona con el BSUID y con el teléfono (wa_id) en los webhooks y solicitudes, vea BSUID e identificadores de usuario.

Ciclo de vida del username

El username pasa por estados durante su ciclo de vida. Cada estado se devuelve en el campo status (string de Meta), preservado tanto en las respuestas de la API como en el webhook:
La propagación del estado es asíncrona. Al definir/cambiar un username, Meta puede responder reserved y solo después promoverlo a approved. Esa transición es confirmada por Positus a través del webhook business_username_update — vea la sección Webhook de actualización.

Autenticación y URL base

Todas las rutas usan la misma base y el mismo esquema de autenticación que las demás rutas de la Positus API. https://api.positus.global/v2

Path Parameters

Headers

Token de producción: Su token es generado y proporcionado por Positus y da acceso a todos sus números de WhatsApp Business API.
Las rutas de modificación (definir, cambiar y eliminar) exigen que el usuario autenticado sea owner del número. Un usuario sin ese permiso recibe 403.

Consultar username

GET https://api.positus.global/v2/whatsapp/numbers/{{clave}}/username Devuelve el username actual de la línea y su estado. Por defecto la respuesta se lee del estado local (mantenido sincronizado por el webhook business_username_update). Para forzar una lectura directa en Meta, informe ?refresh=true.

Query Parameters

Response

Con ?refresh=true, el campo username_status refleja el estado devuelto por Meta en el momento de la consulta. Si la lectura en Meta falla, la respuesta trae el error traducido (vea Manejo de errores).

Definir o cambiar username

POST https://api.positus.global/v2/whatsapp/numbers/{{clave}}/username Define un nuevo username para la línea (o reemplaza el existente). El formato se valida localmente antes de llamar a Meta. Tras el éxito, el estado local se sincroniza (username, username_status y previous_username).

Request Body

Reglas de formato del username (validadas localmente):
  • 3 a 35 caracteres.
  • Solo letras inglesas (a-z, A-Z), dígitos (0-9), punto (.) y guion bajo (_).
  • Al menos una letra.
  • No puede empezar ni terminar con punto (.), ni contener punto doble (..).
  • No puede empezar con www.
  • No puede terminar con un dominio (.com, .org, .net, .int, .edu, .gov, .mil, .us, .in, .html).

Response

Devuelve el número completo actualizado (mismo formato que GET /whatsapp/numbers/{{clave}}), ya con username y username_status:
Al definir un nuevo username, Meta puede devolver el estado reserved (username reservado, aún no público) o approved. La promoción de reserved a approved se confirma de forma asíncrona por el webhook business_username_update.

Eliminar username

DELETE https://api.positus.global/v2/whatsapp/numbers/{{clave}}/username Elimina el username de la línea. Tras el éxito, el estado local se actualiza (username vuelve a null y username_status pasa a deleted).

Response

Devuelve el número completo actualizado, ahora sin username:

Sugerencias de username

GET https://api.positus.global/v2/whatsapp/numbers/{{clave}}/username/suggestions Devuelve una lista de usernames disponibles sugeridos por Meta para su línea. Útil cuando el username deseado no está disponible.

Response

Manejo de errores

Las rutas de modificación reenvían los errores de Meta traducidos, con el código HTTP correspondiente. La respuesta trae el mensaje traducido en message y el mensaje original de Meta en meta_error.

Webhook de actualización

Además de las rutas anteriores (acciones que usted inicia), Positus notifica a su webhook siempre que el estado del username de la línea cambia — incluso por acciones hechas fuera de la API (por ejemplo, en la aplicación WhatsApp Business Manager) o por la promoción asíncrona de reserved a approved. El evento es business_username_update, entregado en el objeto number con display_phone_number, username, status (approved / deleted / reserved), timestamp y waba_id. Para el payload completo y la tabla de campos, vea la sección Actualización de username de la línea (business_username_update) en la documentación de Webhook.

Estados del username y persistencia

El estado del username se persiste localmente en el número y se refleja en las respuestas de la API. Las rutas de consulta (lectura local) y GET /whatsapp/numbers/{{clave}} siempre devuelven el estado más reciente sincronizado.
  • La operación de eliminar define username = null y username_status = deleted.
  • Al cambiar el username, el valor anterior se preserva internamente (historial del último username).
  • La sincronización se confirma de forma asíncrona por el webhook business_username_update, garantizando consistencia entre su acción, el estado de Meta y el estado local de Positus.