Logo Site EngageLab Full Black
Ventas

API de estadísticas

info Esta es la versión más reciente de la API de estadísticas (Stats API). Las mejoras de la versión v4 son las siguientes:

  • Se utiliza la autenticación básica HTTP (HTTP Basic Authentication) para autorizar el acceso. De este modo, toda la solicitud a la API se puede completar con herramientas HTTP comunes, como curl y complementos del navegador.
  • El contenido del push está en formato JSON.

Visión general

Stats API v4 proporciona múltiples funciones de consulta de datos.

Validación de llamadas

Para obtener más información, consulte Método de autenticación

Estadísticas de mensajes

  • Consultar las estadísticas de cada estado en el ciclo de vida (lifecycle) de message_id.
  • Las estadísticas de cada mensaje push se pueden conservar como máximo durante un mes.

URI de la API de solicitud

GET v4/status/detail

Ejemplo de solicitud

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

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

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

Parámetros de solicitud

Palabras clave Tipo Opción Descripción
message_ids String Obligatorio <li>ID de mensaje; varios message_ids se separan por ","<li>hasta 100 messages_ids

Ejemplo de respuesta

< HTTP/1.1 200 OK < Content-Type: application/json { "1083008": { "targets": 1, "sent": 1, "delivered": 1, "impressions": 1, "clicks": 0, "sub": { "notification": { "targets": 1, "sent": 1, "delivered": 1, "impressions": 1, "clicks": 0, "sub_web": { "engageLab_web": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "chrome": { "targets": 1, "sent": 1, "delivered": 1, "impressions": 1, "clicks": 0 }, "safari": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "firefox": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "edge": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 }, "other": { "targets": 0, "sent": 0, "delivered": 0, "impressions": 0, "clicks": 0 } } }, "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
{
    "1083008": {
        "targets": 1,
        "sent": 1,
        "delivered": 1,
        "impressions": 1,
        "clicks": 0,
        "sub": {
            "notification": {
                "targets": 1,
                "sent": 1,
                "delivered": 1,
                "impressions": 1,
                "clicks": 0,
                "sub_web": {
                    "engageLab_web": {
                        "targets": 0,
                        "sent": 0,
                        "delivered": 0,
                        "impressions": 0,
                        "clicks": 0
                    },
                    "chrome": {
                        "targets": 1,
                        "sent": 1,
                        "delivered": 1,
                        "impressions": 1,
                        "clicks": 0
                    },
                    "safari": {
                        "targets": 0,
                        "sent": 0,
                        "delivered": 0,
                        "impressions": 0,
                        "clicks": 0
                    },
                    "firefox": {
                        "targets": 0,
                        "sent": 0,
                        "delivered": 0,
                        "impressions": 0,
                        "clicks": 0
                    },
                    "edge": {
                        "targets": 0,
                        "sent": 0,
                        "delivered": 0,
                        "impressions": 0,
                        "clicks": 0
                    },
                    "other": {
                        "targets": 0,
                        "sent": 0,
                        "delivered": 0,
                        "impressions": 0,
                        "clicks": 0
                    }
                }
            },
            "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 respuesta

Palabras clave Tipo Opción Descripción
targets Int64 Obligatorio Objetivos efectivos.
sent Int64 Obligatorio Cantidad enviada.
delivered Int64 Obligatorio Cantidad entregada.
impressions Int64 Obligatorio Cantidad de visualizaciones.
clicks Int64 Obligatorio Número de clics.
sub Object Obligatorio Indicadores desglosados de los datos estadísticos.
plan_id String Obligatorio ID del plan de push.
pushContent Object Obligatorio Detalles del contenido del push.
Indicador
Palabras clave Tipo Opción Descripción
sub_web Object Opcional Estadísticas resumidas de datos de varios canales de push en el canal Web
engageLab_web Object Opcional Estadísticas resumidas de datos del canal Engagelab
chrome Object Opcional Estadísticas resumidas de datos del canal Chrome
safari Object Opcional Estadísticas resumidas de datos del canal Safari
firefox Object Opcional Estadísticas resumidas de datos del canal Firefox
edge Object Opcional Estadísticas resumidas de datos del canal Edge
other Object Opcional Estadísticas resumidas de datos de otros canales

Estadísticas de usuarios

  • Proporciona estadísticas de usuarios de un periodo comprendido en los últimos 2 meses: usuarios nuevos, en línea y activos.
  • Unidades de tiempo admitidas: HOUR (hora), DAY (día) y MONTH (mes).

URL de la API de solicitud

v4/status/users
              
              
v4/status/users

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

Ejemplo de solicitud

curl -v https://webpushapi-sgp.engagelab.com/v4/status/users?time_unit=DAY&start=2014-06-10&duration=3 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1" < GET /v4/status/users?time_unit=&start=&duration= HTTP/1.1 < Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
              
              curl -v https://webpushapi-sgp.engagelab.com/v4/status/users?time_unit=DAY&start=2014-06-10&duration=3 -u "7d431e42dfa6a6d693ac2d04:5e987ac6d2e04d95a9d8f0d1"

< GET /v4/status/users?time_unit=&start=&duration= HTTP/1.1
< Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==

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

Parámetros de solicitud

Palabra clave Tipo Opción Descripción
time_unit String Obligatorio Unidad de tiempo: HOUR (hora), DAY (día) o MONTH (mes).
start String Obligatorio Fecha u hora de inicio.
  • Para HOUR, incluya la fecha y la hora con dos dígitos; ejemplo: 2022-06-11 09.
  • Para DAY, indique la fecha; ejemplo: 2006-01-02T15.
  • Para MONTH, indique el año y el mes; ejemplo: 2022-06.
  • duration String Obligatorio Duración en la unidad seleccionada; por ejemplo, número de días para DAY.
  • Solo se pueden consultar datos de los últimos 60 días. Para time_unit=HOUR, solo se devuelven estadísticas del día indicado.
  • Ejemplo de respuesta

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

    Parámetros de respuesta

    La respuesta correcta es un objeto JSON:

    Palabra clave Tipo Opción Descripción
    TimeUnit String Obligatorio Unidad de tiempo: HOUR (hora), DAY (día) o MONTH (mes).
    start String Obligatorio Fecha u hora de inicio.
  • Para HOUR, incluya la fecha y la hora con dos dígitos; ejemplo: 2022-06-11 09.
  • Para DAY, indique la fecha; ejemplo: 2022-06-11.
  • Para MONTH, indique el año y el mes; ejemplo: 2022-06.
  • duration Integer Obligatorio Duración en la unidad seleccionada; por ejemplo, número de días para DAY.
  • Solo se pueden consultar datos de los últimos 60 días. Para time_unit=HOUR, solo se devuelven estadísticas del día indicado.
  • items JSON Array Obligatorio Resultados estadísticos del intervalo consultado.

    Formato de items:

    • web: estadísticas agregadas de la plataforma web.
    Palabra clave Tipo Opción Descripción
    new Int64 Opcional Usuarios nuevos.
    online Int64 Opcional Usuarios en línea.
    active Int64 Opcional Usuarios activos.

    Consultar el estado del ciclo de vida del mensaje

    • Consulta el estado del ciclo de vida del mensaje para los dispositivos asociados a message_id.
    • Las estadísticas de cada mensaje push se conservan durante un máximo de un mes.

    URL de la API de solicitud

    GET v4/status/message

    Ejemplo de solicitud

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

    Parámetros de solicitud

    Palabra clave Tipo Opción Descripción
    message_id String Obligatorio ID del mensaje.
    registration_ids String Obligatorio IDs de los dispositivos. Separe varios registration_id con comas. Se admiten hasta 1000 registration_id.

    Ejemplo de respuesta

    < 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 de 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

    • Consulta en lote el estado del ciclo de vida de los mensajes asociados a un único registration_id por message_id. Si un message_id no corresponde a un único registration_id, se devuelve un resultado de error para ese message_id.
    • Las estadísticas de cada mensaje push se conservan durante un máximo de un mes.

    URL de la API de solicitud

    GET v4/status/batch/message

    Ejemplo de solicitud

    curl -v https://webpushapi-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://webpushapi-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 solicitud

    Palabra clave Tipo Opción Descripción
    message_ids String Obligatorio IDs de los mensajes separados por comas. Se admiten hasta 100 message_id.

    Descripción de los parámetros de respuesta

    La respuesta contiene el estado actual del único registration_id asociado a cada message_id. Si se produce un error, su descripción se incluye en error_message.

    Palabra clave Tipo Opción Descripción
    message_id String Obligatorio message_id del mensaje.
    registration_id String Opcional El único registration_id asociado.
    status String Opcional Valores: plan (destino planificado), target_valid (destino válido), target_invalid (destino no válido), sent (enviado), sent_failed (error de envío), delivered (entregado), delivered_failed (error de entrega), Impression (visualización) y click (clic).
    error_message String Opcional Descripción del error; solo aparece en determinados estados.
    error_code Int64 Opcional Código de error; solo aparece en determinados estados.
    itime Int64 Opcional Hora de actualización del estado, con precisión de segundos.
    channel String Opcional Canal por el que se envió el mensaje push.

    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": "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 } ]
                  
                  < 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": "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
        }
    ]
    
                
    Este bloque de código se muestra en una ventana flotante

    Parámetros de respuesta

    Los resultados incluyen el estado actual de los registration_id correspondientes. Si se produce un error, su descripción se incluye en error_message.

    Palabra clave Tipo Opción Descripción
    status String Opcional Valores: plan (destino planificado), target_valid (destino válido), target_invalid (destino no válido), sent (enviado), sent_failed (error de envío), delivered (entregado), delivered_failed (error de entrega), Impression (visualización) y click (clic).
    error_message String Opcional Descripción del error.

    Resultado de la solicitud

    Códigos de estado HTTP

    Consulte HTTP-Status-Code.

    Códigos de error

    Code Descripción Explicación detallada HTTP Status Code
    0 success Operación correcta. 200
    21001 Only support http POST request Solo se admiten solicitudes HTTP POST. 405
    21003 Parameter value is invalid Valor de parámetro no válido. 400
    23001 Basic authentication failed Error de autorización HTTP Basic. 401
    23002 Missing parameter! Falta un parámetro obligatorio. 400
    23004 time_unit value does not match with start! El valor de time_unit no coincide con el formato de start. 400
    23007 Only support quering the message_id within 30 days! Solo se pueden consultar mensajes de los últimos 30 días. 400
    23100 server error Error interno del sistema. 400
    27000 Server response time out, please try again later Error interno del sistema. 500
    27201 El msgid no existe o no pertenece a esta app El msgid no existe o no pertenece a esta app. 400
    Icon Solid Transparent White Qiyu
    Contactar con ventas