Exportar análisis de Campaign
/campaigns/data_series
Utiliza este endpoint para recuperar una serie diaria de diversas estadísticas de una Campaign a lo largo del tiempo.
Los datos devueltos incluyen cuántos mensajes se enviaron, abrieron, hicieron clic o convirtieron por canal de mensajería.

Los recuentos de este punto de conexión no siempre coincidirán exactamente con los análisis de interacción en el dashboard o con los agregados que construyas a partir de Currents. Las métricas del dashboard y las series temporales de la API utilizan ventanas de agregación y definiciones diferentes a las de los eventos sin procesar de Currents. Para notas comunes de conciliación, consulta las preguntas frecuentes de Currents.
Requisitos previos
Para utilizar este endpoint, necesitarás una clave de API con el permiso campaigns.data_series.
Límite de velocidad
Este endpoint tiene un límite de velocidad de 50 000 solicitudes por minuto.
Parámetros de solicitud
| Parámetro | Obligatorio | Tipo de datos | Descripción |
|---|---|---|---|
campaign_id |
Obligatorio | Cadena | Consulta identificador de API de la campaña. El campaign_id para Campaigns de API se puede encontrar en la página Claves de API y en la página Detalles de Campaign dentro de tu panel, o puedes utilizar el endpoint Listar Campaigns. |
length |
Obligatorio | Entero | Número máximo de días antes de ending_at que se incluirán en la serie devuelta. Debe estar entre 1 y 100 (inclusive). |
ending_at |
Opcional | Fecha y hora (cadena ISO-8601) |
Fecha en la que debe finalizar la serie de datos. De forma predeterminada, es la hora de la solicitud. |
Ejemplo de solicitud
1
2
curl --location -g --request GET 'https://rest.iad-01.braze.com/campaigns/data_series?campaign_id={{campaign_identifier}}&length=7&ending_at=2020-06-28T23:59:59-5:00' \
--header 'Authorization: Bearer YOUR-REST-API-KEY'
Respuestas
Respuesta multicanal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
{
"message": (string) returns 'success' when the request completes without errors,
"data" : [
{
"time": (string) the date as ISO 8601 date,
"conversions_by_send_time": (optional, int),
"conversions1_by_send_time": (optional, int),
"conversions2_by_send_time": (optional, int),
"conversions3_by_send_time": (optional, int),
"conversions": (optional, int),
"conversions1": (optional, int),
"conversions2": (optional, int),
"conversions3": (optional, int),
"unique_recipients": (int),
"revenue": (optional, float)
"messages" : {
"ios_push" : [
{
"variation_api_id": (string) the variation API identifier,
"sent" : (int) the number of sends,
"direct_opens" : (int) the number of direct opens,
"total_opens" : (int)the number of total opens,
"bounces" : (int) the number of bounces,
"body_clicks" : (int) the number of body clicks
}
],
"android_push" : [
{
"variation_api_id": (string) the variation API identifier,
"sent" : (int) the number of sends,
"direct_opens" : (int) the number of direct opens,
"total_opens" : (int)the number of total opens,
"bounces" : (int) the number of bounces,
"body_clicks" : (int) the number of body clicks
}
],
"webhook": [
{
"variation_api_id": (string) the variation API identifier,
"sent": (int) the number of sends,
"errors": (int) the number of errors
}
],
"email" : [
{
"variation_api_id": (string) the variation API identifier,
"sent": (int) the number of sends,
"opens": (int) the number of opens,
"unique_opens": (int) the number of unique opens,
"clicks": (int) the number of clicks,
"unique_clicks": (int) the number of unique clicks,
"unsubscribes": (int) the number of unsubscribes,
"bounces": (int) the number of bounces,
"delivered": (int) the number of messages delivered,
"reported_spam": (int) the number of messages reported as spam
}
],
"sms" : [
{
"variation_api_id": (string) the variation API identifier,
"sent": (int) the number of sends,
"sent_to_carrier" : (int) the number of messages sent to the carrier,
"delivered": (int) the number of delivered messages,
"rejected": (int) the number of rejected messages,
"delivery_failed": (int) the number of failed deliveries,
"clicks": (int) the number of clicks on shortened links,
"opt_out" : (int) the number of opt outs,
"help" : (int) the number of help messages received
}
],
"whats_app": [
{
"variation_api_id": (string) the variation API identifier,
"sent": (int) the number of sends,
"delivered": (int) the number of delivered messages,
"failed": (int) the number of failed deliveries,
"read": (int) the number of opened messages
},
],
"content_cards" : [
{
"variation_api_id": (string) the variation API identifier,
"sent": (int) the number of sends,
"total_clicks": (int) the number of total clicks,
"total_dismissals": (int) the number of total dismissals,
"total_impressions": (int) the number of total impressions,
"unique_clicks": (int) the number of unique clicks,
"unique_dismissals": (int) the number of unique dismissals,
"unique_impressions": (int) the number of unique impressions
}
],
...
}
}
],
}
Respuesta multivariante
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
{
"data" : [
{
"time" : (string) the date as ISO 8601 date,
"conversions" : (int) the number of conversions,
"revenue": (float) the number of dollars of revenue (USD),
"conversions_by_send_time": (int) the number of conversions attributed to the date the campaign was sent,
"messages" : {
"trigger_in_app_message": [{
"variation_name": (optional, string) the variation name,
"impressions": (int) the number of impressions,
"clicks": (int) the number of clicks,
"first_button_clicks": (int) the number of first button clicks,
"second_button_clicks": (int) the number of second button clicks,
"revenue": (float) the number of dollars of revenue (USD),
"unique_recipients": (int) the number of unique recipients,
"conversions": (int) the number of conversions,
"conversions_by_send_time": (int) the number of conversions attributed to the date the campaign was sent,
"conversions1": (optional, int) the number of conversions for the second conversion event,
"conversions1_by_send_time": (optional, int) the number of conversions for the second conversion event attributed to the date the campaign was sent,
"conversions2": (optional, int) the number of conversions for the third conversion event,
"conversions2_by_send_time": (optional, int) the number of conversions for the third conversion event attributed to the date the campaign was sent,
"conversions3": (optional, int) the number of conversions for the fourth conversion event,
"conversions3_by_send_time": (optional, int) the number of conversions for the fourth conversion event attributed to the date the campaign was sent
}, {
"variation_name": (optional, string) the variation name,
"impressions": (int) the number of impressions,
"clicks": (int) the number of clicks,
"first_button_clicks": (int) the number of first button clicks,
"second_button_clicks": (int) the number of second button clicks,
"revenue": (float) the number of dollars of revenue (USD),
"unique_recipients": (int) the number of unique recipients,
"conversions": (int) the number of conversions,
"conversions_by_send_time": (int) the number of conversions attributed to the date the campaign was sent,
"conversions1": (optional, int) the number of conversions for the second conversion event,
"conversions1_by_send_time": (optional, int) the number of conversions for the second conversion event attributed to the date the campaign was sent,
"conversions2": (optional, int) the number of conversions for the third conversion event,
"conversions2_by_send_time": (optional, int) the number of conversions for the third conversion event attributed to the date the campaign was sent,
"conversions3": (optional, int) the number of conversions for the fourth conversion event,
"conversions3_by_send_time": (optional, int) the number of conversions for the fourth conversion event attributed to the date the campaign was sent
}, {
"variation_name": (optional, string) the variation name,
"revenue": (float) the number of dollars of revenue (USD),
"unique_recipients": (int) the number of unique recipients,
"conversions": (int) the number of conversions,
"conversions_by_send_time": (int) the number of conversions attributed to the date the campaign was sent,
"conversions1": (optional, int) the number of conversions for the second conversion event,
"conversions1_by_send_time": (optional, int) the number of conversions for the second conversion event attributed to the date the campaign was sent,
"conversions2": (optional, int) the number of conversions for the third conversion event,
"conversions2_by_send_time": (optional, int) the number of conversions for the third conversion event attributed to the date the campaign was sent,
"conversions3": (optional, int) the number of conversions for the fourth conversion event,
"conversions3_by_send_time": (optional, int) the number of conversions for the fourth conversion event attributed to the date the campaign was sent
"enrolled": (optional, int) the number of enrolled users
}]
},
"conversions_by_send_time": (optional, int),
"conversions1_by_send_time": (optional, int),
"conversions2_by_send_time": (optional, int),
"conversions3_by_send_time": (optional, int),
"conversions": (optional, int),
"conversions1": (optional, int),
"conversions2": (optional, int),
"conversions3": (optional, int),
"unique_recipients": (int),
"revenue": (optional, float)
}],
...
}
Los tipos de mensaje posibles son: email, trigger_in_app_message, webhook, android_push, ios_push, kindle_push y web_push. Todos los tipos de mensajes push tendrán las mismas estadísticas que se muestran para android_push.

Para obtener ayuda con las exportaciones de CSV y API, visita Solución de problemas de exportación.
Solución de problemas
Ver fallos de entrega para Campaigns activadas por API
El endpoint /campaigns/data_series devuelve estadísticas diarias agregadas (por ejemplo, delivery_failed para SMS o errors para webhooks). No devuelve los motivos de fallo por destinatario.
Para fallos de envío por mensaje, rebotes y cancelaciones de Campaigns activadas por API, usa el Registro de actividad de mensajes en el panel. Para informes personalizados sobre eventos de envío y entrega, usa Query Builder con plantillas de consulta o SQL personalizado. También puedes transmitir eventos de fallo a través de Currents o Snowflake Data Sharing si tu espacio de trabajo tiene esos productos habilitados.