Asignar conversaciones
Permite distribuir una conversación asignándola a un agente (usuario) o a un equipo.
Endpoint
POST /web-api/conversations/assign
Headers
Authorization: Bearer {access_token}
Content-Type: application/json
Body
{
"conversation_id": "conv_456",
"account_id": "acc_123",
"entity": "USER",
"entity_id": "user_789",
"force_assign": false
}
Parámetros
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
conversation_id | string | Si | ID de la conversación a asignar. Viene en el webhook: payload.conversation.id |
account_id | string | Si | ID de la cuenta |
entity | string | Si | Tipo de entidad: USER (agente) o TEAM (equipo) |
entity_id | string | Si | ID del agente o equipo |
force_assign | boolean | No | Forzar la asignación aunque la conversación ya esté asignada. Default: false |
Respuesta
{
"success": true
}
Ejemplo: asignar a un agente
curl -X POST https://api.socialdesk.cr/web-api/conversations/assign \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
-H "Content-Type: application/json" \
-d '{
"conversation_id": "conv_456",
"account_id": "acc_123",
"entity": "USER",
"entity_id": "user_789"
}'
Ejemplo: asignar a un equipo
curl -X POST https://api.socialdesk.cr/web-api/conversations/assign \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
-H "Content-Type: application/json" \
-d '{
"conversation_id": "conv_456",
"account_id": "acc_123",
"entity": "TEAM",
"entity_id": "team_sales_001"
}'
Distribución inteligente
Cuando asignas a un equipo, Socialdesk puede reasignar automáticamente la conversación a un agente disponible dentro de ese equipo, dependiendo de la configuración de distribución.
Errores comunes
| Código | Error | Descripción |
|---|---|---|
| 400 | conversation_id is required | Falta el conversation_id |
| 400 | invalid entity parameter | entity no es USER ni TEAM |
| 400 | invalid entity_id parameter | Falta el entity_id |
| 403 | Forbidden | No tienes permisos sobre esta cuenta/organización |
| 401 | Unauthorized | Token inválido o expirado |