Todo lo que debe saber acerca del uso de las subcuentas de Twilio

February 24, 2021
Redactado por
Revisado por
Liz Moy
Twilion

Todo lo que debe saber acerca del uso de las subcuentas de Twilio

Esta publicación lo guiará por los beneficios de utilizar subcuentas y cómo enviar mensajes a través de subcuentas. Las subcuentas le permiten separar su uso, números y configuraciones mientras comparte un equilibrio con su cuenta principal. Son una gran manera de segmentar su uso de Twilio.  

A continuación, se muestran los elementos principales que trabajaremos en esta publicación:

  • Requisitos técnicos
  • ¿Qué son las subcuentas Twilio y por qué debe utilizarlas?
  • Uso de subcuentas para enviar un mensaje

Requisitos técnicos

  • Una cuenta Twilio gratuita: regístrese aquí a través de este enlace, obtendrá un crédito adicional de $10 cuando realice la actualización.
  • Un número de teléfono Twilio.
  • Un número de teléfono celular verificado (para recibir mensajes SMS).
  • Estar familiarizado con el envío de solicitudes de API REST. Aquí hay consejos útiles para ejecutar una cURL desde Bash o zsh, o puede utilizar una herramienta como Postman.

¿Qué son las subcuentas Twilio y por qué debe utilizarlas?

Las subcuentas son contenedores que separan los recursos que pertenecen a un proyecto Twilio (principal). Por ejemplo, analice la empresa ficticia Owlie Notifications. Owlie Notifications ofrece una plataforma SaaS que permite a los clientes realizar llamadas. Owlie Notifications tienen alrededor de 50 clientes.

Owlie Notifications tiene dos opciones para crear su estructura de cuenta Twilio:

  1. Cree una cuenta Twilio, que está vinculada a un identificador denominado SID de cuenta, que es único para su cuenta y que siempre lleva el prefijo “AC”. Siempre que Owlie Notifications haga una solicitud de API, utilizará el SID de cuenta para esa cuenta en su solicitud de API. Por ejemplo, digamos que su SID de cuenta es AC123.
  2. Cree una cuenta Twilio (SID de cuenta = AC123, también llamada cuenta principal) de la misma manera que se sugiere en la opción uno; sin embargo, también creará una subcuenta para cada uno de sus 50 clientes (50 subcuentas). Cada una de las 50 subcuentas obtendrá su propio SID de cuenta. Por lo tanto, cuando Owlie Notifications realiza una solicitud de API para un cliente, utilizará el SID de la cuenta secundaria correspondiente en lugar del SID de la cuenta principal.

Esta es la razón por la que elegir la opción dos es la opción óptima.

Beneficios clave de las subcuentas

Puede segmentar el proceso de facturación 

Si Owlie Notification elige no utilizar subcuentas, debe realizar un seguimiento de todo el uso para cada cliente en su extremo, lo cual es un trabajo adicional y es posible que se cometan errores. Debido a que las subcuentas actúan como contenedores, puede utilizar la API de uso de Twilio para obtener datos de facturación específicos para una subcuenta, lo que reduce la lógica comercial necesaria para implementar el seguimiento individual del cliente.

Permite el aprovisionamiento de recursos

Las subcuentas permiten que se agreguen recursos (como números de teléfono) a la subcuenta específica. Una consideración es que la mayoría de los recursos pueden pertenecer a una sola subcuenta a la vez. Esto puede complicarse si mueven números entre cuentas constantemente. Por ejemplo, tendrá que utilizar esta lógica si cierra una subcuenta, pero desea conservar el número de teléfono. Afortunadamente, Twilio le permite mover los números de teléfono entre cuentas.

Le proporciona control adicional sobre varias cuentas del mismo proyecto: con subcuentas, tiene la capacidad de suspender, cerrar y reactivar subcuentas según las necesidades de sus clientes.

Todo lo que debe saber acerca del uso de las subcuentas de Twilio

Para los clientes que utilicen Twilio para enviar mensajes, Twilio los ayudará a gestionar las exclusiones de sus clientes, como cuando un usuario final responde STOP (DETENER) a un mensaje. Twilio conserva esta lista de exclusión en el nivel de cuenta.

Esto significa que si un usuario final respondió STOP (DETENER) a un número de teléfono y ese número de teléfono se mueve de un proyecto a una subcuenta, que tiene un SID de cuenta único, esa asignación de exclusión no funciona. Si no ha estado rastreando las exclusiones, comience ahora para asegurarse de que tiene la lista más actualizada de suscriptores.

Uso de subcuentas para enviar un mensaje

Es posible que se pregunte “¿qué pasa si aún no uso subcuentas, qué tan difícil es migrar?"

Imagine que Owlie Notifications ha estado utilizando una sola cuenta para los 50 clientes. Ahora tienen clientes que desean enviar mensajes SMS. A continuación, se indican los pasos que probablemente tendrá que seguir Owlie Notifications:

Utilizará la API REST de subcuentas para hacer esto de forma programática; sin embargo, puede optar por utilizar las bibliotecas auxiliares del lado del servidor si lo prefiere.

En primer lugar, inicie sesión en su consola Twilio. Verá los valores de SID de Cuenta y de Token de autenticación asignados a su cuenta en el panel de control:

SID de la cuenta Twilio y token de autenticación en la consola

En los siguientes ejemplos, utilizará el SID de la cuenta y el token de autenticación para la cuenta Twilio que acaba de realizar o copiar. No olvide reemplazarlos en todos los marcadores de posición que aparecen a continuación.

Crear una subcuenta

Continuemos con los clientes de Owlie Notifications (Falcon Flights) y creemos una subcuenta para ellos.

Solicitud

Desde su terminal o petición de comando, ejecute el siguiente comando para realizar la solicitud, teniendo cuidado de reemplazar los valores del marcador de posición por el SID de su cuenta principal y el token de autenticación.

curl -X POST https://api.twilio.com/2010-04-01/Accounts.json \
--data-urlencode "FriendlyName=FalconFlights
" \
-u <INSERT YOUR PARENT ACCOUNT SID>:<INSERT YOUR PARENT AUTH TOKEN>

Respuesta

Después de ejecutar el comando, recibirá una respuesta como esta:

{
   "status": "active",
   "date_updated": "Wed, 17 Feb 2021 15:12:01 +0000",
   "auth_token": "ACxxxxx",
   "friendly_name": "FalconFlights",
   "owner_account_sid": "ACxxxx",
   "uri": "/2010-04-01/Accounts/ACxxx.json",
   "sid": "ACxxx
",
   "date_created": "Wed, 17 Feb 2021 15:12:01 +0000",
   "type": "Full",
   "subresource_uris": {
...
   }
}

Esta respuesta incluye algunos datos clave.

Hay una nueva cuenta llamada FalconFlights, que tiene su propio SID de cuenta y token de autenticación únicos.

El owner_account_sid debe coincidir con el SID de su cuenta de proyecto (principal) (Owlie Notifications).

Realice un seguimiento del SID de la subcuenta secundaria y del token de autenticación, ya que los utilizará más adelante.

Transferir un número de teléfono

Anteriormente, mencioné el caso en el que es posible que desee transferir un número de teléfono. Aquí, se explica cómo hacerlo. Si no tiene un número de teléfono Twilio, puede comprar uno a través de la consola de Twilio o la API REST.

Para comenzar a transferir su número de teléfono Twilio entre su cuenta principal y una subcuenta, vaya a la sección números activos de la consola. Haga clic en un número para ver una vista con opciones de configuración.

Ahí es donde puede encontrar su número de teléfono SID (PNxxx).

Encontrar un identificador de número de teléfono en Twilio

Solicitud

Es importante asegurarse de utilizar el SID de la cuenta principal en sus encabezados, ya que la cuenta principal es propietaria del número de teléfono.

Ejecute el siguiente comando en su terminal:

curl -X POST https://api.twilio.com/2010-04-01/Accounts/<INSERT PARENT ACCOUNT SID>/IncomingPhoneNumbers/<INSERT PHONE NUMBER SID>.json \
--data-urlencode "AccountSid=<INSERT SUBACCOUNT SID>" \
-u <INSERT YOUR PARENT ACCOUNT SID>:<INSERT YOUR PARENT AUTH TOKEN>

Nota: Al mover los números de teléfono a otra cuenta, se conservará la URL de voz y SMS.

Respuesta

{
    "sid": "PNxxx",
    "account_sid": "ACxxx",
    "friendly_name": "(415) 874-0103",
    "phone_number": "+14158740103",
    "voice_url": "https://demo.twilio.com/welcome/voice/",
    "voice_method": "POST",
    "voice_fallback_url": null,
    "voice_fallback_method": "POST",
    "voice_caller_id_lookup": false,
    "date_created": "Wed, 17 Feb 2021 15:17:28 +0000",
    "date_updated": "Wed, 17 Feb 2021 15:23:39 +0000",
    "sms_url": "https://demo.twilio.com/welcome/sms/reply",
    "sms_method": "POST",
    "sms_fallback_url": "",
    "sms_fallback_method": "POST",
    "address_requirements": "none",
    "beta": false,
    "capabilities": {
        "voice": true,
        "sms": true,
        "mms": true,
        "fax": true
    },
    "voice_receive_mode": "voice",
    "status_callback": "",
    "status_callback_method": "POST",
    "api_version": "2010-04-01",
    "voice_application_sid": null,
    "sms_application_sid": "",
    "origin": "twilio",
    "trunk_sid": null,
    "emergency_status": "Inactive",
    "emergency_address_sid": null,
    "address_sid": null,
    "identity_sid": null,
    "bundle_sid": null,
    "uri": "/2010-04-01/Accounts/AC1bcc67e32e161e04aaacc159b2e86601/IncomingPhoneNumbers/PNd7c52583c2ffabfe2a05a165e48e3e68.json",
    "status": "in-use"
}

Crear un servicio de mensajería

Cree un servicio de mensajería en su subcuenta recién creada. Un servicio de mensajería es un recurso que puede actuar como un contenedor de sus números de teléfono y proporciona un software que facilita su vida al enviar mensajes a escala.

Para esta solicitud, usará el SID de la cuenta y el token de autenticación asociados con la subcuenta.

Solicitud

curl -X POST https://messaging.twilio.com/v1/Services \
--data-urlencode "FriendlyName=falconFlightNotifications" \
-u <INSERT YOUR SUBACCOUNT SID>:<INSERT YOUR SUBACCOUNT AUTH TOKEN>

Respuesta

La respuesta le proporcionará un SID de servicio de mensajería (MGxxxx). Usará esto en los siguientes pasos, así que téngalo a mano.

Verá varios atributos diferentes en su objeto de respuesta. Si desea obtener más información sobre todas las funciones de un servicio de mensajería, consulte la documentación del Servicio de mensajería.

{
   "fallback_method": "POST",
   "fallback_to_long_code": true,
   "date_updated": "2021-02-17T15:28:03Z",
   "synchronous_validation": false,
   "sticky_sender": true,
   "inbound_method": "POST",
   "friendly_name": "falconFlightNotifications",
   "mms_converter": true,
   "validity_period": 14400,
   "account_sid": "ACxxx",
   "fallback_url": null,
   "inbound_request_url": null,
   "url": "https://messaging.twilio.com/v1/Services/MGa91155a0d582afdde110a606465d1daa",
   "sid": "MGxxxx",
   "date_created": "2021-02-17T15:28:03Z",
   "smart_encoding": true,
   "scan_message_content": "inherit",
   "area_code_geomatch": true,
   "status_callback": null,
   "links": {
      ...
   }
}

Agregar número de teléfono al servicio de mensajería

Ahora que tiene un servicio de mensajería, puede utilizar la API de servicios para agregar su número de teléfono al servicio de mensajería.

Solicitud

curl -X POST https://messaging.twilio.com/v1/Services/<INSERT YOUR MESSAGING SERVICE SID/PhoneNumbers \
--data-urlencode "PhoneNumberSid=<INSERT PHONE NUMBER SID>" \
-u <INSERT YOUR SUBACCOUNT SID>:<INSERT YOUR SUBACCOUNT AUTH TOKEN>

Respuesta

El número de teléfono se agregó con éxito a su servicio de mensajería.

{
   "phone_number": "+14158740103",
   "date_updated": "2021-02-17T15:30:47Z",
   "capabilities": [
       "MMS",
       "SMS",
       "Voice"
   ],
   "account_sid": "AC1bcc67e32e161e04aaacc159b2e86601",
   "url": "https://messaging.twilio.com/v1/Services/MGxxx/PhoneNumbers/PNxxx",
   "country_code": "US",
   "sid": "PNxxxx",
   "date_created": "2021-02-17T15:30:47Z",
   "service_sid": "MGxxxx"
}

Enviar un mensaje

Ahora que tiene una nueva subcuenta, un servicio de mensajería con un número de teléfono le permite enviar un mensaje.

Para enviar un mensaje a través del servicio de mensajería, utilice el SID de servicio de mensajería (MGxxx) en su solicitud.

Asegúrese de verificar el número de teléfono del destinatario. Si no se verifica su número, puede agregar un número de teléfono verificado mediante la consola de Twilio.

Solicitud

curl -X POST https://api.twilio.com/2010-04-01/Accounts/<INSERT YOUR SUBACCOUNT SID>/Messages.json \
--data-urlencode "Body=Hi there" \
--data-urlencode "From=<INSERT YOUR MESSAGING SERVICE SID>
" \
--data-urlencode "To=<INSERT YOUR PHONE NUMBER E.164 FORMAT>" \
-u <INSERT YOUR SUBACCOUNT SID>:<INSERT YOUR SUBACCOUNT AUTH TOKEN>
{
   "sid": "SMb319786dcd44433b905d0e8acd2b33f3",
   "date_created": "Wed, 17 Feb 2021 15:39:56 +0000",
   "date_updated": "Wed, 17 Feb 2021 15:39:56 +0000",
   "date_sent": null,
   "account_sid": "ACxxx",
   "to": "+12083186206",
   "from": null,
   "messaging_service_sid": "MGxxx",
   "body": "Hi there",
   "status": "accepted",
   "num_segments": "0",
   "num_media": "0",
   "direction": "outbound-api",
   "api_version": "2010-04-01",
   "price": null,
   "price_unit": null,
   "error_code": null,
   "error_message": null,
   "uri": "/2010-04-01/Accounts/ACxxx/Messages/SMb319786dcd44433b905d0e8acd2b33f3.json",
   "subresource_uris": {
       "media": "/2010-04-01/Accounts/ACxxx/Messages/SMb319786dcd44433b905d0e8acd2b33f3/Media.json"
   }
}

Una vez que se realice con éxito, debería recibir un mensaje como el que se muestra a continuación:

Demostración de texto de una subcuenta

¡Excelente, funcionó!

Conclusión: las subcuentas son poderosas

Recapitulemos todo lo que hizo:

  1. Creó una subcuenta
  2. Transfirió un número de teléfono de su cuenta principal a su subcuenta
  3. Creó un servicio de mensajería en su subcuenta
  4. Agregó su número de teléfono al servicio de mensajería
  5. Envió un mensaje a través de su servicio de mensajería en su subcuenta

¡Esperamos que vea el poder de las subcuentas! Este artículo es apenas el comienzo. Si le gustó este blog, podría interesarle lo siguiente:

Este artículo fue traducido del original "How to use sub-accounts on Twilio". Mientras estamos en nuestros procesos de traducción, nos encantaría recibir sus comentarios en help@twilio.com - las contribuciones valiosas pueden generar regalos de Twilio.