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 peticiones 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 privan 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 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 a continuación los límites de velocidad predeterminados de la API para distintos tipos de solicitudes. Estos límites predeterminados pueden aumentarse previa solicitud. Ponte en contacto con tu administrador del éxito del cliente para obtener más información.
Solicitudes con diferentes límites de velocidad
Tipo de solicitud | Rate limit de API predeterminado |
---|---|
/users/track |
Solicitudes: 3.000 solicitudes cada tres segundos. Procesamiento por lote: 75 eventos, 75 compras y 75 atributos por solicitud API. Para más información, consulta Agrupar solicitudes de seguimiento de usuarios. Límites de usuarios activos al mes CY 24-25: ver límites de usuarios activos al mes CY 24-25 |
/users/export/ids |
Si te incorporaste el 22 de agosto de 2024 o después: 250 solicitudes por minuto. Si te incorporaste antes del 22 de agosto de 2024: 2.500 solicitudes por minuto. |
/users/delete /users/alias/new /users/alias/update /users/identify /users/merge |
20 000 solicitudes por minuto, repartidas entre los puntos finales. |
/users/external_id/rename |
1.000 solicitudes por minuto. |
/users/external_id/remove |
1.000 solicitudes por minuto. |
/events/list |
1.000 peticiones por hora, compartidas con el punto final /purchases/product_list . |
/purchases/product_list |
1.000 peticiones por hora, compartidas con el punto final /events/list . |
/campaigns/data_series |
50.000 solicitudes por minuto. |
/messages/send /campaigns/trigger/send /canvas/trigger/send |
250 solicitudes por minuto para llamadas de difusión (cuando solo se especifica un segmento o Audiencia conectada). Por lo demás, 250 000 solicitudes por hora repartidas entre los puntos finales. |
/sends/id/create |
100 solicitudes al día. |
/subscription/status/set |
5.000 solicitudes por minuto. |
/preference_center/v1/{preferenceCenterExternalId}/url/{userId} /preference_center/v1/list /preference_center/v1/{preferenceCenterExternalId} |
1.000 solicitudes por minuto. |
/preference_center/v1 /preference_center/v1/{preferenceCenterExternalId} |
10 solicitudes por minuto. |
/catalogs/{catalog_name} /catalogs /catalogs |
50 peticiones por minuto compartidas entre los puntos finales. |
/catalogs/{catalog_name}/items /catalogs/{catalog_name}/items /catalogs/{catalog_name}/items |
16.000 peticiones por minuto compartidas entre los puntos finales. |
/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 peticiones por minuto compartidas entre los puntos finales. |
/catalogs/{catalog_name}/fields/{field_name} /catalogs/{catalog_name}/fields /catalogs/{catalog_name}/selections/{selection_name} /catalogs/{catalog_name}/selections |
50 peticiones por minuto compartidas entre los puntos finales. |
/scim/v2/Users/{id} /scim/v2/Users?filter={[email protected]} /scim/v2/Users/{id} /scim/v2/Users/{id}} /scim/v2/Users/ |
5.000 solicitudes al día, por empresa, compartidas entre los terminales. |
/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. |
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.
/campaigns/details
/campaigns/list
/campaigns/trigger/schedule/create
/campaigns/trigger/schedule/delete
/campaigns/trigger/schedule/update
/canvas/data_series
/canvas/data_summary
/canvas/details
/canvas/list
/canvas/trigger/schedule/create
/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
/feed/data_series
/feed/details
/feed/list
/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/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
Procesamiento por lotes de las solicitudes API
Las API de Braze están diseñadas para soportar la dosificación. Con el procesamiento por lotes, Braze puede recibir tantos datos como sea posible en una sola llamada a la API, para que no tengas que hacer muchas llamadas a la API. Para Braze, es más eficiente procesar los datos por lotes que procesarlos llamada a llamada. Por ejemplo, gestionar 1000 llamadas API por 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 del límite de velocidad de la API REST se consideran en función de las necesidades de los clientes que hacen uso de las funciones de procesamiento por lotes de la API.
Solicitudes por lotes para el punto final Seguimiento de usuarios
Cada solicitud /users/track
puede contener hasta 75 objetos de evento, 75 objetos de atributo y 75 objetos de compra. Cada objeto (evento, atributo y matrices de compra) puede actualizar un usuario cada uno. En total, esto significa que se pueden actualizar hasta 225 usuarios en una sola llamada. Además, un mismo perfil de usuario puede ser actualizado por varios objetos.
Las solicitudes realizadas a este punto final, generalmente, comenzarán a procesarse en este orden:
- Atributos
- Eventos
- Compras
Procesamiento por lotes de las solicitudes de puntos finales de mensajería
Una única solicitud a los puntos finales de mensajería puede llegar a cualquiera de los siguientes:
- Hasta 50
external_ids
específicos, cada uno con parámetros de mensaje individuales - Un segmento de cualquier tamaño creado en el panel de Braze, especificado por su
segment_id
- Usuarios que coinciden con filtros de audiencia adicionales de cualquier tamaño, definidos en la solicitud como un objeto de audiencia conectado
Ejemplo de solicitud por lotes
En el siguiente ejemplo, se utiliza external_id
para realizar una llamada 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]"]
}
]
}
Control de los límites de velocidad
Cada solicitud de API enviada a Braze devuelve la siguiente información en los encabezados de respuesta:
Nombre de la cabecera | Descripción |
---|---|
X-RateLimit-Limit |
El número máximo de peticiones que puedes hacer en un intervalo especificado (tu límite de velocidad). |
X-RateLimit-Remaining |
El número de solicitudes que quedan en la ventana actual de límite de velocidad. |
X-RateLimit-Reset |
La hora a la que se restablece la ventana de límite de velocidad actual en segundos de época UTC. |
Esta información se incluye intencionadamente en el encabezado de la respuesta a la solicitud API en lugar de en el panel de Braze. Esto permite que tu sistema reaccione mejor en tiempo real mientras interactúas con nuestra API. Por ejemplo, si el valor de X-RateLimit-Remaining
cae por debajo de un determinado umbral, puede que quieras ralentizar el envío para asegurarte de que se envían todos los correos electrónicos transaccionales. O, si llega a cero, es conveniente pausar todos los envíos hasta que transcurra el tiempo especificado en X-RateLimit-Reset
.
Las cabeceras HTTP se devolverán en minúsculas. Este comportamiento se ajusta al protocolo HTTP/2, que exige que todos los nombres de los campos de encabezado estén en minúsculas. Esto difiere de HTTP/1.X, donde los nombres de los encabezados no distinguían entre mayúsculas y minúsculas, pero solían escribirse con varias mayúsculas.
Si tienes preguntas sobre los límites de la API, ponte en contacto con tu administrador del éxito del cliente o abre un ticket de soporte.
Puedes utilizar el panel de uso de la API para ver y comparar el tráfico entrante con tus límites de velocidad.
Retardo óptimo entre puntos finales
Te recomendamos que permitas un retraso de 5 minutos entre llamadas consecutivas al punto final para minimizar los errores.
Comprender el retraso óptimo entre puntos finales es crucial a la hora de realizar llamadas consecutivas a la API de Braze. Los problemas surgen cuando los puntos finales dependen del procesamiento satisfactorio de otros puntos finales y, si se los llama demasiado pronto, podrían provocar errores. Por ejemplo, si estás asignando a los usuarios un alias a través de nuestro punto final /user/alias/new
, y luego pulsas ese alias para enviar un evento personalizado a través de nuestro punto final /users/track
, ¿cuánto tiempo debes esperar?
En condiciones normales, el tiempo que tarda en producirse la coherencia eventual de nuestros datos es de 10-100 ms (1/10 de segundo). Sin embargo, puede haber casos en los que esa coherencia tarde más tiempo en producirse, por lo que te recomendamos que dejes pasar 5 minutos entre una llamada y otra para minimizar la probabilidad de error.