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}
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==
Cuerpo de solicitud
{
"euid": 10362473,
"channel_id": 8801,
"ma_rid": "1a0018970d1c9f8f8e2",
"value": [
"channel_identifier_1",
"channel_identifier_2"
]
}
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"
}
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==
Cuerpo de solicitud
{
"euid": 10362473,
"channel_id": 8801,
"value": [
"channel_identifier_1",
"channel_identifier_2"
]
}
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"
}
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"
}
ma_rid no se puede analizar:
{
"code": 55004,
"message": "ma_rid is invalid"
}
El EUID no existe:
{
"code": 55108,
"message": "EUID does not exist: 10362473"
}










