Skip to content

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 API REST 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 URL. Utiliza el endpoint REST correcto en función de la instancia a la que estés aprovisionado. 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 clave.
  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 gestionar mejor los 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 del usuario para el cual 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 usar este identificador para eliminar usuarios a través de la API REST, 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 transferencia de estado representacional) 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 usando 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 aplicación para rastrear, acceder, enviar, exportar y analizar datos para ayudar a 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 premium de sus aplicaciones en la misma plataforma. Como podrás notar, estos espacios de trabajo también hacen uso de la REST API y tienen sus propias claves de API REST. Estas claves pueden configurarse 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 usar 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 dicha clave.

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

Crear claves de API REST

Para crear una nueva clave de API REST:

  1. Ve a Configuración > APIs e identificadores.
  2. Selecciona Crear clave de API.
  3. Dale un nombre a tu nueva clave para identificarla de un vistazo.
  4. Especifica las direcciones IP permitidas y subredes para la nueva clave.
  5. Selecciona los permisos que 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 ciertas llamadas de API. Para ver tu lista de permisos de claves de API, ve a Configuración > APIs 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.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 un usuario de solo alias con 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 dadas de baja.
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 rebote duro.
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 de bloqueo.
Permiso Endpoint Descripción
messages.send /messages/send Enviar un mensaje inmediato a usuarios específicos.
messages.schedule.create /messages/schedule/create Programar el envío de un mensaje 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 desencadenada por API.
campaigns.trigger.schedule.update /campaigns/trigger/schedule/update Actualizar una Campaign programada con entrega desencadenada por API.
campaigns.trigger.schedule.delete /campaigns/trigger/schedule/delete Eliminar una Campaign programada con entrega desencadenada por API.
campaigns.list /campaigns/list Consultar una lista de Campaigns.
campaigns.data_series /campaigns/data_series Consultar análisis de Campaign en un rango 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 rango 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, comunícate con tu director de cuentas de Braze.
transactional.send /transactional/v1/campaigns/{campaign_id}/send Permite enviar mensajes transaccionales usando 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 desencadenada por API.
canvas.trigger.schedule.update /canvas/trigger/schedule/update Actualizar un Canvas programado con entrega desencadenada por API.
canvas.trigger.schedule.delete /canvas/trigger/schedule/delete Eliminar un Canvas programado con entrega desencadenada por API.
canvas.list /canvas/list Consultar una lista de Canvas.
canvas.data_series /canvas/data_series Consultar análisis de Canvas en un rango de tiempo.
canvas.details /canvas/details Consultar detalles de un Canvas específico.
canvas.data_summary /canvas/data_summary Consultar resúmenes de análisis de Canvas en un rango 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, comunícate con 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 rango 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 rango de tiempo.
purchases.quantity_series /purchases/quantity_series Consultar el número total de compras por día en tu aplicación en un rango 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 rango de tiempo.
Permiso Endpoint Descripción
sessions.data_series /sessions/data_series Consultar sesiones por día en un rango de tiempo.
Permiso Endpoint Descripción
kpi.dau.data_series /kpi/dau/data_series Consultar usuarios activos únicos por día en un rango 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 rango de tiempo.
kpi.new_users.data_series /kpi/new_users/data_series Consultar nuevos usuarios por día en un rango de tiempo.
kpi.uninstalls.data_series /kpi/uninstalls/data_series Consultar desinstalaciones de la aplicación por día en un rango 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 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 del 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 Agregar 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 elemento individual de un catálogo existente.
catalogs.update_item /catalogs/{catalog_name}/items/{item_id} Actualizar un elemento individual en un catálogo existente.
catalogs.create_item /catalogs/{catalog_name}/items/{item_id} Crear un elemento individual en un catálogo existente.
catalogs.delete_item /catalogs/{catalog_name}/items/{item_id} Eliminar un elemento individual de un catálogo existente.
catalogs.replace_item /catalogs/{catalog_name}/items/{item_id} Reemplazar un elemento individual 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 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.

Administrar claves de API REST

Puedes ver los detalles o eliminar las claves de API REST existentes desde Configuración > APIs e identificadores > pestaña Claves de API. Ten en cuenta que no puedes editar las claves de API REST después de crearlas.

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 claves creadas antes de junio de 2023.
Fecha de creación La fecha en que se creó esta clave.
Última vez vista La fecha en que se usó esta clave por última vez. Este campo muestra “N/A” para claves que nunca se han utilizado.

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 permitidas (si las hay) y si esta clave está habilitada para la lista blanca de IP de Braze.

La lista de permisos de claves 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 "Última vez vista" con el icono de papelera resaltado, mostrando "Eliminar".

Seguridad de claves de API REST

Las claves de API se utilizan para autenticar una llamada de 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 dicha clave.

Dado que las claves de API REST permiten el acceso a endpoints de 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 hacer 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 mejor seguridad y control 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 claves de API REST y claves de API de SDK

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

  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, administració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 Deben permanecer privadas. Nunca las expongas en código del lado del cliente, repositorios públicos o aplicaciones de usuario. Diseñadas para ser públicas. Se incluyen dentro del binario de tu aplicación o son visibles en el JavaScript del navegador web, similar a un ID de seguimiento de Google Analytics.
Solución si se exponen Revoca la clave inmediatamente y crea una de reemplazo en Configuración > APIs e identificadores > Claves de API. Una clave de API REST expuesta puede usarse para enviar mensajes, exportar datos de usuario o modificar la configuración de la cuenta. No se requiere acción. Una clave de API de SDK solo puede ingerir 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 de IP permitidas para API

Para mayor seguridad, puedes especificar una lista de direcciones IP y subredes que tienen permitido hacer solicitudes de 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, agrégalas a la sección Whitelist IPs al crear una nueva clave de API REST:

Opción para agregar IP a la lista de permitidos al crear una clave de API.

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

Autenticación y seguridad de la API

Autenticación con token Bearer

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

1
Authorization: Bearer YOUR_REST_API_KEY

En cada solicitud, Braze realiza las siguientes comprobaciones de validación del lado del 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 ausente, mientras que 403 Forbidden indica que la clave no tiene permiso para el endpoint solicitado. Para más información, consulta Errores de API.

Formato 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 para otros encabezados de solicitud estándar, como Content-Type. Envía el formato de mayúsculas que tu cliente HTTP produzca.

Braze también acepta cualquier formato 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 de la REST API a Braze están protegidas mediante cifrado Transport Layer Security (TLS) a lo largo de toda la ruta de la solicitud. La siguiente tabla describe el flujo de red para una solicitud de API desde tu servidor hasta Braze:

Paso Componente Descripción
1 Tu servidor Inicia una solicitud HTTPS con cifrado TLS.
2 Cloudflare Termina 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 proxying en la Capa 7. Los paquetes se reenvían sin inspección ni modificación a nivel HTTP.
4 NGINX ingress Termina 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 separada a través del NLB hacia el NGINX ingress, por lo que tu clave de API y los datos de la solicitud permanecen cifrados en tránsito.

Recursos adicionales

Biblioteca de cliente Ruby

Si estás implementando Braze con Ruby, puedes usar la biblioteca de cliente Ruby para reducir el tiempo de importación de datos. Una biblioteca de 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 de cliente Ruby es compatible con los endpoints de usuario.

New Stuff!