Configura tu cuenta de socio

Una vez que te registres como socio de RCS para empresas, tendrás una cuenta de socio. Para acceder a la configuración de tu cuenta de socio, abre la Consola para desarrolladores de Business Communications y haz clic en Partner account settings. 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 que reciben los operadores (como el campo owner_name). Los operadores lo usarán para identificarte como socio de confianza y generar la información de facturación correcta para que uses RCS for Business y te comuniques con 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

Persona con la que Google se comunicará si hay problemas técnicos 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 actualizarlo. Cuando configuras tu webhook de socio, se aplica a todos tus agentes. Si quieres usar un webhook diferente para un agente individual, puedes configurar un webhook del agente que solo se aplicará a ese agente.

Administrar marcas

Como socio de RCS for Business, 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 los cambios y haz clic en Listo.

Cómo quitar una marca

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

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

Administrar 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 la Consola para desarrolladores para administrar todos los agentes que pertenecen a la cuenta de socio.
  • Los lectores tienen acceso de solo lectura a la consola para desarrolladores 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 la fila de la tabla correspondiente.
  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 del 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 la fila de la tabla.
  2. Selecciona Editar rol.
  3. Elige un rol nuevo en el menú desplegable.
  4. Haz clic en Guardar.

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

Cuando realizas llamadas a la API de RB, 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. El navegador descarga la clave de la cuenta de servicio.

Almacena la clave de tu 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 tu webhook de socio

Un webhook es una devolución de llamada HTTPS creada por el 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 alguno 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 del agente.

Para configurar tu webhook de socio, sigue estos pasos:

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

  2. Abre la Configuración de la cuenta.

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

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

  5. Anota tu valor de clientToken. Lo necesitas para verificar que los mensajes que recibes provienen de Google.

  6. Configura tu webhook para que acepte una solicitud POST con el parámetro clientToken especificado y envíe 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 POST con el siguiente contenido del cuerpo

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

    entonces tu webhook debería confirmar el valor de clientToken y, si clientToken es correcto, devolver una respuesta 200 OK con 1234567890 como 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 la consola de Google Developers, haz clic en Verificar. Cuando RCS para Empresas verifique tu webhook, se cerrará el diálogo.

Para obtener orientación sobre el procesamiento asíncrono de webhooks y evitar errores de entrega, consulta Control de mensajes.

Cómo verificar los mensajes entrantes

Dado 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 envió un mensaje que recibiste, sigue estos pasos:

  1. Extrae el encabezado X-Goog-Signature del mensaje. Es una copia con hash y codificada en base64 de la carga útil del cuerpo del mensaje.
  2. Decodifica en Base64 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 lo configuraste) como clave, crea un HMAC SHA512 de los bytes de la carga útil del mensaje decodificado en Base64 y codifica el resultado en Base64.
  4. Compara el hash X-Goog-Signature con el que creaste.
    • Si los hashes coinciden, confirmaste que Google envió el mensaje.
    • Si los hashes no coinciden, revisa el proceso de codificación hash en un mensaje que se sepa que funciona correctamente.

      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 ya configuraste tu cuenta de socio, es hora de crear tu primer agente.