Configurar identificadores de canal

Un identificador de canal es el valor identificador de un canal de contacto y puede usarse como destino de ese canal. Tanto la configuración como la desvinculación se ejecutan por EUID e ID de canal.

La dirección completa es la URL base del centro de datos más la ruta de API siguiente. Consulte la Descripción general de la REST API para obtener la URL base, la API Key y el API Secret.

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.

Configurar identificadores de canal

Dirección de invocación

POST /v1/user/channel

Ejemplo de solicitud

Cabecera de solicitud

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

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

Cuerpo de solicitud

{ "euid": 10362473, "channel_id": 8801, "ma_rid": "1a0018970d1c9f8f8e2", "value": [ "channel_identifier_1", "channel_identifier_2" ] }
              
              {
  "euid": 10362473,
  "channel_id": 8801,
  "ma_rid": "1a0018970d1c9f8f8e2",
  "value": [
    "channel_identifier_1",
    "channel_identifier_2"
  ]
}

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

Parámetros de solicitud

Campo Tipo Obligatorio Descripción
euid Long Sí ID único del usuario. El usuario debe existir ya en el proyecto actual.
channel_id Long Sí ID del canal de contacto. El canal debe existir ya en el proyecto actual.
ma_rid String No MA Registration ID. Si se envía, los identificadores de canal escritos en esta solicitud se vinculan a ese MA RID y se registra la plataforma. Cuando ese MA RID se transfiere a otro EUID, los identificadores de canal vinculados a él se transfieren con él. Si se omite, se envía una cadena vacía o solo espacios, esta escritura no crea un vínculo; un vínculo existente de los identificadores escritos en esta solicitud se elimina. Si no se puede obtener la plataforma a partir del valor, la configuración falla.
value Array<String> Sí Lista de identificadores de canal que se van a configurar. La lista no puede estar vacía y ningún elemento puede estar en blanco. Los valores se guardan tal cual: la comparación distingue mayúsculas y minúsculas, y no se recortan los espacios iniciales ni finales. Los valores repetidos de la misma solicitud se deduplican.

Para la misma combinación de euid y channel_id, el mismo identificador se reescribe con esta solicitud: se elimina el registro anterior y se escribe uno nuevo, con la hora de actualización puesta a la hora actual. Los identificadores ya guardados que no están en esta lista se mantienen. Un valor nuevo se añade.

En los canales AppPush/WebPush, el mismo identificador bajo el mismo channel_id solo puede pertenecer a un EUID. Después de escribir el valor en el EUID nuevo, el sistema lo elimina de los demás EUID que todavía lo tengan. Los demás tipos de canal no usan este cambio de pertenencia única.

Parámetros de respuesta

Campo Tipo Obligatorio Descripción
code Int Sí Indica si la llamada se realizó correctamente. 0 significa éxito.
message String Sí Descripción del resultado de la llamada.

Ejemplo de éxito

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

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

Desvincular identificadores de canal

Dirección de invocación

POST /v1/user/channel/unbind

Ejemplo de solicitud

Cabecera de solicitud

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

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

Cuerpo de solicitud

{ "euid": 10362473, "channel_id": 8801, "value": [ "channel_identifier_1", "channel_identifier_2" ] }
              
              {
  "euid": 10362473,
  "channel_id": 8801,
  "value": [
    "channel_identifier_1",
    "channel_identifier_2"
  ]
}

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

Parámetros de solicitud

Campo Tipo Obligatorio Descripción
euid Long Sí ID único del usuario.
channel_id Long Sí ID del canal de contacto.
value Array<String> Sí Lista de identificadores de canal que se van a desvincular. Cada valor debe coincidir exactamente con un identificador guardado. La comparación distingue mayúsculas y minúsculas, y no se recortan los espacios iniciales ni finales.

La desvinculación compara identificadores de canal, no ma_rid. La solicitud de desvinculación no tiene el campo ma_rid. La API elimina los registros que coinciden exactamente con euid + channel_id + value. Si el usuario no existe, o no tiene un identificador exactamente igual, no se modifican datos y la API sigue devolviendo éxito. La desvinculación no comprueba si channel_id pertenece al proyecto actual.

Parámetros de respuesta

Campo Tipo Obligatorio Descripción
code Int Sí Indica si la llamada se realizó correctamente. 0 significa éxito.
message String Sí Descripción del resultado de la llamada.

Ejemplo de éxito

{ "code": 0, "message": "success" }
              
              {
  "code": 0,
  "message": "success"
}

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

Códigos de error

Si falla la validación de negocio, la API de configuración devuelve los códigos siguientes con estado HTTP 400. El campo message del cuerpo de la respuesta es la explicación en inglés, no la descripción de la tabla siguiente. La API de desvinculación devuelve 55004 solo cuando un campo obligatorio no es válido o el cuerpo de la solicitud no se puede analizar. Si el usuario o el identificador no existen, la desvinculación sigue devolviendo éxito.

Código Descripción Detalle
55004 Parámetro de negocio no válido Al configurar, si channel_id no existe en el proyecto actual, message es channel_id does not exist in current project: {channel_id}. Al configurar, si no se puede obtener la plataforma a partir de ma_rid, message es ma_rid is invalid. Al configurar y al desvincular, un campo obligatorio ausente, un value vacío, un elemento en blanco o un cuerpo de solicitud que no se puede analizar (en este caso message es Invalid request payload format) también devuelven este código.
55108 EUID no válido Solo lo devuelve la API de configuración. El EUID no existe en el proyecto actual. message es EUID does not exist: {euid}.

Ejemplos de error

channel_id no existe:

{ "code": 55004, "message": "channel_id does not exist in current project: 8801" }
              
              {
  "code": 55004,
  "message": "channel_id does not exist in current project: 8801"
}

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

ma_rid no se puede analizar:

{ "code": 55004, "message": "ma_rid is invalid" }
              
              {
  "code": 55004,
  "message": "ma_rid is invalid"
}

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

El EUID no existe:

{ "code": 55108, "message": "EUID does not exist: 10362473" }
              
              {
  "code": 55108,
  "message": "EUID does not exist: 10362473"
}

            
Este bloque de código se muestra en una ventana flotante
Icon Solid Transparent White Qiyu
Contacto