API de Tickets de Soporte
La API de Tickets de Soporte permite gestionar tickets de soporte de clientes en la plataforma Nilo. Esta API te permite ver, cerrar y solicitar información adicional para tickets de soporte creados por las tiendas.
Entendiendo los Tickets de Soporte
Los tickets de soporte son creados por las tiendas cuando necesitan asistencia. El ciclo de vida de un ticket es:
- Creado: La tienda crea un ticket (recibes una notificación webhook)
- En Progreso: Estás trabajando en el problema
- Información Adicional Solicitada: Necesitas más información de la tienda
- Resuelto/Cerrado: El problema ha sido resuelto
Estados de Tickets
| Estado | Descripción |
|---|---|
| PENDING | Ticket recién creado, esperando atención |
| IN_PROGRESS | Ticket está siendo trabajado |
| ADDITIONAL_INFO_REQUESTED | Esperando más información de la tienda |
| SOLVED | El problema ha sido resuelto |
| CLOSED | El ticket ha sido cerrado |
Operaciones Individuales
Obtener Detalles del Ticket
/support/ticket/{id}Obtiene información detallada sobre un ticket de soporte específico.
Parámetros de Ruta
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| id | string | Sí | El ID del ticket de soporte (el mismo recibido en la notificación webhook) |
Ejemplo de Respuesta
{
"id": 1234,
"status": "PENDING",
"userMessage": "Necesito ayuda con mi pedido",
"externalTicketId": "EXT-5678",
"niloInternalCode": "STORE-001",
"resolvedAt": null
}
Ejemplo de Uso
- Javascript
- Python
const headers = {
Authorization: "YOUR_AUTH_TOKEN",
"x-api-key": "YOUR_API_KEY",
};
fetch(
"https://tm0cs5kjs6.execute-api.us-east-1.amazonaws.com/dev/support/ticket/1234",
{
method: "GET",
headers: headers,
}
)
.then((response) => response.json())
.then((result) => console.log(result))
.catch((error) => console.log("error", error));
import requests
url = "https://tm0cs5kjs6.execute-api.us-east-1.amazonaws.com/dev/support/ticket/1234"
headers = {
'Authorization': 'YOUR_AUTH_TOKEN',
'x-api-key': 'YOUR_API_KEY'
}
response = requests.get(url, headers=headers)
print(response.text)
Listar Todos los Tickets
/support/ticketObtiene una lista de todos los tickets de soporte con soporte de paginación y filtrado.
Parámetros de Query
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| take | number | No | Número de items por página (default: 50, max: 50) |
| page | string | No | Número de página (default: 1) |
| status | string | No | Filtrar por estado (CLOSED, PENDING, IN_PROGRESS, ADDITIONAL_INFO_REQUESTED, SOLVED) |
Cerrar Ticket de Soporte
/support/ticket/closeCierra un ticket de soporte con un mensaje de resolución.
Parámetros del Body
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| message | string | No | Mensaje explicando la resolución |
| ticketId | number | No* | ID del ticket proporcionado por Nilo |
| externalTicketId | string | No* | ID del ticket externo proporcionado por tu servicio de tickets |
*Se debe proporcionar ticketId O externalTicketId.
Ejemplo del Body
{
"message": "El problema ha sido resuelto. El pedido fue entregado exitosamente.",
"ticketId": 1234
}
Solicitar Información Adicional
/support/ticket/additional-infoSolicita información adicional de la tienda para un ticket específico. La tienda recibirá una notificación y puede responder con la información solicitada.
Parámetros del Body
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| message | string | No | Mensaje especificando qué información adicional se necesita |
| ticketId | number | No* | ID del ticket proporcionado por Nilo |
| externalTicketId | string | No* | ID del ticket externo proporcionado por tu servicio de tickets |
*Se debe proporcionar ticketId O externalTicketId.
Ejemplo del Body
{
"message": "Por favor proporciona el número de pedido y una foto del producto dañado.",
"ticketId": 1234
}
Webhooks Relacionados
Los tickets de soporte se integran con webhooks para notificarte de eventos:
| Webhook | Descripción |
|---|---|
POST /webhooks/support/create-ticket | Notifica cuando se crea un nuevo ticket |
POST /webhooks/support/ticket-additional-info-received | Notifica cuando la tienda responde a tu solicitud de información adicional |
Consulta la documentación de Webhooks para detalles de implementación.
Seguridad
Autenticación
Todos los endpoints requieren dos tipos de autenticación:
- API Key en header:
x-api-key - Token de autorización en header:
Authorization
Permisos Requeridos
- Para operaciones de lectura:
supplier/support.read - Para operaciones de escritura:
supplier/support.write