Configura tu cuenta de socio

Una vez que te registres como socio de RBM, tendrás una cuenta de socio. Para acceder a la configuración de tu cuenta de socio, abre Developer Console de Business Communications y haz clic en Configuración de la cuenta de socio. Desde allí, puedes hacer lo siguiente:

Actualiza la información de la cuenta de socio

En la página Configuración, puedes ver tu ID de socio y actualizar la siguiente información:

Campo Descripción
Nombre del socio Nombre de tu cuenta de socio
Nombre visible El nombre aparecerá en los informes de facturación de RBM que reciben los operadores (como el campo owner_name). Los operadores la usarán para identificarte como socio de confianza y asegurarse de generar la información de facturación correcta para que uses la RBM y llegues a sus suscriptores. El nombre que proporciones aquí debe coincidir con el que se usa en los contratos de mensajería de tu operador.
Punto de contacto técnico

Es la persona con la que Google se comunicará en caso de que haya algún problema técnico con tus agentes. Puedes actualizar su

  • Nombre
  • Dirección de correo electrónico empresarial
  • Número de teléfono
Webhook Esta es la URL del extremo de tu webhook. Haz clic en Configurar para actualizarla. Cuando configuras el webhook de tu socio, se aplica a todos tus agentes. Si deseas usar un webhook diferente para un agente individual, puedes configurar un webhook de agente que solo se aplicará a ese agente.

Administra marcas

Como socio de RBM, puedes crear agentes en nombre de las marcas.

Usa la página Marcas en la Configuración de la cuenta para agregar, editar y quitar las marcas asociadas con tu cuenta de socio.

Agregar una marca

Para agregar una marca, ingresa su nombre en el campo de entrada y haz clic en Agregar.

Cómo editar una marca

Para editar una marca, sigue estos pasos:

  1. Haz clic en la casilla de verificación junto al nombre de la marca.
  2. Haz clic en el botón y, luego, en Editar nombre.
  3. Realiza las modificaciones necesarias y haz clic en Listo.

Cómo quitar una marca

No se puede quitar una marca si está asociada a un agente, incluso si este no se lanzó.

Para quitar una marca, haz clic en la casilla de verificación junto a su nombre y, luego, en Borrar.

Administración de usuarios

En la página Usuarios de la Configuración de la cuenta, puedes administrar los usuarios de tu cuenta de socio. El usuario que creó la cuenta de socio tiene el rol de propietario. Los usuarios nuevos pueden tener el rol de administrador o lector.

  • Los administradores pueden acceder a todas las funciones de Play Console para administrar todos los agentes que pertenecen a la cuenta de socio.
  • Los lectores tienen acceso de solo lectura a la Consola de Play para ver todos los agentes que pertenecen a la cuenta de socio.

Agrega un usuario

Para agregar un usuario, ingresa su dirección de correo electrónico en el campo de entrada y selecciona su rol.

Cuando agregas un usuario nuevo, este recibe un correo electrónico en el que se le notifica que tiene acceso a la cuenta de socio.

Quitar un usuario

Sigue estos pasos para quitar usuarios:

  1. Busca el usuario que deseas quitar y haz clic en el botón en su fila de la tabla.
  2. Selecciona Quitar usuario.
  3. Confirma la eliminación.

El usuario que quitaste recibirá un correo electrónico en el que se le notificará que ya no tiene acceso a la cuenta de socio.

No puedes quitar a un usuario con el rol de propietario. Para cambiar o quitar al propietario, debes comunicarte con el equipo de asistencia.

Cambiar la función de un usuario

Para actualizar el rol de un usuario, sigue estos pasos:

  1. Busca el usuario que deseas actualizar y haz clic en el botón en su fila de la tabla.
  2. Selecciona Editar rol.
  3. Elige un nuevo rol en el menú desplegable.
  4. Haz clic en Guardar.

Configura una cuenta de servicio para autenticar las llamadas a la API

Cuando realizas llamadas a la API de RBM, autenticas las llamadas con una clave de cuenta de servicio. Esta clave te permite crear y administrar marcas y agentes, y enviar mensajes y solicitudes como agente. Una cuenta de servicio puede tener hasta 10 claves.

Para autenticar de forma segura las llamadas a la API, también necesitas la herramienta de línea de comandos oauth2l.

Sigue estos pasos para generar una clave de cuenta de servicio:

  1. En Configuración de la cuenta, navega a la página Cuenta de servicio.
  2. Haz clic en Crear clave y, luego, en Crear. Tu navegador descarga la clave de la cuenta de servicio.

Almacena la clave de la cuenta de servicio en una ubicación privada y segura. No compartas tu clave públicamente. Necesitarás esta clave más adelante para acceder a las APIs de RBM.

Configura el webhook de tu socio

Un webhook es una devolución de llamada HTTPS creada por un socio que especifica cómo debe responder tu agente a los mensajes y eventos. Una vez que configures tu webhook, podrás comenzar a recibir mensajes y eventos.

Si quieres usar un webhook diferente para cualquiera de tus agentes, puedes configurar un webhook a nivel del agente que anule el webhook del socio. Para obtener más información, consulta Configura un webhook de agente.

Para configurar tu webhook de socio, sigue estos pasos:

  1. Abre Business Communications Developer Console y accede con la Cuenta de Google de tu socio de RBM.

  2. Abre la Configuración de la cuenta.

  3. En URL de webhook de RCS Business Messaging, haz clic en Configurar.

  4. En URL del extremo del webhook, ingresa la URL de tu webhook que comience con "https://".

  5. Anota el valor de clientToken. La necesitas para verificar que los mensajes que recibes provengan de Google.

  6. Configura tu webhook para que acepte una solicitud POST con el parámetro clientToken especificado y envía una respuesta 200 OK con el valor de texto sin formato del parámetro secret como cuerpo de la respuesta.

    Por ejemplo, si tu webhook recibe una solicitud de POST con el siguiente contenido del cuerpo

    {
      "clientToken":"SJENCPGJESMGUFPY",
      "secret":"1234567890"
    }
    

    entonces, tu webhook debe confirmar el valor clientToken y, si clientToken es correcto, mostrar una respuesta 200 OK con 1234567890 como el cuerpo de la respuesta:

    // clientToken from Configure
    const myClientToken = "SJENCPGJESMGUFPY";
    
    // Example endpoint
    app.post("/rbm-webhook", (req, res) => {
      const msg = req.body;
      if (msg.clientToken === myClientToken) {
          res.status(200).send(msg.secret);
          return;
      }
      res.send(400);
    });
    
  7. En Play Console, haz clic en Verificar. Cuando RBM verifica tu webhook, se cierra el diálogo.

Para controlar las fallas de entrega de webhooks y garantizar un procesamiento de mensajes confiable, consulta Manejo de mensajes.

Verifica los mensajes entrantes

Debido a que los webhooks pueden recibir mensajes de cualquier remitente, debes verificar que Google haya enviado los mensajes entrantes antes de procesar el contenido de los mensajes.

Para verificar que Google te envió un mensaje, sigue estos pasos:

  1. Extrae el encabezado X-Goog-Signature del mensaje. Esta es una copia con hash y codificación en base64 de la carga útil del cuerpo del mensaje.
  2. Decodifica en base 64 la carga útil de RBM en el elemento message.body de la solicitud.
  3. Con el token de cliente de tu webhook (que especificaste cuando configuraste el webhook) como clave, crea un HMAC SHA512 de los bytes de la carga útil del mensaje decodificada en base 64 y codifica el resultado en base 64.
  4. Compara el hash de X-Goog-Signature con el que creaste.
    • Si los valores hash coinciden, significa que Google envió el mensaje.
    • Si los valores hash no coinciden, verifica el proceso de codificación hash en un mensaje que se sepa que es correcto.

      Si tu proceso de hash funciona correctamente y recibes un mensaje que crees que se te envió de forma fraudulenta, comunícate con nosotros.

Node.js

  if ((requestBody.hasOwnProperty('message')) && (requestBody.message.hasOwnProperty('data'))) {
    // Validate the received hash to ensure the message came from Google RBM
    let userEventString = Buffer.from(requestBody.message.data, 'base64');
    let hmac = crypto.createHmac('sha512', CLIENT_TOKEN);
    let data = hmac.update(userEventString);
    let genHash = data.digest('base64');
    let headerHash = req.header('X-Goog-Signature');

    if (headerHash === genHash) {
      let userEvent = JSON.parse(userEventString);

      console.log('userEventString: ' + userEventString);
      handleMessage(userEvent);
    } else {
      console.log('hash mismatch - ignoring message');
    }
  }

  res.sendStatus(200);
  

Próximos pasos

Ahora que se configuró tu cuenta de socio, es hora de compilar tu primer agente.