Límites de velocidad
La infraestructura de la API de Braze está diseñada para gestionar grandes volúmenes de datos de toda nuestra base de clientes. Para ello, imponemos límites de velocidad de API por espacio de trabajo.
Un límite de velocidad es el número de solicitudes que puede recibir la API en un periodo de tiempo determinado. Muchos incidentes de denegación de servicio basados en la carga en grandes sistemas son involuntarios —causados por errores en el software o las configuraciones—, no ataques maliciosos. Los límites de velocidad comprueban que esos errores no priven a nuestros clientes de los recursos de la API de Braze. Si se envían demasiadas solicitudes en un periodo de tiempo determinado, es posible que veas respuestas de error con un código de estado 429, que indica que se ha alcanzado el límite de velocidad.

Los límites de velocidad de la API están sujetos a cambios en función del uso adecuado de nuestro sistema. Animamos a que se establezcan límites razonables al realizar una llamada a la API para evitar daños o usos indebidos.
Límites de velocidad por tipo de solicitud
Consulta lo siguiente para conocer los límites de velocidad de API predeterminados de los diferentes tipos de solicitud. Estos límites predeterminados pueden aumentarse a solicitud. Contacta a tu administrador de éxito de cliente para más información.
Solicitudes con diferentes límites de velocidad
| Tipo de solicitud | Límite de velocidad de API predeterminado |
|---|---|
/users/track |
Solicitudes: Los límites de velocidad varían según tu contrato. Para clientes con puntos de datos en su modelo de precios, Braze aplica un límite de ráfaga de 3000 solicitudes cada tres segundos. Para todos los demás clientes, los límites se configuran según los términos de tu contrato. Contacta a soporte de Braze o a tu administrador de éxito de cliente si tienes preguntas sobre tus límites. Procesamiento en lotes: Hasta 75 objetos totales combinados entre attributes, events y purchases por solicitud de API. Los clientes con límites de velocidad heredados pueden incluir hasta 75 objetos por array de forma independiente. Para más información, consulta Procesamiento en lotes de solicitudes User Track.Límites para usuarios activos al mes CY 24-25, MAU universal, MAU Web y MAU móvil: Consulta Límites de usuarios activos al mes CY 24-25. |
/users/export/ids |
Si te incorporaste a partir del 22 de agosto de 2024: 250 solicitudes por minuto. Si te incorporaste antes del 22 de agosto de 2024: 2500 solicitudes por minuto. |
/users/delete/users/alias/new/users/alias/update/users/identify/users/merge |
20 000 solicitudes por minuto, compartidas entre los endpoints. |
/users/external_id/rename |
1000 solicitudes por minuto. |
/users/external_id/remove |
1000 solicitudes por minuto. |
/events/list |
1000 solicitudes por hora, compartidas con el endpoint /purchases/product_list. |
/purchases/product_list |
1000 solicitudes por hora, compartidas con el endpoint /events/list. |
/campaigns/data_series |
50 000 solicitudes por minuto. |
/messages/send/campaigns/trigger/send/canvas/trigger/send/campaigns/trigger/schedule/create/canvas/trigger/schedule/create |
Para llamadas de difusión (que se dirigen de forma amplia a Segments, filtros o una audiencia conectada), 250 solicitudes por minuto entre todas las audiencias, y 10 solicitudes por minuto por audiencia única (el límite que se alcance primero). De lo contrario, cuando se dirige a destinatarios individuales, la solicitud se incluye en el límite de velocidad compartido de 250 000 solicitudes por hora. |
/sends/id/create |
100 solicitudes por día. |
/subscription/status/set |
5000 solicitudes por minuto. |
/preference_center/v1/{preferenceCenterExternalId}/url/{userId}/preference_center/v1/list/preference_center/v1/{preferenceCenterExternalId} |
1000 solicitudes por minuto. |
/preference_center/v1/preference_center/v1/{preferenceCenterExternalId} |
10 solicitudes por minuto. |
/catalogs/{catalog_name}/catalogs/catalogs |
50 solicitudes por minuto compartidas entre los endpoints. |
/catalogs/{catalog_name}/items/catalogs/{catalog_name}/items/catalogs/{catalog_name}/items |
16 000 solicitudes por minuto compartidas entre los endpoints. |
/catalogs/{catalog_name}/items/{item_id}/catalogs/{catalog_name}/items/{item_id}/catalogs/{catalog_name}/items/catalogs/{catalog_name}/items/{item_id}/catalogs/{catalog_name}/items/{item_id} |
50 solicitudes por minuto compartidas entre los endpoints. |
/catalogs/{catalog_name}/fields/{field_name}/catalogs/{catalog_name}/fields/catalogs/{catalog_name}/selections/{selection_name}/catalogs/{catalog_name}/selections |
50 solicitudes por minuto compartidas entre los endpoints. |
/scim/v2/Users/{id}/scim/v2/Users?filter={[email protected]}/scim/v2/Users/{id}/scim/v2/Users/{id}}/scim/v2/Users/ |
5000 solicitudes por día, por empresa, compartidas entre los endpoints. |
/cdi/integrations |
50 solicitudes por minuto. |
/cdi/integrations/{integration_id}/sync |
20 solicitudes por minuto. |
/cdi/integrations/{integration_id}/job_sync_status |
100 solicitudes por minuto. |
/media_library/create |
100 solicitudes por hora. |
/media_library/replace_file |
100 solicitudes por hora. |
Solicitudes con límites de velocidad compartidos
Las siguientes solicitudes tienen un límite de velocidad de 250 000 solicitudes por hora, compartido entre ellas.
/app_group/sdk_authentication/create/app_group/sdk_authentication/keys/app_group/sdk_authentication/delete/app_group/sdk_authentication/primary/campaigns/details/campaigns/list/campaigns/trigger/send(solo para llamadas que no son de difusión, es decir, aquellas que especificanexternal_user_idsoaliases)/campaigns/trigger/schedule/create(solo para llamadas que no son de difusión)/campaigns/trigger/schedule/delete/campaigns/trigger/schedule/update/canvas/data_series/canvas/data_summary/canvas/details/canvas/list/canvas/trigger/send(solo para llamadas que no son de difusión)/canvas/trigger/schedule/create(solo para llamadas que no son de difusión)/canvas/trigger/schedule/delete/canvas/trigger/schedule/update/content_blocks/create/content_blocks/info/content_blocks/list/content_blocks/update/email/blocklist/email/blacklist/email/bounce/remove/email/hard_bounces/email/spam/remove/email/status/email/unsubscribes/events/data_series/kpi/dau/data_series/kpi/mau/data_series/kpi/new_users/data_series/kpi/uninstalls/data_series/messages/live_activity/start/messages/live_activity/update/messages/send(solo para llamadas que no son de difusión)/messages/schedule/create/messages/schedule/delete/messages/schedule/update/messages/scheduled_broadcasts/segments/data_series/segments/details/segments/list/sends/data_series/sessions/data_series/sms/invalid_phone_numbers/sms/invalid_phone_numbers/remove/subscription/status/get/subscription/user/status/templates/email/create/templates/email/info/templates/email/list/templates/email/update/users/export/global_control_group/users/export/segment
¿Qué cuenta como la misma audiencia única?
Esto se aplica a los siguientes endpoints: /messages/send, /campaigns/trigger/send, /canvas/trigger/send, /campaigns/trigger/schedule/create y /canvas/trigger/schedule/create.
Para estos endpoints, las solicitudes de difusión se consideran dirigidas a la misma audiencia única cuando coinciden todos los siguientes criterios:
- La Campaign o Canvas que se está desencadenando (el
campaign_idocanvas_iden tu solicitud de API, si se especifica) - La audiencia a la que se dirige (los Segments o filtros, o para Campaigns de API, el
segment_iden tu solicitud de API) - Los filtros de audiencia conectada (el objeto
audienceen tu solicitud de API, si se especifica)
Cada combinación única de estos atributos cuenta como una audiencia distinta, por lo que el límite de velocidad adicional para cada audiencia única se aplica a cada combinación de forma independiente.
Agrupación de solicitudes de API en lotes
Las API de Braze están diseñadas para admitir el procesamiento por lotes. Con el procesamiento por lotes, Braze puede recibir la mayor cantidad de datos posible en una sola llamada a la API, de modo que no necesites realizar muchas llamadas. Es más eficiente para Braze procesar datos en lotes que procesarlos de una llamada a la vez. Por ejemplo, gestionar 1,000 llamadas a la API en lotes requiere menos recursos que gestionar 75,000 llamadas individuales. El procesamiento por lotes es extremadamente importante para cualquier aplicación que pueda requerir más de 75,000 llamadas por hora.

Los aumentos en el límite de velocidad de la REST API se consideran en función de la necesidad de los clientes que están utilizando las capacidades de procesamiento por lotes de la API.
Agrupación en lotes de solicitudes para el endpoint de crear y actualizar usuarios
Cada solicitud de /users/track puede contener hasta 75 objetos en total combinados entre attributes, events y purchases. Cada objeto puede actualizar un usuario. Un único perfil de usuario puede ser actualizado por múltiples objetos.
Límites de velocidad heredados
Para los clientes con límites de velocidad heredados, cada array (attributes, events y purchases) puede contener hasta 75 objetos de forma independiente, para un máximo combinado de hasta 225 objetos por solicitud.
Para obtener más información sobre los límites de velocidad de /users/track, consulta POST: Crear y actualizar usuarios.
Las solicitudes realizadas a este endpoint generalmente comienzan a procesarse en este orden:
- Atributos
- Eventos
- Compras
Agrupación en lotes de solicitudes a endpoints de mensajería
Una sola solicitud a los endpoints de mensajería puede alcanzar cualquiera de los siguientes:
- Hasta 50
external_idsespecíficos, cada uno con parámetros de mensaje individuales - Un Segment de cualquier tamaño creado en el panel de Braze, especificado por su
segment_id - Usuarios que coincidan con filtros de audiencia adicionales de cualquier tamaño, definidos en la solicitud como un objeto de audiencia conectada
Ejemplo de solicitud por lotes
El siguiente ejemplo utiliza external_id para realizar una sola llamada a la API para correo electrónico y SMS.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
curl --location --request POST 'https://rest.iad-01.braze.com/v2/subscription/status/set' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"subscription_groups":[
{
"subscription_group_id":"subscription_group_identifier",
"subscription_state":"subscribed",
"external_ids":["example-user","[email protected]"]
},
{
"subscription_group_id":"subscription_group_identifier",
"subscription_state":"subscribed",
"external_ids":["example-user","[email protected]"]
}
]
}
Monitorización de tus límites de velocidad
Cada solicitud de API enviada a Braze devuelve la siguiente información en los encabezados de respuesta:
| Nombre del encabezado | Descripción |
|---|---|
X-RateLimit-Limit |
El número máximo de solicitudes que puedes realizar en un intervalo especificado (tu límite de velocidad). |
X-RateLimit-Remaining |
El número de solicitudes restantes en la ventana actual de límite de velocidad. |
X-RateLimit-Reset |
La hora a la que se restablece la ventana actual de límite de velocidad en segundos epoch UTC. |
Esta información se incluye intencionalmente en el encabezado de la respuesta a la solicitud de API en lugar del panel de Braze. Esto permite que tu sistema reaccione mejor en tiempo real mientras interactúa con nuestra API. Por ejemplo, si el valor de X-RateLimit-Remaining cae por debajo de un determinado umbral, podrías querer ralentizar el envío para asegurarte de que todos los correos transaccionales se envíen. O, si llega a cero, podrías querer pausar todos los envíos hasta que transcurra el tiempo especificado en X-RateLimit-Reset.

Los encabezados HTTP se devolverán completamente en minúsculas. Este comportamiento se alinea con el protocolo HTTP/2, que exige que todos los nombres de campos de encabezado sean en minúsculas. Esto difiere de HTTP/1.X, donde los nombres de encabezado no distinguían entre mayúsculas y minúsculas, pero comúnmente se escribían con distintas capitalizaciones.
Si tienes preguntas sobre los límites de API, contacta a tu administrador de éxito de cliente o abre un ticket de soporte.

Puedes usar el panel de uso de API para ver y comparar el tráfico entrante con tus límites de velocidad.
Retraso óptimo entre endpoints

Recomendamos que permitas un retraso de 5 minutos entre llamadas consecutivas a endpoints para minimizar errores.
Comprender el retraso óptimo entre endpoints es crucial al realizar llamadas consecutivas a la API de Braze. Los problemas surgen cuando los endpoints dependen del procesamiento exitoso de otros endpoints y, si se llaman demasiado pronto, podrían generar errores. Por ejemplo, si estás asignando a los usuarios un alias a través de nuestro endpoint /user/alias/new y luego utilizas ese alias para enviar un evento personalizado a través de nuestro endpoint /users/track, ¿cuánto tiempo deberías esperar?
En condiciones normales, el tiempo para que ocurra la consistencia eventual de nuestros datos es de 10 a 100 ms (1/10 de segundo). Sin embargo, puede haber algunos casos en los que esa consistencia tarde más en producirse, por lo que recomendamos que permitas un retraso de 5 minutos entre llamadas posteriores para minimizar la probabilidad de error.
Límites de tamaño de la carga útil
Las solicitudes a la API de Braze están sujetas a límites de tamaño de la carga útil, independientes de los límites de velocidad. La mayoría de los endpoints aceptan cuerpos de solicitud de hasta 4 MB. Cuando una solicitud supera el límite aplicable, Braze puede rechazarla con HTTP 413 Request Entity Too Large o HTTP 400 Bad Request, según el endpoint.
El endpoint /users/track/bulk tiene un límite de carga útil de 2 MB y devuelve HTTP 400 cuando el cuerpo de la solicitud supera ese límite. Para conocer los límites específicos de cada endpoint y el manejo de errores, consulta Endpoints de datos de usuario.
Restablecimiento del límite de velocidad
Los límites de velocidad se restablecen en la hora en punto, no en una ventana deslizante. Por ejemplo, si el límite es de 250.000 solicitudes por hora, podrías hacer 50.000 solicitudes entre las 10:00 PM y las 10:59 PM y otras 250.000 solicitudes entre las 11:00 PM y las 11:59 PM, porque el contador se restablece al inicio de cada hora.