Saltar al contenido principal

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:

  1. Creado: La tienda crea un ticket (recibes una notificación webhook)
  2. En Progreso: Estás trabajando en el problema
  3. Información Adicional Solicitada: Necesitas más información de la tienda
  4. Resuelto/Cerrado: El problema ha sido resuelto

Estados de Tickets

EstadoDescripción
PENDINGTicket recién creado, esperando atención
IN_PROGRESSTicket está siendo trabajado
ADDITIONAL_INFO_REQUESTEDEsperando más información de la tienda
SOLVEDEl problema ha sido resuelto
CLOSEDEl ticket ha sido cerrado

Operaciones Individuales

Obtener Detalles del Ticket

GET/support/ticket/{id}

Obtiene información detallada sobre un ticket de soporte específico.

Parámetros de Ruta

ParámetroTipoRequeridoDescripción
idstringEl 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

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));

Listar Todos los Tickets

GET/support/ticket

Obtiene una lista de todos los tickets de soporte con soporte de paginación y filtrado.

Parámetros de Query

ParámetroTipoRequeridoDescripción
takenumberNoNúmero de items por página (default: 50, max: 50)
pagestringNoNúmero de página (default: 1)
statusstringNoFiltrar por estado (CLOSED, PENDING, IN_PROGRESS, ADDITIONAL_INFO_REQUESTED, SOLVED)

Cerrar Ticket de Soporte

PUT/support/ticket/close

Cierra un ticket de soporte con un mensaje de resolución.

Parámetros del Body

ParámetroTipoRequeridoDescripción
messagestringNoMensaje explicando la resolución
ticketIdnumberNo*ID del ticket proporcionado por Nilo
externalTicketIdstringNo*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

POST/support/ticket/additional-info

Solicita 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ámetroTipoRequeridoDescripción
messagestringNoMensaje especificando qué información adicional se necesita
ticketIdnumberNo*ID del ticket proporcionado por Nilo
externalTicketIdstringNo*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:

WebhookDescripción
POST /webhooks/support/create-ticketNotifica cuando se crea un nuevo ticket
POST /webhooks/support/ticket-additional-info-receivedNotifica 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