API de estadísticas

API de estadísticas

info Esta es la versión más reciente de la API de estadísticas (Stats API). Algunas mejoras en v4:

  • Se utiliza autenticación HTTP Basic para la autorización de acceso. De este modo, toda la solicitud de la API se puede completar mediante herramientas HTTP habituales, como: curl, complementos del navegador.
  • El contenido del push utiliza completamente el formato JSON.

Visión general

Stats API v4 proporciona diversas funciones de consulta de datos estadísticos.

Autenticación

Para más detalles, consulte la visión general de la API REST: Método de autenticación

Estadísticas de mensajes

  • Consultar las estadísticas de cada estado en el ciclo de vida del mensaje.
  • Los datos estadísticos de cada mensaje push pueden conservarse como máximo durante un mes.

URL de la API

GET v4/status/detail

Ejemplo de solicitud

curl -v https://pushapi-sgp.engagelab.com/v4/messages/details?message_ids=1613113584,1229760629 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/messages/details?message_ids=1613113584,1229760629 HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
              
              curl -v https://pushapi-sgp.engagelab.com/v4/messages/details?message_ids=1613113584,1229760629 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"

< GET /v4/messages/details?message_ids=1613113584,1229760629 HTTP/1.1
< Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==

            
Este bloque de código se muestra en una ventana flotante

Parámetros de la solicitud

Palabras clave Tipo Opción Descripción
message_ids String required
  • message_id, si hay varios messages_id, se separan con ",".
  • Se admiten hasta 100 message_ids
  • Ejemplo de respuesta

    < HTTP/1.1 200 OK < Content-Type: application/json { "1229760629": { "targets": 11, "sent": 11, "delivered": 10, "impressions": 8, "clicks": 2, "sub": { "notification": {}, "message": {}, "live_activity": {}, "voip": {}, "inapp_message": {} }, "plan_id": "", "pushContent": {} }, "1613113584": { "targets": 11, "sent": 11, "delivered": 10, "impressions": 8, "clicks": 2, "sub": { "notification": { "target": 1600, "sent": 1440, "delivered": 1280, "impressions": 1120, "click": 0, "sub_android": { "engageLab_android": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "huawei": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "xiaomi": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "oppo": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "vivo": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "meizu": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "fcm": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "honor": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 } }, "sub_ios": { "engageLab_ios": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "apns": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 } }, "sub_hmos": { "engageLab_hmos": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 }, "harmonyos": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0 } } }, "message": { "targets": 100, "sent": 90, "delivered": 80, "impressions": 70, "clicks": 0, "sub_android": {}, "sub_ios": {} }, "live_activity": { "targets": 1, "sent": 1, "delivered": 1, "impressions": 0, "clicks": 0, "sub_ios": { "engageLab_ios": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "apns": { "targets": 1, "sent": 1, "delivered": 1, "impressions": 0, "clicks": 0 } } } }, "plan_id": "engageLab_notification", "pushContent": { "android": { "title": "push", "content": "hello, Push!" }, "ios": { "title": "ios", "content": "pushContent", "subtitle": "engageLab_push" } } }, "1613113554": { "targets": 2, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0, "sub": { "notification": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "message": { "targets": 2, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0, "sub_android": { "engageLab_android": { "targets": 1, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "huawei": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "xiaomi": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "oppo": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "vivo": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "meizu": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "fcm": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "honor": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 } }, "sub_ios": { "engageLab_ios": { "targets": 1, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "apns": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 } } }, "live_activity": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "voip": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "inapp_message": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 } }, "plan_id": "engageLab_msg", "pushContent": { "message": { "title": "msg", "content": "push" } } } }
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    
    {
        "1229760629": {
            "targets": 11,
            "sent": 11,
            "delivered": 10,
            "impressions": 8,
            "clicks": 2,
            "sub": {
                "notification": {},
                "message": {},
                "live_activity": {},
                "voip": {},
                "inapp_message": {}
            },
            "plan_id": "",
            "pushContent": {}
        },
        "1613113584": {
            "targets": 11,
            "sent": 11,
            "delivered": 10,
            "impressions": 8,
            "clicks": 2,
            "sub": {
                "notification": {
                    "target": 1600,
                    "sent": 1440,
                    "delivered": 1280,
                    "impressions": 1120,
                    "click": 0,
                    "sub_android": {
                        "engageLab_android": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "huawei": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "xiaomi": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "oppo": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "vivo": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "meizu": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "fcm": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "honor": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        }
                    },
                    "sub_ios": {
                        "engageLab_ios": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "apns": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        }
                    },
                    "sub_hmos": {
                        "engageLab_hmos": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        },
                        "harmonyos": {
                            "targets": 100,
                            "sent": 90,
                            "delivered": 80,
                            "impressions": 70,
                            "clicks": 0
                        }
                    }
                },
                "message": {
                    "targets": 100,
                    "sent": 90,
                    "delivered": 80,
                    "impressions": 70,
                    "clicks": 0,
                    "sub_android": {},
                    "sub_ios": {}
                },
                "live_activity": {
                    "targets": 1,
                    "sent": 1,
                    "delivered": 1,
                    "impressions": 0,
                    "clicks": 0,
                    "sub_ios": {
                        "engageLab_ios": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "apns": {
                            "targets": 1,
                            "sent": 1,
                            "delivered": 1,
                            "impressions": 0,
                            "clicks": 0
                        }
                    }
                }
            },
            "plan_id": "engageLab_notification",
            "pushContent": {
                "android": {
                    "title": "push",
                    "content": "hello, Push!"
                },
                "ios": {
                    "title": "ios",
                    "content": "pushContent",
                    "subtitle": "engageLab_push"
                }
            }
        },
        "1613113554": {
            "targets": 2,
            "sent": 0,
            "delivered": 0,
            "impressions": 0,
            "clicks": 0,
            "sub": {
                "notification": {
                    "targets": 0,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0
                },
                "message": {
                    "targets": 2,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0,
                    "sub_android": {
                        "engageLab_android": {
                            "targets": 1,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "huawei": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "xiaomi": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "oppo": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "vivo": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "meizu": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "fcm": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "honor": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        }
                    },
                    "sub_ios": {
                        "engageLab_ios": {
                            "targets": 1,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        },
                        "apns": {
                            "targets": 0,
                            "sent": 0,
                            "delivered": 0,
                            "impressions": 0,
                            "clicks": 0
                        }
                    }
                },
                "live_activity": {
                    "targets": 0,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0
                },
                "voip": {
                    "targets": 0,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0
                },
                "inapp_message": {
                    "targets": 0,
                    "sent": 0,
                    "delivered": 0,
                    "impressions": 0,
                    "clicks": 0
                }
            },
            "plan_id": "engageLab_msg",
            "pushContent": {
                "message": {
                    "title": "msg",
                    "content": "push"
                }
            }
        }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Parámetros de la respuesta

    La respuesta correcta es un objeto JSON, y la clave es message_id. Cada mensaje debe incluir estadísticas del ciclo de vida de cada fase:

    Palabra clave Tipo Opciones Descripción
    targets Int64 Required Objetivos válidos. El número de dispositivos objetivo después de filtrar por validez la audiencia objetivo seleccionada para la tarea de push.
    sent Int64 Required Número de envíos. El número de dispositivos para los que el servidor de EngageLab creó correctamente una tarea de envío entre los dispositivos objetivo válidos.
    delivered Int64 Required Número de entregas. El número de dispositivos a los que realmente se entregó el mensaje de notificación. No se contabilizan las entregas después de 5 días. Para Huawei, Meizu e iOS, se requiere configurar callbacks para mayor precisión.
    impressions Int64 Required Número de impresiones. El número de dispositivos en los que el mensaje de notificación se mostró correctamente. No se contabilizan las impresiones después de 5 días.
    clicks Int64 Required Número de clics. El número de veces que los usuarios hicieron clic en el mensaje de notificación después de mostrarse correctamente. No se contabilizan los clics después de 5 días.
    sub Object Required Métricas detalladas de los datos estadísticos; consulte la tabla siguiente.
  • notification: Estadísticas resumidas de datos del tipo de mensaje de la barra de notificaciones.
  • message: Estadísticas resumidas de datos de mensajes personalizados.
  • live_activity: Estadísticas resumidas de datos de mensajes de actividad en tiempo real.
  • voip: Estadísticas resumidas de datos de mensajes voip.
  • plan_id String Required ID del plan de push, que identifica el tipo de plan de push al que pertenece el mensaje
    pushContent Object Required Detalles del contenido del push, incluidos los datos de contenido del push para diferentes plataformas:
    - android: contenido de push de la plataforma Android (incluye campos como title y content)
    - ios: contenido de push de la plataforma iOS (incluye campos como title, content y subtitle)
    - message: contenido de mensajes personalizados (incluye campos como title y content)
    Indicador
    Palabras clave Tipo Opción Descripción
    sub_android Object optional Resumen de datos y estadísticas de los canales de push de Android
    engageLab_android Object optional Resumen de datos y estadísticas del canal EngageLab de Android
    huawei Object optional Resumen de datos y estadísticas de los canales de Huawei
    honor Object optional Resumen de datos y estadísticas de los canales de Honor
    xiaomi Object optional Resumen de datos y estadísticas del canal de Xiaomi
    oppo Object optional Resumen de datos y estadísticas del canal de OPPO
    vivo Object optional Resumen y estadísticas de datos del canal vivo
    meizu Object optional Resumen de datos y estadísticas del canal de Meizu
    fcm Object optional Resumen de datos y estadísticas del canal FCM
    sub_ios Object optional Resumen de datos y estadísticas de los canales de push de Apple
    engageLab_ios Object optional Resumen de datos y estadísticas del canal EngageLab de iOS
    apns Object optional Resumen de datos y estadísticas de los canales APNs de iOS
    sub_hmos Object optional Resumen de datos y estadísticas de los canales de push de Harmony
    engageLab_hmos Object optional Resumen de datos y estadísticas del canal EngageLab de Harmony
    harmonyos Object optional Resumen de datos y estadísticas del canal HarmonyOS

    Estadísticas del plan de push

    • Esta interfaz se utiliza para obtener indicadores estadísticos detallados del plan de push. Admite la consulta por lotes de los datos del ciclo de vida completo de varios planes dentro del rango de tiempo especificado, incluidos indicadores de desagregación multidimensional (plataforma/proveedor/tipo de mensaje).

    Dirección de llamada

    GET v4/status/plan/detail

    Ejemplo de solicitud

    GET /v4/status/plan/detail?plan_ids=push_20231101,push_20231102&start_date=2023-11-01&end_date=2023-11-07
                  
                  GET /v4/status/plan/detail?plan_ids=push_20231101,push_20231102&start_date=2023-11-01&end_date=2023-11-07
    
                
    Este bloque de código se muestra en una ventana flotante

    Parámetros de la solicitud

    Nombre del parámetro Tipo Obligatorio Descripción
    plan_ids string Lista de ID de planes de push; para varios ID, se separan mediante comas en inglés. Se admiten hasta 100 ID.
    start_date string Fecha de inicio de estadísticas (formato: yyyy-MM-dd). Debe cumplir:
  • 1. Fecha de fin >= Fecha de inicio
  • 2. Intervalo de fechas ≤ 31 días
  • end_date string Fecha de fin de estadísticas (formato: yyyy-MM-dd)

    Descripción de parámetros de retorno

    Respuesta correcta

    • El objeto devuelto tiene una estructura de pares clave-valor, y el nombre de la clave es el plan_id solicitado.
    • El objeto correspondiente a cada plan_id contiene los siguientes campos:
    Nombre del parámetro Tipo Descripción
    targets int64 Número de dispositivos objetivo válidos (número total de dispositivos tras la deduplicación y el filtrado de validez)
    sent int64 Número de dispositivos para los que realmente se creó la tarea de envío
    delivered int64 Número de dispositivos realmente entregados (solo se contabilizan los datos dentro de 5 días)
    impressions int64 Número de impresiones del mensaje (solo se contabilizan los datos dentro de 5 días)
    clicks int64 Número de clics de usuario (solo se contabilizan los datos dentro de 5 días)
    sub object Estadísticas desglosadas por tipo de mensaje (la estructura se muestra en la subtabla siguiente)
    • Estructura del objeto sub
    Tipo de mensaje Descripción Subestructura
    notification Estadísticas de mensajes de la barra de notificaciones Contiene sub_android (estadísticas por proveedor de Android)/sub_ios (estadísticas de iOS)
    message Estadísticas de mensajes personalizados Contiene sub_android/sub_ios
    live_activity Estadísticas de mensajes de actividad en tiempo real Solo contiene sub_ios
    voip Estadísticas de mensajes VOIP Solo contiene sub_ios
    • Campos de estadísticas por proveedor de plataforma
    Nombre del parámetro Tipo Descripción
    targets int64 Número de dispositivos objetivo válidos para el proveedor correspondiente
    sent int64 Número real de envíos a través del canal del proveedor
    delivered int64 Número real de entregas a través del canal del proveedor
    impressions int64 Número de impresiones a través del canal del proveedor
    clicks int64 Número de clics a través del canal del proveedor

    Ejemplo de respuesta

    Respuesta correcta

    { "push_20231101": { "targets": 1500, "sent": 1450, "delivered": 1400, "impressions": 1350, "clicks": 120, "sub": { "notification": { "sub_android": { "huawei": { "targets":200, "sent":190, "delivered":185, "impressions":180, "clicks":15 }, "xiaomi": { "targets":180, "sent":175, "delivered":170, "impressions":165, "clicks":10 } }, "sub_ios": { "apns": { "targets":300, "sent":295, "delivered":290, "impressions":285, "clicks":25 } } }, "live_activity": { "sub_ios": { "apns": { "targets":50, "sent":48, "delivered":45, "impressions":40, "clicks":5 } } } } } }
                  
                  {
      "push_20231101": {
        "targets": 1500,
        "sent": 1450,
        "delivered": 1400,
        "impressions": 1350,
        "clicks": 120,
        "sub": {
          "notification": {
            "sub_android": {
              "huawei": { "targets":200, "sent":190, "delivered":185, "impressions":180, "clicks":15 },
              "xiaomi": { "targets":180, "sent":175, "delivered":170, "impressions":165, "clicks":10 }
            },
            "sub_ios": {
              "apns": { "targets":300, "sent":295, "delivered":290, "impressions":285, "clicks":25 }
            }
          },
          "live_activity": {
            "sub_ios": {
              "apns": { "targets":50, "sent":48, "delivered":45, "impressions":40, "clicks":5 }
            }
          }
        }
      }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Respuesta con error

    { "error": { "code": 21003, "message": "Parameter value is invalid" } }
                  
                  {
      "error": {
        "code": 21003,
        "message": "Parameter value is invalid"
      }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Estadísticas de usuarios

    • Proporciona datos estadísticos relacionados con usuarios de un determinado período dentro de los últimos dos meses: incluye usuarios nuevos, usuarios en línea y usuarios activos.
    • Unidad de tiempo: HOUR, DAY, MONTH.

    URL de API de solicitud

    GET v4/status/users

    Ejemplo de solicitud

    curl -v https://pushapi-sgp.engagelab.com/v4/status/users?time_unit=DAY&start=2014-06-10&duration=3 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/users?time_unit=DAY&start=2014-06-10&duration=3 HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
                  
                  curl -v https://pushapi-sgp.engagelab.com/v4/status/users?time_unit=DAY&start=2014-06-10&duration=3 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
    
    < GET /v4/users?time_unit=DAY&start=2014-06-10&duration=3 HTTP/1.1
    < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
    
                
    Este bloque de código se muestra en una ventana flotante

    Parámetros de la solicitud

    Palabras clave Tipo Opción Descripción
    time_unit String required Unidad de tiempo:
  • HOUR
  • DAY
  • MONTH
  • start String required Hora de inicio
  • Si la unidad es hour, la hora de inicio es hour (incluye días, y se debe completar con 0 si tiene menos de dos dígitos). Ejemplo de formato: 2022-06-11 09
  • Si la unidad es day, la hora de inicio es la fecha (día). Ejemplo de formato: 2022-06-11
  • Si la unidad es month, la hora de inicio es la fecha (mes). Ejemplo de formato: 2022-06
  • duration String required Duración
  • Si la unidad es day, es un número continuo de días; y así sucesivamente.
  • Solo se puede consultar la información de usuarios dentro de 60 días. Si la unidad de tiempo es HOUR, solo se pueden generar los resultados estadísticos del día actual.
  • Ejemplo de respuesta

    < HTTP/1.1 200 OK < Content-Type: application/json { "time_unit": "DAY", "start": "2014-06-10", "duration": 3, "items": [{ "time": "2014-06-12", "android": { "new": 1, "active": 1, "online": 2 }, "ios": { "new": 1, "active": 1, "online": 2 }, "hmos": { "new": 1, "active": 1, "online": 2 } }] }
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    {
        "time_unit": "DAY",
        "start": "2014-06-10",
        "duration": 3,
        "items": [{
            "time": "2014-06-12",
            "android": {
          "new": 1,
                "active": 1,
                "online": 2
            },
        "ios": {
          "new": 1,
                "active": 1,
                "online": 2
        },
        "hmos": {
          "new": 1,
          "active": 1,
          "online": 2
        }
        }]
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Parámetros de la respuesta

    La respuesta correcta es un objeto JSON:

    Palabras clave Tipo Opciones Descripción
    time_unit String required Unidad de tiempo
  • HOUR
  • DAY
  • MONTH
  • start String required Hora de inicio.
  • Si la unidad es hour, la hora de inicio es hour (incluye días, y se debe completar con 0 si tiene menos de dos dígitos). Ejemplo de formato: 2022-06-11 09
  • Si la unidad es day, la hora de inicio es la fecha (día). Ejemplo de formato: 2022-06-11
  • Si la unidad es month, la hora de inicio es la fecha (mes). Ejemplo de formato: 2022-06
  • duration String required Duración
  • Si la unidad es day, es un número continuo de días; y así sucesivamente.
  • Solo se puede consultar la información de usuarios dentro de 60 días. Si la unidad de tiempo es HOUR, solo se pueden generar los resultados estadísticos del día actual.
  • items JSON Array required Resultados estadísticos dentro del rango de consulta según duration
    • Descripción del campo items:
      • android:Resumen de datos y estadísticas de la plataforma Android.
      • ios:Resumen de datos y estadísticas de la plataforma Apple.
      • hmos:Resumen de datos y estadísticas de la plataforma HarmonyOS.
    Palabras clave Tipo Opción Descripción
    new Int64 optional Usuarios nuevos
    active Int64 optional Usuarios activos

    Consulta del estado del ciclo de vida del mensaje

    • Consultar el estado del ciclo de vida del mensaje del dispositivo correspondiente al message_id.
    • Las estadísticas de cada mensaje push se conservan hasta un mes.

    Endpoint de la API

    GET v4/status/message

    Ejemplo de solicitud

    curl -v https://pushapi-sgp.engagelab.com/v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4371 HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
                  
                  curl -v https://pushapi-sgp.engagelab.com/v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4761,17259fd3a7c568d4371 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
    
    < GET /v4/status/message?message_id=1613113584&registration_ids=1507bfd3a7c568d4761,1618cfd3a7c568d4371 HTTP/1.1
    < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
    
                
    Este bloque de código se muestra en una ventana flotante

    Parámetros de la solicitud

    Palabra clave Tipo Opción Descripción
    message_id String Required ID del mensaje
    registration_ids String Required
  • ID del dispositivo. Si hay varios registration_id, se separan con ",".
  • Se admiten hasta 1000 registration_id.
  • Descripción de parámetros de la respuesta

    La respuesta correcta es un objeto JSON que contiene el estado actual del mensaje para cada registration_id. Si se produce un error, la información se incluirá en error_message.

    Palabra clave Tipo Opciones Descripción
    status String Optional Rango de valores:
  • plan
  • target_valid
  • target_invalid
  • sent
  • sent_failed
  • delivered
  • delivered_failed
  • Impression
  • click
  • error_message String Optional Mensaje de error, disponible solo para determinados estados.
    error_code Int64 Optional Código de estado de error, disponible solo para determinados estados.
    itime Int64 Optional Hora de actualización del estado, con precisión de segundos.
    channel String Optional Información sobre el canal a través del cual se realiza el push del mensaje.

    Ejemplo de respuesta

    Respuesta correcta

    < HTTP/1.1 200 OK < Content-Type: application/json { "1507bfd3a7c568d4761": { "itime": 1762331775, "channel": "FCM", "status": "delivered" }, "17259fd3a7c568d4371": { "error_code": 21003, "error_message": "The `registration_id` does not belong to the appkey" }, "17259fd3a7c568d4787":{ "itime": 1762331775, "status": "sent_failed", "error_code": 401, "error_message": "token is invalid", "channel": "FCM" }, "17259fd3a7c568d4372": { "error_code": 21061, "error_message": "no effect status" } }
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    {
        "1507bfd3a7c568d4761": {
            "itime": 1762331775,
            "channel": "FCM",
            "status": "delivered"
        },
        "17259fd3a7c568d4371": {
            "error_code": 21003,
            "error_message": "The `registration_id` does not belong to the appkey"
        },
        "17259fd3a7c568d4787":{
            "itime": 1762331775,
            "status": "sent_failed",
            "error_code": 401,
            "error_message": "token is invalid",
            "channel": "FCM"		
        },
        "17259fd3a7c568d4372": {
            "error_code": 21061,
            "error_message": "no effect status"
        }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Respuesta con error

    { "error": { "code": 21003, "message": "Parameter value is invalid" } }
                  
                  {
      "error": {
        "code": 21003,
        "message": "Parameter value is invalid"
      }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Consulta por lotes del estado del ciclo de vida del mensaje

    • Consultar por lotes el estado del ciclo de vida del mensaje para un único registration_id bajo cada message_id. Si existen varios registration_id bajo el mismo message_id, los message_id correspondientes se devolverán en multi_regid_message_ids.
    • Las estadísticas de cada mensaje push se conservan hasta un mes.

    Endpoint de la API

    GET v4/status/batch/message

    Ejemplo de solicitud

    curl -v https://pushapi-sgp.engagelab.com/v4/status/batch/message?message_ids=1613113584,1613113585,1613113586 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/status/batch/message?message_ids=1613113584,1613113585,1613113586 HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
                  
                  curl -v https://pushapi-sgp.engagelab.com/v4/status/batch/message?message_ids=1613113584,1613113585,1613113586 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"
    
    < GET /v4/status/batch/message?message_ids=1613113584,1613113585,1613113586 HTTP/1.1
    < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
    
                
    Este bloque de código se muestra en una ventana flotante

    Parámetros de la solicitud

    Palabra clave Tipo Opción Descripción
    message_ids String Required
  • ID de mensajes. Para varios message_id, se separan con ",".
  • Se admiten hasta 100 message_id.
  • Descripción de parámetros de la respuesta

    La respuesta correcta es un objeto Array; cada elemento representa el estado actual bajo un único message_id (y opcionalmente un único registration_id). Si hay una excepción, se incluirá en error_message.

    Palabra clave Tipo Opciones Descripción
    message_id String Required El message_id del mensaje.
    registration_id String Optional El único registration_id que se consulta.
    status String Optional Rango de valores:
  • plan
  • target_valid
  • target_invalid
  • sent
  • sent_failed
  • delivered
  • delivered_failed
  • Impression
  • click
  • itime Int64 Optional Hora de actualización del estado, con precisión de segundos.
    channel String Optional Información sobre el canal a través del cual se realiza el push del mensaje.
    error_message String Optional Mensaje de error, disponible solo para determinados estados.
    error_code Int64 Optional Código de estado de error, disponible solo para determinados estados.

    Ejemplo de respuesta

    Respuesta correcta

    < HTTP/1.1 200 OK < Content-Type: application/json [ { "message_id": "261585110", "error_message": "Multiple `registration_id` found under the same `message_id`.", "error_code": 21003 }, { "message_id": "261585111", "registration_id": "170976fa8ab73279b2f", "status": "sent", "itime": 1766042841, "channel": "XiaoMi" }, { "message_id": "261585123", "registration_id": "170976fa8ab73279b2f", "status": "click", "itime": 1766047747, "channel": "EngageLab" }, { "message_id": "1613113585", "error_message": "The `message_id` is invalid or does not exist.", "error_code": 21003 }, { "message_id": "1613113585", "error_message": "no effect status", "error_code": 21061 } ]
                  
                  < HTTP/1.1 200 OK
    < Content-Type: application/json
    [
        {
            "message_id": "261585110",
            "error_message": "Multiple `registration_id` found under the same `message_id`.",
            "error_code": 21003
        },    
        {
            "message_id": "261585111",
            "registration_id": "170976fa8ab73279b2f",
            "status": "sent",
            "itime": 1766042841,
            "channel": "XiaoMi"
        },   
        {
            "message_id": "261585123",
            "registration_id": "170976fa8ab73279b2f",
            "status": "click",
            "itime": 1766047747,
            "channel": "EngageLab"
        },
        {
            "message_id": "1613113585",
            "error_message": "The `message_id` is invalid or does not exist.",
            "error_code": 21003
        },
        {
            "message_id": "1613113585",
            "error_message": "no effect status",
            "error_code": 21061
        }
    ]
    
                
    Este bloque de código se muestra en una ventana flotante

    Respuesta con error

    { "error": { "code": 21003, "message": "Parameter value is invalid" } }
                  
                  {
      "error": {
        "code": 21003,
        "message": "Parameter value is invalid"
      }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Código de respuesta

    Código de estado HTTP

    Documentos de referencia: HTTP-Status-Code

    Códigos de retorno

    Código Descripción Descripción detallada Código de estado HTTP
    0 Correcto Solicitud correcta 200
    21001 El método no se admite o hay un error de URL Error del método de solicitud (GET/POST) o error de URL (la interfaz no existe) 404
    21003 El valor del parámetro no es válido Valor de parámetro no permitido 400
    23001 Fallo en la autenticación básica Fallo en la autorización HTTP Basic 401
    23002 Falta un parámetro Falta el parámetro necesario 400
    23004 El valor de time_unit no coincide con start Los valores de los parámetros time_unit y start no coinciden 400
    23007 Solo se admite consultar message_id dentro de 30 días Solo se pueden consultar mensajes dentro de 30 días 400
    23100 Error del servidor Error interno del sistema 500
    27000 Tiempo de espera de respuesta del servidor; inténtelo de nuevo más tarde Error interno del sistema 500
    27201 msgid no existe o no pertenece a esta aplicación El msgid no existe o no pertenece a esta aplicación 400
    Icon Solid Transparent White Qiyu
    Contacto