Saltar a contenido

Servicios Ticket

Detalle de un ticket

/v2/ticket/{ticket_id}/ - GET

Probar servicio

Retorna un objeto tipo ticket utilizando su id.

A continuación se ve un ejemplo de respuesta:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
{
  "id": "583dcb2855d0a46e438d0206",
  "identifier": "261",
  "created": "2016-11-29T18:38:32",
  "current_assignment": {
    "cmid": 467,
    "name": "Francisco Pinto",
    "email": "fapint@somecorporate.com"
  },
  "is_closed": true,
  "last_author": "Jhon Doe",
  "last_content": "Hi, I need help configuring with my product.",
  "social_network": "facebook",
  "subject": null,
  "updated_time": "2016-12-21T13:17:29.283"
}

TicketSummaryResponse

Corresponde al resumen de un ticket de atención.

Campo Descripción Tipo
id Código de identificación para el ticket string
identifier Código de identificación de cara al ejecutivo string
created  Fecha de creación del ticket string
current_assignment El ejecutivo de atención asignado actualmente CMEmbeddedSerializer
is_closed  Indica si el ticket está cerrado boolean
last_author  Indica el nómbre del último participante en el ticket string
last_content  Indica el contenido enviado por el último participante en el ticket string
social_network Canal vinculado al ticket string
updated_time Fecha de actualización del ticket string
subject En caso de ser un email, contiene el asunto string

CMEmbeddedSerializer

Corresponde al ejecutivo de atención o ejecutivo.

Campo Descripción Tipo
cmid Id del ejecutivo. integer
name Nombre del ejecutvio string
email  Email del ejecutivo (opcional) string

Mensajes de un ticket

/v2/ticket/{ticket_id}/messages/ - GET

Probar servicio

Retorna los mensajes de un ticket utilizando su id.

A continuación se ve un ejemplo de respuesta:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
  "status": 200,
  "messages": [
    {
      "content": "Hola Carlos, ¿en qué te podemos ayudar?",
      "author_id": "572c2b2z20a9g4201250leb4",
      "author_name": "Super Empresa",
      "author_account": "superempresa",
      "created": "2014-11-30T20:46:58",
      "media": "http://placekitten.com/200/300"
    },
    {
      "content": "@superempresa con uno de sus productos",
      "author_id": "546b9b2720a9f1301050fec3",
      "author_name": "Carlos Palma",
      "author_account": "cpalma",
      "created": "2014-11-30T18:55:04"
    },
    {
      "content": "@superempresa hola tengo un problema",
      "author_id": "546b9b2720a9f1301050fec3",
      "author_name": "Carlos Palma",
      "author_account": "cpalma",
      "created": "2014-11-30T18:50:11"
    }
  ]
}

MessagesListResponse

Corresponde a la lista de mensajes de un ticket.

Campo Descripción Tipo
status Código de retorno de la petición. 200 si la petición fue exitosa integer
messages  Lista de mensajes asociados al ticket MessageResponse

MessageResponse

Corresponde a un mensaje en particular.

Campo Descripción Tipo
content Texto del mensaje. string
author_id Id del autor del mensaje string
author_name Nombre del autor del mensaje string
author_account Cuenta del autor del mensaje string
created  Fecha de creación string
media  Url de media (opcional) string

Cerrar ticket

/v2/ticket/{ticket_id}/close/ - POST Probar servicio

Cierra un ticket a partir de su id.

Ejemplo de respuesta exitosa:

1
2
3
4
{
  "status": 200,
  "message": "Ok"
}

Reasignar ticket

/v2/ticket/{ticket_id}/reassign/ - POST Probar servicio

Gatilla la re-asignación automática de un ticket a partir de su id.

Ejemplo de respuesta exitosa:

1
2
3
4
{
  "status": 200,
  "message": "Ok"
}

Obtener ticket interno desde el id visible por ejecutivos

/v2/ticket/{agent_ticket_id}/by_agent_id/ - POST Probar servicio

El ejecutivo en Desk ve otro tipo de identificador en cada ticket y no es el mismo que se utiliza en esta API.

Para poder hacer transformaciones entre este tipo de identificador y el que ve el ejecutivo, hemos habilitado este servicio web que permite desde un id de ejecutivo, obtener el id interno de API.

Por ejemplo, ante una petición GET a la URL /v2/ticket/261/by_agent_id/, obtendremos lo siguiente:

1
2
3
4
{
    "status": 200,
    "ticket_id": "5b64e514ed76411a80dd3bed"
}

Teniendo el ID interno, es posible obtener el id de ejecutivo consultando el servicio web de detalle de ticket.


Obtener un ejecutivo disponible para atender un ticket

/v2/ticket/{ticket_id}/get_possible_agent/ - GET Probar servicio

Este servicio entrega el cmid de un ejecutivo disponible para responder el ticket con id ticket_id.

Por ejemplo, una respuesta posible puede ser la siguiente:

1
2
3
4
5
6
7
{
    "status": 200,
    "assignation": {
        "cm" : 27,
        "reason": "Assign Because Workload and non cm was online"
    }
}

La respuesta tiene la siguiente estructura (AssignationResponse):

Campo Descripción Tipo
status Código de retorno de la petición. 200 si la petición fue exitosa integer
assignation Asignación de ejecutivo disponible AssignationDetail

La asignación tiene la siguiente estructura (AssignationDetail)

Campo Descripción Tipo
cm Identificador del ejecutivo para asignar. null en caso de no encontrar ejecutivo disponible integer
reason Texto descriptivo justificando la asignación correspondiente string