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 Braze REST API

Colección Propósito
Catálogos Crea y gestiona catálogos y elementos de catálogo para hacer referencia en tus Braze Campaigns.
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, KPI y más.
Biblioteca de medios Gestiona los activos dentro de Braze.
Mensajes Programa, envía y gestiona tus Campaigns y Canvas.
Centro de preferencias Crea 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 provisionada, inicias sesión en una de las siguientes URL. Usa el endpoint REST correcto según la instancia a la que estés asignado. Si no estás seguro, abre un ticket de soporte o usa la siguiente tabla para hacer coincidir la URL del panel que usas con el endpoint REST correcto.

Para encontrar tu endpoint REST en Braze:

  1. Inicia sesión en Braze y ve a Configuración > API 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 usa 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 solicitud 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 del usuario para el cual estás enviando datos. Este identificador debe ser el mismo que estableces en el SDK de Braze para evitar crear múltiples perfiles para el mismo usuario.
  • ID de usuario de Braze: El braze_id sirve como identificador único de usuario que Braze establece. Puedes usar 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 REST API

Una clave de REST Application Programming Interface (clave de REST API) 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 REST API de tu empresa. Las claves de REST API funcionan en conjunto con las claves de identificador de aplicación para rastrear, acceder, enviar, exportar y analizar datos, ayudando a garantizar que todo funcione sin problemas.

Los espacios de trabajo y las claves de API van de la mano en Braze. Los espacios de trabajo están diseñados para alojar 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 utilizan la REST API y tienen sus propias claves de REST API. Estas claves pueden tener alcances individuales para incluir acceso a endpoints específicos de la API. Cada llamada a la API debe incluir una clave con acceso al endpoint invocado.

Nos referimos tanto a la clave de REST API 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 REST API, debes darle 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 REST API en la pestaña Claves de API.

Crear claves de REST API

Para crear una nueva clave de REST API:

  1. Ve a Configuración > API e identificadores.
  2. Selecciona Crear clave de API.
  3. Asigna 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 qué permisos deseas asociar con tu nueva clave.

Permisos de claves de REST API

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 > 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.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 de perfil de usuario por ID de usuario.
users.export.segment /users/export/segment Consultar información de 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 para un usuario existente.
users.export.global_control_group /users/export/global_control_group Consultar información de perfil de usuario en el grupo de control global.
Permiso Endpoint Descripción
email.unsubscribe /email/unsubscribes Consultar direcciones de correo electrónico canceladas.
email.status /email/status Cambiar el estado de la 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 Live Activity 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 un 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.
transactional.send /transactional/v1/campaigns/{campaign_id}/send Permite enviar mensajería transaccional 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 un 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.
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 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 y cancelados.
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 solo elemento de un catálogo existente.
catalogs.update_item /catalogs/{catalog_name}/items/{item_id} Actualizar un solo elemento en un catálogo existente.
catalogs.create_item /catalogs/{catalog_name}/items/{item_id} Crear un solo elemento en un catálogo existente.
catalogs.delete_item /catalogs/{catalog_name}/items/{item_id} Eliminar un solo elemento de un catálogo existente.
catalogs.replace_item /catalogs/{catalog_name}/items/{item_id} Reemplazar un solo 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 la 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 para tu aplicación.
sdk_authentication.delete /app_group/sdk_authentication/delete Eliminar una clave de autenticación de SDK para tu aplicación.
sdk_authentication.keys /app_group/sdk_authentication/keys Obtener todas las claves de autenticación de SDK para tu aplicación.

Gestionar claves de REST API

Puedes ver detalles o eliminar claves de REST API existentes desde Configuración > API e identificadores > pestaña Claves de API. Ten en cuenta que no puedes editar las claves de REST API 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 al 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 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 de la lista blanca (si las hay) y si esta clave está incluida en 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 "Último uso" con el icono de la papelera resaltado, mostrando "Eliminar".

Seguridad de las claves de REST API

Las claves de API se usan para autenticar una llamada a la API. Cuando creas una nueva clave de REST API, necesitas darle 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 REST API permiten el acceso a endpoints de REST API potencialmente sensibles, protege 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 las claves de REST API y las claves de API de SDK

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

  Claves de REST API 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 Deben permanecer privadas. Nunca las expongas en código del lado del cliente, repositorios públicos ni 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 un reemplazo en Configuración > API e identificadores > Claves de API. Una clave de REST API expuesta puede usarse 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 de IP permitidas para la 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 REST API 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 IPs de la lista blanca al crear una nueva clave de REST API:

Opción para añadir IPs a la lista de permitidos 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 de la REST API usando 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 ni 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 invá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 la API.

Uso de mayúsculas y minú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 y minúsculas que produzca tu cliente HTTP.

Braze también acepta cualquier formato de mayúsculas y minú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 de 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 los 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 aplicaciones) 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, 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 para 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!