API de etiquetas y alias

La API de dispositivos (Device API) se utiliza para consultar, establecer, actualizar y eliminar la información de etiquetas y alias del dispositivo en el lado del servidor. Al utilizarla, se debe tener cuidado de no permitir que las etiquetas configuradas en el lado del servidor se sobrescriban desde el cliente.

  • Si no está familiarizado con la lógica de etiquetas y alias, se recomienda utilizar solo uno de los dos enfoques: lado del cliente o lado del servidor.
  • Si utiliza ambos, asegúrese de que la aplicación pueda gestionar la sincronización de etiquetas y alias.

Para obtener más información sobre etiquetas y alias, consulte la descripción de la API de la plataforma de cliente correspondiente.

Reglas y restricciones de uso de etiquetas

  • Límite de cantidad de etiquetas: En una sola appkey, se pueden crear hasta 100.000 tags.
  • Límite de longitud de etiquetas: La longitud máxima de cada tag es de 40 bytes. Los caracteres válidos incluyen letras (distingue mayúsculas y minúsculas), números, guiones bajos y caracteres chinos.
  • Límite de vinculación de etiquetas por dispositivo: Cada dispositivo puede vincular hasta 100 tags.
  • Límite de cantidad de dispositivos: En un solo tag, se pueden añadir hasta 100.000 dispositivos.

Si es suscriptor de nuestro plan de pago y desea ajustar el límite de uso de su AppKey de pago, póngase en contacto con nuestro equipo comercial en: Sales@engagelab.com

Reglas y restricciones de uso de alias

  • Asignación de dispositivo a alias: Un alias solo puede corresponder a un dispositivo, no a varios. Del mismo modo, cada dispositivo dentro del ámbito de la appkey solo puede asignarse a un alias, no a varios alias.
  • Límite de longitud de alias: La longitud máxima de cada alias es de 40 bytes. Los caracteres válidos incluyen letras (distingue mayúsculas y minúsculas), números, guiones bajos y caracteres chinos.

Si es suscriptor de nuestro plan de pago y desea ajustar el límite de uso de su AppKey de pago, póngase en contacto con nuestro equipo comercial en: Sales@engagelab.com

Visión general de la API

La API de dispositivos (Device API) se utiliza para consultar, establecer, actualizar y eliminar la información de etiquetas y alias del dispositivo en el lado del servidor.

Incluye tres API: device, tag, alias:

  • device: se utiliza para consultar/establecer varios atributos del dispositivo, incluidas etiquetas y alias;
  • tag: se utiliza para consultar/establecer/eliminar el tag del dispositivo;
  • alias: se utiliza para consultar/establecer/eliminar el alias del dispositivo.

El ID de registro (registration ID) también es una información clave que se debe utilizar:

El registration_id del dispositivo se obtiene tras la integración en el lado del cliente; para obtener más detalles, consulte la documentación de la API para Android, iOS y HarmonyOS.

El lado del servidor no proporciona una API para obtener el valor registration ID del dispositivo; el desarrollador debe obtener el registration ID en el lado del cliente y cargarlo en el servidor del desarrollador para su almacenamiento.

Dirección de la solicitud

https://pushapi-sgp.engagelab.com/v4/devices

Consultar el número de tags bajo una AppKey

URL de destino

GET /v4/tags_count
              
              GET /v4/tags_count

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

Ejemplo de solicitud

Encabezados de la solicitud

GET /v4/tags_count Authorization: Basic (base64 auth string) Accept: application/json
              
              GET /v4/tags_count
Authorization: Basic (base64 auth string)
Accept: application/json

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

Ejemplo

curl -X GET http://127.0.0.1/v4/tags_count?tags=tag1&tags=tag2&platform=ios -u "appKey:appSecret"
              
              curl -X GET http://127.0.0.1/v4/tags_count?tags=tag1&tags=tag2&platform=ios -u "appKey:appSecret"

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

Parámetros de la solicitud

  • tags: Consultar la cadena de tag especificada; campo obligatorio; se permite consultar hasta 1000 tags por vez (tags=tag1&tags=tag2&tags=tag3).
  • platform: Consultar la plataforma especificada; campo obligatorio; los valores opcionales son android, ios, hmos. No se permiten otros valores.

Ejemplos de respuesta

  • Una respuesta correcta devolverá un objeto JSON que contiene un campo tagsCount. Se trata de una colección de pares clave-valor en la que la clave es el nombre del tag y el valor es el recuento de ese tag.
  • Si la solicitud falla, se devolverá un objeto JSON que contiene información de error. El campo code indica el código de error y el campo message indica el mensaje de error.

Devolución correcta

{ "tagsCount": { "tag1": 0, "tag2": 1, "tag3": 2 } }
              
              {
    "tagsCount": {
        "tag1": 0,
        "tag2": 1,
        "tag3": 2
    }
}

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

Devolución con error

{ "error": { "code": 21008, "message": "app_key is not a 24 size string or does not exist" } }
              
              {
    "error": {
        "code": 21008,
        "message": "app_key is not a 24 size string or does not exist"
    }
}

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

Consulta de alias y etiquetas del dispositivo

  • Obtener todos los atributos del dispositivo actual, incluidas etiquetas y alias.

Dirección de la solicitud

GET /v4/devices/{registration_id}
              
              GET /v4/devices/{registration_id}

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

Ejemplo de solicitud

Encabezado de la solicitud

GET /v4/devices/{registration_id} Authorization: Basic (base64 auth string) Accept: application/json
              
              GET /v4/devices/{registration_id}
  Authorization: Basic (base64 auth string) 
  Accept: application/json

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

Parámetro de la solicitud

  • N/A

Ejemplo de respuesta

Devolución correcta

HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8
              
              HTTP/1.1 200 OK 
  Content-Type: application/json; charset=utf-8

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

Datos devueltos

{ "tags": ["tag1", "tag2"], "alias": "alias1" }
              
              {
  "tags": ["tag1", "tag2"],
  "alias": "alias1"
}

            
Este bloque de código se muestra en una ventana flotante
  • Si no se encuentra el valor, es null; de lo contrario, es el valor devuelto.

Establecer el alias y la etiqueta del dispositivo

  • Actualizar los atributos especificados del dispositivo actual; actualmente se admiten tags y alias.

Dirección de la solicitud

POST /v4/devices/{registration_id}
              
              POST /v4/devices/{registration_id}

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

Ejemplo de solicitud

Encabezado de la solicitud

POST /v4/devices/{registration_id} Authorization: Basic (base64 auth string) Accept: application/json
              
              POST /v4/devices/{registration_id}
  Authorization: Basic (base64 auth string) 
  Accept: application/json

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

Datos de la solicitud

{ "tags": { "add": [ "tag1", "tag2" ], "remove": [ "tag3", "tag4" ] }, "alias": "alias1" }
              
              {
    "tags": {
        "add": [
            "tag1",
            "tag2"
        ],
        "remove": [
            "tag3",
            "tag4"
        ]
    },
    "alias": "alias1"
}

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

Parámetro de la solicitud

  • tags: admite add, remove o cadena vacía. Cuando el parámetro tags es una cadena vacía, significa que se borran todos los tags; en add/remove, se añade o elimina el tag especificado.
  • alias: Actualizar el atributo alias del dispositivo; cuando alias es una cadena vacía, se elimina el alias del dispositivo especificado.

Ejemplo de respuesta

Devolución correcta

HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8
              
              HTTP/1.1 200 OK 
  Content-Type: application/json; charset=utf-8

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

Datos devueltos

success
              
              success

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

Devolución con error

{ "error":{ "code":27002, "message":"unknown error" } }
              
              {
  "error":{
    "code":27002, 
    "message":"unknown error"
  }
}

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

Eliminar el dispositivo

  • Eliminar el dispositivo.

Dirección de la solicitud

DELETE /v4/devices/{registration_id}
              
              DELETE /v4/devices/{registration_id}

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

Ejemplo de solicitud

Encabezado de la solicitud

DELETE /v4/devices/{registration_id} Authorization: Basic (base64 auth string) Accept: application/json
              
              DELETE /v4/devices/{registration_id}
   Authorization: Basic (base64 auth string)
   Accept: application/json

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

Datos de la solicitud

  • N/A

Parámetros de la solicitud

  • N/A

Ejemplo de respuesta

Devolución correcta

HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8
              
              HTTP/1.1 200 OK
   Content-Type: application/json; charset=utf-8

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

Datos devueltos

success
              
              success

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

Devolución con error

{ "error":{ "code":27002, "message":"unknown error" } }
              
              {
  "error":{
    "code":27002, 
    "message":"unknown error"
  }
}

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

Consultar lista de tags

  • Obtener una lista de todos los tags de la aplicación actual.

Dirección de la solicitud

GET /v4/tags/
              
              GET /v4/tags/

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

Ejemplo de solicitud

Encabezado de la solicitud

GET /v4/tags/ Authorization: Basic (base64 auth string) Accept: application/json
              
              GET /v4/tags/
  Authorization: Basic (base64 auth string) 
  Accept: application/json

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

Parámetros de la solicitud

  • Ninguno

Ejemplo de respuesta

Devolución correcta

HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8
              
              HTTP/1.1 200 OK 
  Content-Type: application/json; charset=utf-8

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

Datos devueltos

{ "tags": [ "tag1", "tag2" ] }
              
              {
  "tags": [
    "tag1",
    "tag2"
  ]
}

            
Este bloque de código se muestra en una ventana flotante
  • El valor es null si no se encuentra ningún dato; de lo contrario, se devuelve el valor correspondiente.

Consultar la relación de vinculación entre dispositivo y tag

  • Consultar si un dispositivo está bajo el tag.

Dirección de la solicitud

GET /v4/tags/{tag_value}/registration_ids/{registration_id}
              
              GET /v4/tags/{tag_value}/registration_ids/{registration_id}

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

Ejemplo de solicitud

Encabezado de la solicitud

GET /v4/tags/{tag_value}/registration_ids/090c1f59f89 Authorization: Basic (base64 auth string) Accept: application/json
              
              GET /v4/tags/{tag_value}/registration_ids/090c1f59f89
  Authorization: Basic (base64 auth string) 
  Accept: application/json

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

Parámetros de la solicitud

  • registration_id: Obligatorio; registration_id del dispositivo.

Ejemplo de respuesta

Devolución correcta

HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8
              
              HTTP/1.1 200 OK 
  Content-Type: application/json; charset=utf-8

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

Datos devueltos

{"result": true/false}
              
              {"result": true/false}

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

Actualizar tags

  • Añadir o eliminar dispositivos de un tag.

Dirección de la solicitud

POST /v4/tags/{tag_value}
              
              POST /v4/tags/{tag_value}

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

Ejemplo de solicitud

Encabezado de la solicitud

POST /v4/tags/{tag_value} Authorization: Basic (base64 auth string) Accept: application/json
              
              POST /v4/tags/{tag_value}
  Authorization: Basic (base64 auth string) 
  Accept: application/json

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

Datos de la solicitud

{ "registration_ids":{ "add": [ "registration_id1", "registration_id2" ], "remove": [ "registration_id1", "registration_id2" ] } }
              
              {  
  "registration_ids":{
    "add": [
      "registration_id1",
      "registration_id2"
    ],
    "remove": [
      "registration_id1",
      "registration_id2"
    ]
  }
}

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

Parámetros de la solicitud

  • action: Tipo de acción, con dos opciones: "add", "remove", que identifica si la solicitud es para añadir o eliminar.
  • registration_ids: registration_id del dispositivo que se va a añadir/eliminar.
  • add/remove: admite hasta 1000 dispositivos en cada caso.

Ejemplo de respuesta

Devolución correcta

HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8
              
              HTTP/1.1 200 OK 
 Content-Type: application/json; charset=utf-8

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

Datos devueltos

success
              
              success

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

Devolución con error

{ "error": { "code": 27005, "message": "registration id is illegal", "data": "{\"invalid_regids\":[\"18071adc021ff8df80\",\"100d85592955c1f1058\"]}" } }
              
              {
    "error": {
        "code": 27005,
        "message": "registration id is illegal",
        "data": "{\"invalid_regids\":[\"18071adc021ff8df80\",\"100d85592955c1f1058\"]}"
    }
}

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

Eliminar tag

Se elimina un tag y la asociación entre el tag y el dispositivo.

Dirección de la solicitud

DELETE /v4/tags/{tag_value}
              
              DELETE /v4/tags/{tag_value}

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

Ejemplo de solicitud

Encabezado de la solicitud

DELETE /v4/tags/{tag_value}?platform=android,ios,hmos Authorization: Basic (base64 auth string) Accept: application/json
              
              DELETE /v4/tags/{tag_value}?platform=android,ios,hmos
  Authorization: Basic (base64 auth string) 
  Accept: application/json

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

Parámetros de la solicitud

  • platform es un parámetro opcional; si no se especifica, el valor predeterminado es todas las plataformas.

Ejemplo de respuesta

Devolución correcta

HTTP/1.1 200 OK Content-Type: application/json; charset=utf-
              
              HTTP/1.1 200 OK 
 Content-Type: application/json; charset=utf-

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

Datos devueltos

success
              
              success

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

Devolución con error

{ "error":{ "code":27002, "message":"unknown error" } }
              
              {
  "error":{
    "code":27002, 
    "message":"unknown error"
  }
}

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

Consultar alias (relación de vinculación con el dispositivo)

  • Obtener los dispositivos bajo el alias especificado.

Dirección de la solicitud

GET /v4/aliases/{alias_value}
              
              GET /v4/aliases/{alias_value}

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

Ejemplo de solicitud

Encabezado de la solicitud

GET /v4/aliases/{alias_value}?platform=android,ios,hmos Authorization: Basic (base64 auth string) Accept: application/json
              
              GET /v4/aliases/{alias_value}?platform=android,ios,hmos
  Authorization: Basic (base64 auth string) 
  Accept: application/json

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

Parámetros de la solicitud

  • platform es un parámetro opcional; si no se especifica, el valor predeterminado es todas las plataformas.

Ejemplo de respuesta

Devolución correcta

HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8
              
              HTTP/1.1 200 OK 
  Content-Type: application/json; charset=utf-8

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

Datos devueltos

{ "registration_ids": [ "registration_id1", "registration_id2" ] }
              
              {
   "registration_ids": [
     "registration_id1",
     "registration_id2"
   ]
}

            
Este bloque de código se muestra en una ventana flotante
  • El valor es null si no se encuentra ningún dato; de lo contrario, se devuelve el valor correspondiente.

Eliminar alias

Se elimina un alias y la relación de vinculación entre el alias y el dispositivo.

DELETE /v4/aliases/{alias_value}
              
              DELETE /v4/aliases/{alias_value}

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

Ejemplo de solicitud

Encabezado de la solicitud

DELETE /v4/aliases/{alias_value}?platform=android,ios,hmos Authorization: Basic (base64 auth string) Accept: application/json
              
              DELETE /v4/aliases/{alias_value}?platform=android,ios,hmos
  Authorization: Basic (base64 auth string) 
  Accept: application/json

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

Parámetros de la solicitud

  • platform es un parámetro opcional; si no se especifica, el valor predeterminado es todas las plataformas.

Ejemplo de respuesta

  • Correcto
success
              
              success

            
Este bloque de código se muestra en una ventana flotante
  • Error
{ "error":{ "code":27002, "message":"unknown error" } }
              
              {
  "error":{
    "code":27002, 
    "message":"unknown error"
  }
}

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

Obtener el estado en línea del usuario

Dirección de la solicitud

POST /v4/devices/status/
              
              POST /v4/devices/status/

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

Ejemplo de solicitud

Encabezado de la solicitud

POST /v4/devices/status/ Authorization: Basic (base64 auth string) Accept: application/json
              
              POST /v4/devices/status/
  Authorization: Basic (base64 auth string) 
  Accept: application/json

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

Datos de la solicitud

{ "registration_ids": [ "010b81b3582", "0207870f1b8", "0207870f9b8" ] }
              
              {
  "registration_ids": [
    "010b81b3582",
    "0207870f1b8",
    "0207870f9b8"
  ]
}

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

Parámetros de la solicitud

  • registration_ids: registration_id del usuario cuyo estado en línea se debe consultar; se admite consultar hasta 1000 registration_ids.
  • Antes de poder invocar esta API, se debe solicitar un Appkey que tenga habilitado este servicio.

Ejemplo de respuesta

Devolución correcta

HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8
              
              HTTP/1.1 200 OK 
  Content-Type: application/json; charset=utf-8

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

Datos devueltos

[ { "regid": "010b81b3582", "online": true }, { "regid": "0207870f1b8", "online": false, "last_online_time": "2014-12-16 10:57:07" }, { "regid": "0207870f9b8", "online": false } ]
              
              [
  {
    "regid": "010b81b3582",
    "online": true
  },
  {
    "regid": "0207870f1b8",
    "online": false,
    "last_online_time": "2014-12-16 10:57:07"
  },
  {
    "regid": "0207870f9b8",
    "online": false
  }
]

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

Datos devueltos

  • online
    • true: en línea durante 10 minutos o menos;
    • false: no está en línea durante 10 minutos;
  • last_online_time
    • Cuando online es true, este campo no se devuelve.
    • Cuando online es false y el campo no se devuelve, la última vez en línea fue hace dos días.
  • La verificación fallará para regid no válido o para regid que no pertenezca a la appkey.

Interfaz de consulta de información de cuota de tag/alias

Consultar la información de cuota relacionada del AppKey, la plataforma y el tag especificados. El número de tags en una sola consulta no puede superar 1.000.

Dirección de la solicitud

GET /v4/tags/quota-info?tags=tag1&platform=android Authorization: Basic (base64 auth string) Accept: application/json
              
              GET /v4/tags/quota-info?tags=tag1&platform=android
Authorization: Basic (base64 auth string)
Accept: application/json

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

Ejemplo de solicitud

curl --location 'https://pushapi-sgp.engagelab.com/v4/tags/quota-info?platform=android&tags=tag1&tags=tag2' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic YjA2MTBmZGE0M2JmNmFkMTczNGNjMWY2OmQyNGMzZDk1Yzk1M2M3YmFkNzRkM2Q5YQ=='
              
              curl --location 'https://pushapi-sgp.engagelab.com/v4/tags/quota-info?platform=android&tags=tag1&tags=tag2' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic YjA2MTBmZGE0M2JmNmFkMTczNGNjMWY2OmQyNGMzZDk1Yzk1M2M3YmFkNzRkM2Q5YQ=='

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

Devolución correcta

{ "data": { "totalTagQuota": 100000, "useTagQuota": 1, "totalAliasQuota": 100000, "useAliasQuota": 3, "tagUidQuotaDetail": [ { "tagName": "tag1", "totalUidQuota": 100000, "useUidQuota": 0 }, { "tagName": "tag2", "totalUidQuota": 100000, "useUidQuota": 0 } ] } }
              
              {
    "data": {
        "totalTagQuota": 100000,
        "useTagQuota": 1,
        "totalAliasQuota": 100000,
        "useAliasQuota": 3,
        "tagUidQuotaDetail": [
            {
                "tagName": "tag1",
                "totalUidQuota": 100000,
                "useUidQuota": 0
            },
            {
                "tagName": "tag2",
                "totalUidQuota": 100000,
                "useUidQuota": 0
            }
        ]
    }
}

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

Definición de campos devueltos:

  • totalTagQuota: Indica la cuota total de tags en la aplicación.
  • useTagQuota: Indica la cuota de tags utilizada.
  • totalAliasQuota: Indica la cuota total de alias en la aplicación.
  • useAliasQuota: Indica la cuota de alias utilizada.
  • tagUidQuota: Indica la cuota de número de dispositivos para un solo tag.
  • useUidQuota: Indica el detalle del número de dispositivos vinculados a cada tag.

Devolución con error

{ "error": { "code": 27002, "message": "Illegal parameter" } }
              
              {
    "error": {
        "code": 27002,
        "message": "Illegal parameter"
    }
}

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

Códigos de estado HTTP

Documento de referencia: Http-Status-Code

Código de retorno de negocio

Código Descripción Explicación detallada Código de estado HTTP
21004 Error de autenticación appkey no válido. 401
27000 Error de memoria del sistema Reintentar. 500
27001 Error de parámetro La información de verificación está vacía. 401
27002 Error de parámetro Parámetro no válido. 400
27004 Error de parámetro Error de verificación. 401
27005 Error de parámetro Formato de registration_id no válido. 400
21008 Error de parámetro app_key no es una cadena de 24 caracteres o no existe. 400
27010 Error de parámetro El alias ya está vinculado a otro regid. 400
27011 Límite del sistema El número de tags vinculados al dispositivo supera el límite. Un dispositivo puede vincular hasta 100 tags. 401
27012 Error de parámetro El tag que el dispositivo desea vincular no existe. 401
27013 Error de parámetro El número de tags en la aplicación supera el límite. Una aplicación puede crear hasta 100.000 tags. 401
27014 Límite del sistema El número de vínculos de dispositivos en el tag supera el límite. Un tag puede vincular hasta 100.000 dispositivos. 401
27015 Error de parámetro El alias vinculado al dispositivo no existe. 401
27016 Límite del sistema El número de alias en la aplicación supera el límite. Una aplicación puede crear hasta 100.000 alias. 401
27017 Error de parámetro La longitud del tag supera 40 caracteres. 401
Icon Solid Transparent White Qiyu
Contacto