Configurar atributos de usuario

Dirección de invocación

POST /v1/user/property

Verificación de invocación

La API REST de EngageLab utiliza HTTP Basic Authentication como método de verificación. Añadir Authorization a la cabecera HTTP:

Authorization: Basic ${base64_auth_string}
              
              Authorization: Basic ${base64_auth_string}

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

El valor base64_auth_string se genera mediante el siguiente algoritmo: base64(api_key:api_secret).

  • El nombre de la cabecera es "Authorization" y el valor es el par "nombre_de_usuario:contraseña" codificado en base64 (separado por dos puntos).
  • Para la API de MA, el nombre de usuario corresponde a la APIKey y la contraseña corresponde al APISecret. Se debe configurar una fuente de datos de tipo API para obtener la APIKey y el API Secret.

Ejemplo de solicitud

Cabecera de solicitud

> POST /v1/user/property > Content-Type: application/json > Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==
              
              > POST /v1/user/property
> Content-Type: application/json
> Authorization: Basic N2Q0MzFlNDJkZmE2YTZkNjkzYWMyZDA0OjVlOTg3YWM2ZDJlMDRkOTVhOWQ4ZjBkMQ==

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

Cuerpo de solicitud

{ "euid": 10362473, "type": "set", "properties": { "user_number_once": 46.2, // User property name and property value "user_string_once": "refef", "user_datetime_once": "2023-12-12 00:56:23" } }
              
              {
    "euid": 10362473,
    "type": "set",
    "properties": {
        "user_number_once": 46.2, // User property name and property value
        "user_string_once": "refef",
        "user_datetime_once": "2023-12-12 00:56:23"
    }
}

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

Parámetros de solicitud

Campo Tipo Obligatorio Descripción
euid Long El ID único del usuario de EngageLab MA
type String El tipo de operación para actualizar las propiedades
  • set: sobrescribir el valor de la propiedad
  • increase: para propiedades de tipo entero, incrementar el valor con los datos reportados. Si la propiedad no existe, el valor inicial se considera 0
  • add: para propiedades de tipo lista, añadir un valor
  • remove: para propiedades de tipo lista, eliminar un valor
  • delete: eliminar todos los valores de la propiedad
  • properties JSON La lista de propiedades de usuario, donde la clave es el nombre de la propiedad y el valor es el valor de la propiedad

    Tipos de operación

    Todas las propiedades de una solicitud usan el mismo type. Se admiten set, increase, add, remove, delete, setOnce y update.

    Operación Tipos de propiedad aplicables Descripción
    set Todos los tipos Actualiza el valor; object_array debe ser un arreglo de objetos y reemplaza el arreglo existente.
    increase Número Suma el valor recibido al existente; una propiedad inexistente comienza en 0.
    add Lista, arreglo de objetos Agrega elementos a la lista sin duplicados o agrega un objeto al arreglo.
    remove Lista, arreglo de objetos Elimina elementos de la lista o un elemento del arreglo por identificador.
    delete Todos los tipos Elimina todos los valores de la propiedad.
    setOnce Todos los tipos Solo escribe si la propiedad aún no se ha establecido.
    update Arreglo de objetos Actualiza parcialmente un elemento del arreglo por identificador.

    Operaciones de arreglo de objetos

    Para object_array, el valor de add es un objeto JSON y el de set es un arreglo de objetos JSON. remove y update localizan un elemento mediante $identifier_key y $identifier_value; el campo identificador debe ser un subcampo string o number definido.

    El valor de remove solo puede incluir esos dos campos identificadores:

    { "euid": 10362473, "type": "remove", "properties": { "devices": { "$identifier_key": "device_id", "$identifier_value": "ios-001" } } }
                  
                  {
      "euid": 10362473,
      "type": "remove",
      "properties": {
        "devices": {
          "$identifier_key": "device_id",
          "$identifier_value": "ios-001"
        }
      }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    update también requiere un $new_object no vacío. No puede incluir el campo identificador; los campos cuyo valor sea null se eliminan del elemento encontrado. El identificador debe coincidir exactamente con un elemento del arreglo.

    { "euid": 10362473, "type": "update", "properties": { "devices": { "$identifier_key": "device_id", "$identifier_value": "ios-001", "$new_object": { "model": "iPhone 16", "legacy_field": null } } } }
                  
                  {
      "euid": 10362473,
      "type": "update",
      "properties": {
        "devices": {
          "$identifier_key": "device_id",
          "$identifier_value": "ios-001",
          "$new_object": {
            "model": "iPhone 16",
            "legacy_field": null
          }
        }
      }
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Parámetros de respuesta

    Campo Tipo Obligatorio Descripción
    code Int Indica si la llamada a la interfaz se ha realizado correctamente. 0 significa éxito o éxito parcial, y otros valores representan un fallo
    message String Descripción del resultado de la llamada a la API, que explica el código de retorno

    Todo correcto

    { "code": 0, "message": "success" }
                  
                  {
        "code": 0,
        "message": "success"
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Todo fallido

    { "code": 55102, "message": "Invalid user attributes exist" }
                  
                  {
        "code": 55102,
        "message": "Invalid user attributes exist"
    }
    
                
    Este bloque de código se muestra en una ventana flotante

    Código de error

    Código Descripción Explicación detallada
    40050 Falló la autenticación de la interfaz. Confirmar si el ID del proyecto y el API Secret son correctos.
    40007 El EUID está vacío. Comprobar el valor de EUID.
    50031 El ID del proyecto no es válido. Comprobar si la APIKey y el APISecret son correctos.
    50034 El ID del proyecto no existe. Comprobar si la APIKey y el APISecret son correctos y si el proyecto se ha eliminado.
    50074 La fuente de datos de API no existe. Comprobar si la APIKey y el APISecret son correctos y si la fuente de datos de API se ha eliminado.
    55004 Los parámetros de negocio no son válidos. Comprobar si los campos de los parámetros de la solicitud son correctos.
    55101 El número de identificadores de usuario supera el límite. Confirmar si el número de valores del identificador de usuario supera 100.
    55102 Hay nombres de atributos de usuario no válidos. Confirmar si el nombre del atributo cumple los requisitos de nomenclatura y si está vacío/usa caracteres reservados/supera el límite de longitud.
    55103 Los valores de los atributos de usuario no pueden estar vacíos. Confirmar si el valor del atributo de usuario en el cuerpo de la solicitud está vacío.
    55105 El valor del identificador de usuario no puede superar 256 caracteres. Confirmar si el valor de la identificación de usuario supera 256 caracteres.
    55106 El nombre del identificador de usuario no está dentro del intervalo admitido. Confirmar si el nombre del identificador de usuario es user_id, anonymous_id o registration_id.
    55107 El valor del identificador de usuario está vacío. Confirmar si el valor del identificador de usuario en el cuerpo de la solicitud está vacío.
    55108 EUID no válido. Comprobar el valor de EUID.
    -1 Error interno del servidor. Ponerse en contacto con el soporte técnico de EngageLab.
    Icon Solid Transparent White Qiyu
    Contacto