Ir al contenido

Resumen de la API

Este artículo de referencia cubre los conceptos básicos de la API, incluida la terminología común y un resumen de las claves de la REST API, los permisos y cómo mantenerlas seguras.

Colección de la REST API de Braze

Colección Propósito
Catálogos Crea y gestiona catálogos y elementos de catálogo para referenciar en tus Campaigns de Braze.
Ingesta de datos en la nube Gestiona las integraciones y sincronizaciones de tu almacén de datos.
Listas y direcciones de correo electrónico Configura y gestiona la sincronización bidireccional entre Braze y tus sistemas de correo electrónico.
Exportar Accede y exporta diversos detalles de tus Campaigns, Canvas, indicadores clave de rendimiento y más.
Biblioteca multimedia Gestiona activos dentro de Braze.
Mensajes Programa, envía y gestiona tus Campaigns y Canvas.
Centro de preferencias Construye tu centro de preferencias y actualiza su estilo.
SCIM Gestiona identidades de usuario en aplicaciones y servicios basados en la nube.
SMS Gestiona los números de teléfono de tus usuarios en tus grupos de suscripción.
Grupos de suscripción Lista y actualiza los grupos de suscripción de SMS y correo electrónico almacenados en el panel de Braze.
Plantillas Crea y actualiza plantillas para mensajería por correo electrónico y Content Blocks.
Datos de usuario Identifica, rastrea y gestiona a tus usuarios.

Definiciones de la API

A continuación se presenta un resumen de los términos que puedes encontrar en la documentación de la REST API de Braze.

Endpoints

Braze gestiona varias instancias diferentes para nuestro panel y endpoints REST. Cuando tu cuenta es aprovisionada, inicias sesión en una de las siguientes URLs. Utiliza el endpoint REST correcto en función de la instancia a la que estés asignado. Si no estás seguro, abre un ticket de soporte o utiliza la siguiente tabla para hacer coincidir la URL del panel que utilizas con el endpoint REST correcto.

Para encontrar tu endpoint REST en Braze:

  1. Inicia sesión en Braze y ve a Configuración > APIs e identificadores > Claves de API.
  2. Selecciona una clave de API existente o selecciona Crear clave de API para crear una nueva.
  3. Copia el endpoint REST que se muestra en esta pestaña y utiliza ese endpoint para tus solicitudes de API.
Instancia URL Endpoint REST Punto final de SDK
US-01 https://dashboard-01.braze.com https://rest.iad-01.braze.com sdk.iad-01.braze.com
US-02 https://dashboard-02.braze.com https://rest.iad-02.braze.com sdk.iad-02.braze.com
US-03 https://dashboard-03.braze.com https://rest.iad-03.braze.com sdk.iad-03.braze.com
US-04 https://dashboard-04.braze.com https://rest.iad-04.braze.com sdk.iad-04.braze.com
US-05 https://dashboard-05.braze.com https://rest.iad-05.braze.com sdk.iad-05.braze.com
US-06 https://dashboard-06.braze.com https://rest.iad-06.braze.com sdk.iad-06.braze.com
US-07 https://dashboard-07.braze.com https://rest.iad-07.braze.com sdk.iad-07.braze.com
US-08 https://dashboard-08.braze.com https://rest.iad-08.braze.com sdk.iad-08.braze.com
US-10 https://dashboard.us-10.braze.com https://rest.us-10.braze.com sdk.us-10.braze.com
EU-01 https://dashboard-01.braze.eu https://rest.fra-01.braze.eu sdk.fra-01.braze.eu
EU-02 https://dashboard-02.braze.eu https://rest.fra-02.braze.eu sdk.fra-02.braze.eu
AU-01 https://dashboard.au-01.braze.com https://rest.au-01.braze.com sdk.au-01.braze.com
ID-01 https://dashboard.id-01.braze.com https://rest.id-01.braze.com sdk.id-01.braze.com
JP-01 https://dashboard.jp-01.braze.com https://rest.jp-01.braze.com sdk.jp-01.braze.com
KR-01 https://dashboard.kr-01.braze.com https://rest.kr-01.braze.com sdk.kr-01.braze.com

Límites de la API

Para la mayoría de las API, Braze tiene un límite de velocidad predeterminado de 250.000 solicitudes por hora. Sin embargo, ciertos tipos de solicitudes tienen su propio límite de velocidad aplicado para manejar mejor grandes volúmenes de datos en toda la base de clientes. Para más detalles, consulta Límites de velocidad de la API

ID de usuario

  • ID externo de usuario: El external_id sirve como identificador único de usuario para quien estás enviando datos. Este identificador debe ser el mismo que configuraste en el SDK de Braze para evitar crear múltiples perfiles para el mismo usuario.
  • ID de usuario de Braze: braze_id sirve como identificador único de usuario que Braze establece. Puedes utilizar este identificador para eliminar usuarios a través de la REST API, además de los external_ids.

Para más información, consulta los siguientes artículos según tu plataforma: iOS, Android y Web.

Acerca de las claves de API REST

Una clave de API REST (clave de API de interfaz de programación de aplicaciones REST) es un código único que pasas a una API para autenticar la llamada a la API e identificar la aplicación o el usuario que realiza la llamada. Accedes a la API mediante solicitudes web HTTPS al endpoint de la REST API de tu empresa. Las claves de API REST funcionan en conjunto con las claves de identificador de la aplicación para rastrear, acceder, enviar, exportar y analizar datos con el fin de garantizar que todo funcione correctamente.

Los espacios de trabajo y las claves de API van de la mano en Braze. Los espacios de trabajo están diseñados para albergar versiones de la misma aplicación en múltiples plataformas. Muchos clientes también usan espacios de trabajo para contener versiones gratuitas y de pago de sus aplicaciones en la misma plataforma. Como habrás notado, estos espacios de trabajo también hacen uso de la REST API y tienen sus propias claves de API REST. Estas claves se pueden delimitar individualmente para incluir acceso a endpoints específicos de la API. Cada llamada a la API debe incluir una clave con acceso al endpoint solicitado.

Nos referimos tanto a la clave de API REST como a la clave de API del espacio de trabajo como api_key. La api_key se incluye en cada solicitud como un encabezado de solicitud y actúa como una clave de autenticación que te permite utilizar nuestras REST API. Estas REST API se utilizan para rastrear usuarios, enviar mensajes, exportar datos de usuario y más. Cuando creas una nueva clave de API REST, debes otorgarle acceso a endpoints específicos. Al asignar permisos específicos a una clave de API, puedes limitar exactamente qué llamadas puede autenticar una clave de API.

Panel de claves de API REST en la pestaña de claves de API.

Crear claves de API REST

Para crear una nueva clave de API REST:

  1. Ve a Configuración > API e identificadores.
  2. Selecciona Crear clave de API.
  3. Asigna un nombre a tu nueva clave para identificarla fácilmente.
  4. Especifica las direcciones IP incluidas en la lista blanca y las subredes para la nueva clave.
  5. Selecciona qué permisos deseas asociar con tu nueva clave.

Permisos de claves de API REST

Los permisos de claves de API son permisos que puedes asignar a un usuario o grupo para limitar su acceso a determinadas llamadas de API. Para ver tu lista de permisos de claves de API, ve a Configuración > API e identificadores y selecciona tu clave de API.

Permiso Endpoint Descripción
users.track /users/track Registrar atributos de usuario, eventos personalizados y compras.
users.track.status /users/track/status Recuperar el estado de procesamiento de un grupo de solicitudes asíncronas de /users/track.
users.delete /users/delete Eliminar cualquier usuario.
users.alias.new /users/alias/new Crear un nuevo alias para un usuario existente.
users.identify /users/identify Identificar a un usuario con solo alias mediante un ID externo.
users.export.ids /users/export/ids Consultar información del perfil de usuario por ID de usuario.
users.export.segment /users/export/segment Consultar información del perfil de usuario por Segment.
users.merge /users/merge Fusionar dos usuarios existentes entre sí.
users.external_ids.rename /users/external_ids/rename Cambiar el ID externo de un usuario existente.
users.external_ids.remove /users/external_ids/remove Eliminar el ID externo de un usuario existente.
users.alias.update /users/alias/update Actualizar un alias de un usuario existente.
users.export.global_control_group /users/export/global_control_group Consultar información del perfil de usuario en el grupo de control global.
Permiso Endpoint Descripción
email.unsubscribe /email/unsubscribes Consultar direcciones de correo electrónico que cancelaron su suscripción.
email.status /email/status Cambiar el estado de una dirección de correo electrónico.
email.hard_bounces /email/hard_bounces Consultar direcciones de correo electrónico con rebotes duros.
email.bounce.remove /email/bounce/remove Eliminar direcciones de correo electrónico de tu lista de rebotes duros.
email.spam.remove /email/spam/remove Eliminar direcciones de correo electrónico de tu lista de correo no deseado.
email.blacklist /email/blacklist Añadir direcciones de correo electrónico a la lista negra.
Permiso Endpoint Descripción
messages.send /messages/send Enviar un mensaje inmediato a usuarios específicos.
messages.schedule.create /messages/schedule/create Programar un mensaje para enviarlo en un momento específico.
messages.schedule.update /messages/schedule/update Actualizar un mensaje programado.
messages.schedule.delete /messages/schedule/delete Eliminar un mensaje programado.
messages.schedule_broadcasts /messages/scheduled_broadcasts Consultar todos los mensajes de difusión programados.
messages.live_activity.update /messages/live_activity/update Actualizar una actividad en vivo de iOS.
Permiso Endpoint Descripción
campaigns.trigger.send /campaigns/trigger/send Desencadenar el envío de una Campaign existente.
campaigns.trigger.schedule.create /campaigns/trigger/schedule/create Programar el envío de una Campaign con entrega activada por API.
campaigns.trigger.schedule.update /campaigns/trigger/schedule/update Actualizar una Campaign programada con entrega activada por API.
campaigns.trigger.schedule.delete /campaigns/trigger/schedule/delete Eliminar una Campaign programada con entrega activada por API.
campaigns.list /campaigns/list Consultar una lista de Campaigns.
campaigns.data_series /campaigns/data_series Consultar análisis de Campaign en un intervalo de tiempo.
campaigns.details /campaigns/details Consultar detalles de una Campaign específica.
sends.data_series /sends/data_series Consultar análisis de envío de mensajes en un intervalo de tiempo.
sends.id.create /sends/id/create Crear un ID de envío para el seguimiento de envíos masivos de mensajes.
campaigns.url_info.details /campaigns/url_info/details Consultar detalles de URL de una variación de mensaje específica dentro de una Campaign. Este permiso solo está disponible para espacios de trabajo con aliasing de enlaces habilitado. Si este permiso no está disponible en tu espacio de trabajo, contacta a tu director de cuentas de Braze.
transactional.send /transactional/v1/campaigns/{campaign_id}/send Permite el envío de mensajería transaccional utilizando el endpoint de mensajería transaccional.
Permiso Endpoint Descripción
canvas.trigger.send /canvas/trigger/send Desencadenar el envío de un Canvas existente.
canvas.trigger.schedule.create /canvas/trigger/schedule/create Programar el envío de un Canvas con entrega activada por API.
canvas.trigger.schedule.update /canvas/trigger/schedule/update Actualizar un Canvas programado con entrega activada por API.
canvas.trigger.schedule.delete /canvas/trigger/schedule/delete Eliminar un Canvas programado con entrega activada por API.
canvas.list /canvas/list Consultar una lista de Canvas.
canvas.data_series /canvas/data_series Consultar análisis de Canvas en un intervalo de tiempo.
canvas.details /canvas/details Consultar detalles de un Canvas específico.
canvas.data_summary /canvas/data_summary Consultar resúmenes acumulados de análisis de Canvas en un intervalo de tiempo.
canvas.url_info.details /canvas/url_info/details Consultar detalles de URL de una variación de mensaje específica dentro de un paso en Canvas. Este permiso solo está disponible para espacios de trabajo con aliasing de enlaces habilitado. Si este permiso no está disponible en tu espacio de trabajo, contacta a tu director de cuentas de Braze.
Permiso Endpoint Descripción
segments.list /segments/list Consultar una lista de Segments.
segments.data_series /segments/data_series Consultar análisis de Segment en un intervalo de tiempo.
segments.details /segments/details Consultar detalles de un Segment específico.
Permiso Endpoint Descripción
purchases.product_list /purchases/product_list Consultar una lista de productos comprados en tu aplicación.
purchases.revenue_series /purchases/revenue_series Consultar el dinero total gastado por día en tu aplicación en un intervalo de tiempo.
purchases.quantity_series /purchases/quantity_series Consultar el número total de compras por día en tu aplicación en un intervalo de tiempo.
Permiso Endpoint Descripción
events.list /events/list Consultar una lista de eventos personalizados.
events.data_series /events/data_series Consultar ocurrencias de un evento personalizado en un intervalo de tiempo.
Permiso Endpoint Descripción
sessions.data_series /sessions/data_series Consultar sesiones por día en un intervalo de tiempo.
Permiso Endpoint Descripción
kpi.dau.data_series /kpi/dau/data_series Consultar usuarios activos únicos por día en un intervalo de tiempo.
kpi.mau.data_series /kpi/mau/data_series Consultar el total de usuarios activos únicos en una ventana móvil de 30 días en un intervalo de tiempo.
kpi.new_users.data_series /kpi/new_users/data_series Consultar nuevos usuarios por día en un intervalo de tiempo.
kpi.uninstalls.data_series /kpi/uninstalls/data_series Consultar desinstalaciones de la aplicación por día en un intervalo de tiempo.
Permiso Endpoint Descripción
templates.email.create /templates/email/create Crear una nueva plantilla de correo electrónico en el panel.
templates.email.info /templates/email/info Consultar información de una plantilla específica.
templates.email.list /templates/email/list Consultar una lista de plantillas de correo electrónico.
templates.email.update /templates/email/update Actualizar una plantilla de correo electrónico almacenada en el panel.
Permiso Descripción
sso.saml.login Configurar el inicio de sesión iniciado por el proveedor de identidad. Para obtener más información, consulta Inicio de sesión iniciado por el proveedor de servicios (SP).
Permiso Endpoint Descripción
content_blocks.info /content_blocks/info Consultar información de una plantilla específica.
content_blocks.list /content_blocks/list Consultar una lista de Content Blocks.
content_blocks.create /content_blocks/create Crear un nuevo Content Block en el panel.
content_blocks.update /content_blocks_update Actualizar un Content Block existente en el panel.
Permiso Endpoint Descripción
preference_center.get /preference_center/v1/{preferenceCenterExternalId} Obtener un centro de preferencias.
preference_center.list /preference_center/v1/list Listar centros de preferencias.
preference_center.update /preference_center/v1

/preference_center/v1/{preferenceCenterExternalID}
Crear o actualizar un centro de preferencias.
preference_center.user.get /preference_center/v1/{preferenceCenterExternalId}/url/{userId} Obtener un enlace de centro de preferencias para un usuario.
Permiso Endpoint Descripción
subscription.status.set /subscription/status/set Establecer el estado del grupo de suscripción.
subscription.status.get /subscription/status/get Obtener el estado del grupo de suscripción.
subscription.groups.get /subscription/user/status Obtener el estado de los grupos de suscripción a los que usuarios específicos están explícitamente suscritos o dados de baja.
Permiso Endpoint Descripción
sms.invalid_phone_numbers /sms/invalid_phone_numbers Consultar números de teléfono no válidos.
sms.invalid_phone_numbers.remove /sms/invalid_phone_numbers/remove Eliminar la marca de número de teléfono no válido de los usuarios.
Permiso Endpoint Descripción
catalogs.add_items /catalogs/{catalog_name}/items Añadir múltiples elementos a un catálogo existente.
catalogs.update_items /catalogs/{catalog_name}/items Actualizar múltiples elementos en un catálogo existente.
catalogs.delete_items /catalogs/{catalog_name}/items Eliminar múltiples elementos de un catálogo existente.
catalogs.get_item /catalogs/{catalog_name}/items/{item_id} Obtener un único elemento de un catálogo existente.
catalogs.update_item /catalogs/{catalog_name}/items/{item_id} Actualizar un único elemento en un catálogo existente.
catalogs.create_item /catalogs/{catalog_name}/items/{item_id} Crear un único elemento en un catálogo existente.
catalogs.delete_item /catalogs/{catalog_name}/items/{item_id} Eliminar un único elemento de un catálogo existente.
catalogs.replace_item /catalogs/{catalog_name}/items/{item_id} Reemplazar un único elemento de un catálogo existente.
catalogs.create /catalogs Crear un catálogo.
catalogs.get /catalogs Obtener una lista de catálogos.
catalogs.delete /catalogs/{catalog_name} Eliminar un catálogo.
catalogs.get_items /catalogs/{catalog_name}/items Obtener una vista previa de los elementos de un catálogo existente.
catalogs.replace_items /catalogs/{catalog_name}/items Reemplazar elementos en un catálogo existente.
Permiso Endpoint Descripción
sdk_authentication.create /app_group/sdk_authentication/create Crear una nueva clave de autenticación de SDK para tu aplicación.
sdk_authentication.primary /app_group/sdk_authentication/primary Marcar una clave de autenticación de SDK como la clave principal de tu aplicación.
sdk_authentication.delete /app_group/sdk_authentication/delete Eliminar una clave de autenticación de SDK de tu aplicación.
sdk_authentication.keys /app_group/sdk_authentication/keys Obtener todas las claves de autenticación de SDK de tu aplicación.

Gestionar claves de API REST

Puedes ver los detalles o eliminar claves de API REST existentes desde Configuración > API e identificadores > pestaña Claves de API. Ten en cuenta que no puedes editar las claves de API REST una vez que las creas.

La pestaña Claves de API incluye la siguiente información para cada clave:

Campo Descripción
Nombre de la clave de API El nombre dado a la clave en el momento de su creación.
Identificador La clave de API.
Creada por La dirección de correo electrónico del usuario que creó la clave. Este campo muestra “N/A” para las claves creadas antes de junio de 2023.
Fecha de creación La fecha en que se creó esta clave.
Último uso La fecha en que se usó esta clave por última vez. Este campo muestra “N/A” para las claves que nunca se han usado.

Para ver los detalles de una clave de API, pasa el cursor sobre la clave y selecciona Ver. Esto incluye todos los permisos que tiene esta clave, las IP incluidas en la lista blanca (si las hay) y si esta clave está optada en la lista blanca de IP de Braze.

La lista de permisos de clave de API en el panel de Braze.

Ten en cuenta que al eliminar un usuario, Braze no elimina las claves de API asociadas que ese usuario creó. Para eliminar una clave, pasa el cursor sobre la clave y selecciona Eliminar.

Una clave de API llamada «Último uso» con el icono de papelera resaltado, mostrando «Eliminar».

Seguridad de las claves de API REST

Las claves de API se utilizan para autenticar una llamada a la API. Cuando creas una nueva clave de API REST, necesitas otorgarle acceso a endpoints específicos. Al asignar permisos específicos a una clave de API, puedes limitar exactamente qué llamadas puede autenticar una clave de API.

Dado que las claves de API REST permiten acceso a endpoints de la REST API potencialmente sensibles, asegura estas claves y compártelas solo con partners de confianza. Nunca deben exponerse públicamente. Por ejemplo, no uses esta clave para realizar llamadas AJAX desde tu sitio web ni la expongas de ninguna otra manera pública.

Una buena práctica de seguridad es asignar a un usuario solo el acceso necesario para completar su trabajo: este principio también puede aplicarse a las claves de API asignando permisos a cada clave. Estos permisos te brindan un mejor control y seguridad sobre las diferentes áreas de tu cuenta.

Si expones una clave accidentalmente, puedes eliminarla desde la consola para desarrolladores. Para obtener ayuda con este proceso, abre un ticket de soporte.

Seguridad de las claves de API REST y las claves de API de SDK

Las claves de API REST y las claves de API de SDK tienen perfiles de seguridad diferentes.

Atributo Claves de API REST Claves de API de SDK
Propósito Autenticación del lado del servidor para la REST API (envío de mensajes, exportación de datos, gestión de usuarios) Identificación del lado del cliente para el SDK de Braze (ingesta de datos, mensajes dentro de la aplicación, Content Cards)
Visibilidad Debe permanecer privada. Nunca la expongas en código del lado del cliente, repositorios públicos o aplicaciones de usuario. Diseñada para ser pública. Se incluye dentro del binario de tu aplicación o es visible en el JavaScript del navegador web, similar a un ID de seguimiento de Google Analytics.
Solución en caso de exposición Revoca la clave de inmediato y crea un reemplazo en Configuración > API e identificadores > Claves de API. Una clave de API REST expuesta se puede usar para enviar mensajes, exportar datos de usuario o modificar la configuración de la cuenta. No se requiere ninguna acción. Una clave de API de SDK solo puede ingestar datos y recuperar mensajería del lado del cliente (como mensajes dentro de la aplicación y Content Cards). No puede exportar datos de usuario, enviar mensajes en tu nombre ni modificar Campaigns.

Lista blanca de IP para la API

Para mayor seguridad, puedes especificar una lista de direcciones IP y subredes que tienen permiso para realizar solicitudes a la REST API para una clave de API REST determinada. Esto se conoce como lista de permitidos o lista blanca. Para permitir direcciones IP o subredes específicas, añádelas en la sección IPs en lista blanca al crear una nueva clave de API REST:

Opción para incluir IPs en la lista blanca al crear una clave de API.

Si no especificas ninguna, las solicitudes se pueden enviar desde cualquier dirección IP.

Autenticación y seguridad de la API

Autenticación con token Bearer

Braze autentica las solicitudes a la API REST utilizando la clave de API REST pasada como token Bearer en el encabezado de solicitud Authorization. Cuando envías una solicitud, incluye tu clave de API en el siguiente formato:

Authorization: Bearer YOUR_REST_API_KEY

En cada solicitud, Braze realiza las siguientes comprobaciones de validación en el servidor:

  1. Validez del token: Verifica que la clave de API REST existe en Braze y está activa (por ejemplo, que no ha sido revocada o deshabilitada).
  2. Autorización del token: Confirma que la clave de API tiene los permisos necesarios para el endpoint solicitado.

Si la autenticación falla, la API devuelve una respuesta de error con un código de estado HTTP. Por ejemplo, 401 Unauthorized indica una clave no válida o faltante, mientras que 403 Forbidden indica que la clave no tiene permisos para el endpoint solicitado. Para más información, consulta Errores de API.

Uso de mayúsculas en los encabezados de solicitud

Los nombres de los encabezados HTTP no distinguen entre mayúsculas y minúsculas, por lo que Authorization y authorization son equivalentes. Lo mismo aplica a otros encabezados de solicitud estándar, como Content-Type. Envía el formato de mayúsculas que produzca tu cliente HTTP.

Braze también acepta cualquier variante de mayúsculas del esquema Bearer (Bearer, bearer o BEARER). Envía la clave de API REST exactamente como fue emitida.

Seguridad a nivel de red

Las solicitudes a la API REST de Braze están protegidas por cifrado de seguridad de la capa de transporte (TLS) a lo largo de toda la ruta de la solicitud. La siguiente tabla describe el flujo de red para una solicitud a la API desde tu servidor hasta Braze:

Paso Componente Descripción
1 Tu servidor Inicia una solicitud HTTPS con cifrado TLS.
2 Cloudflare Finaliza la conexión TLS del cliente y aplica protecciones a nivel de red.
3 Network Load Balancer (NLB) Reenvía paquetes a la infraestructura de la aplicación. Los NLB operan en la capa 4, lo que significa que no hay proxy en la capa 7. Los paquetes se reenvían sin inspección ni modificación a nivel HTTP.
4 NGINX ingress Finaliza la conexión TLS interna y enruta la solicitud.
5 Unicorn (servidor de aplicación) Procesa la solicitud autenticada.

El cifrado TLS cubre cada enlace de la cadena. Tu servidor se conecta a Cloudflare a través de TLS, y Cloudflare establece una conexión TLS independiente a través del NLB hacia el NGINX ingress, de modo que tu clave de API y los datos de la solicitud permanecen cifrados en tránsito.

Recursos adicionales

Biblioteca cliente de Ruby

Si estás implementando Braze con Ruby, puedes usar la biblioteca cliente de Ruby para reducir el tiempo de importación de datos. Una biblioteca cliente es una colección de código específica de un lenguaje de programación —en este caso, Ruby— que facilita el uso de una API.

La biblioteca cliente de Ruby es compatible con los endpoints de usuario.

New Stuff!