Skip to content

Respuestas

Endpoints para consulta y gestión de respuestas de encuestas de satisfacción.

Registrar Respuesta

POST /api/answers

Registra una nueva respuesta de encuesta de satisfacción en la plataforma.

Casos de uso:

  • Integrar respuestas de canales externos (chatbot, tótem, app)
  • Sincronizar respuestas recolectadas offline
  • Importar respuestas de sistemas legados

Cuerpo de la Solicitud

json
{
  "nps": 9,
  "discursive_question": "Excelente atención, muy satisfecho!",
  "questions": [
    {
      "id": "103a525c-0ce3-4182-a504-aad595425233",
      "name": "10",
      "suggestion": "Felicitaciones por el servicio"
    },
    {
      "id": "203a525c-0ce3-4182-a504-aad595425234",
      "name": [{ "option": "Atención" }, { "option": "Calidad" }]
    }
  ],
  "created_at": "2024-04-15 14:30:00",
  "search_id": "102a525c-0ce3-4182-a504-aad595425233",
  "response_channel": "Chatbot"
}
CampoTipoObligatorioDescripción
npsnumberNota NPS (0 a 10)
discursive_questionstringNoRespuesta de la pregunta discursiva
questionsarrayNoLista de respuestas de las preguntas adicionales
created_atstringFecha de creación de la respuesta en formato YYYY-MM-DD HH:mm:ss
search_idstringID de la encuesta asociada (UUID)
response_channelstringCanal de respuesta: QRcode, Email, SMS, Chatbot, Web, Link, Whatsapp

Campos de Questions

CampoTipoObligatorioDescripción
idstringID de la pregunta (UUID)
namestring/arrayRespuesta de la pregunta. Para casilla de verificación o múltiple elección, enviar array: [{ "option": "nombre" }, ...]
suggestionstringNoSugerencia o comentario adicional para la pregunta

Ejemplo de Solicitud

bash
curl -X POST "https://api-b2s.experienciab2s.com/api/answers" \
     -H "Authorization: Bearer SU_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "nps": 9,
       "discursive_question": "Excelente atención!",
       "questions": [
         {
           "id": "103a525c-0ce3-4182-a504-aad595425233",
           "name": "10",
           "suggestion": "Felicitaciones"
         }
       ],
       "created_at": "2024-04-15 14:30:00",
       "search_id": "102a525c-0ce3-4182-a504-aad595425233",
       "response_channel": "Chatbot"
     }'

Respuesta Exitosa (201)

json
{
  "id": "ef9fa264-3850-4bd2-875e-2b40a4dd432f",
  "company_id": "203a525c-0ce3-4182-a504-aad595425233"
}

Códigos de Respuesta

CódigoDescripción
201Respuesta registrada exitosamente
400Error de validación o solicitud malformada
403Token inválido o usuario no autorizado
404Encuesta o token de integración no encontrado

Listar Respuestas de Encuestas

GET /api/answers

Retorna una lista de respuestas de encuestas, con opciones de filtro y paginación. Los resultados están limitados a un máximo de 50 respuestas por solicitud.

Casos de uso:

  • Sincronizar respuestas con sistema externo
  • Generar informes personalizados
  • Alimentar dashboards de BI

Parámetros de Query

ParámetroTipoObligatorioDescripción
is_enpsbooleanFiltra respuestas relacionadas con eNPS
date_startstringFecha de inicio en formato YYYY-MM-DD
date_endstringFecha de fin en formato YYYY-MM-DD
limitintegerNúmero máximo de respuestas por solicitud (máximo 50)
offsetintegerNúmero de respuestas a omitir para paginación
search_idstringNoID de la encuesta para filtrar respuestas (formato UUID)
clients_onlybooleanNoRetorna solo respuestas asociadas a clientes (predeterminado: false)

Ejemplo de Solicitud

bash
curl -X GET "https://api-b2s.experienciab2s.com/api/answers?is_enps=true&date_start=2024-01-01&date_end=2024-01-31&limit=50&offset=0" \
     -H "Authorization: Bearer SU_TOKEN"

Respuesta Exitosa (200)

json
{
  "limit": 50,
  "offset": 0,
  "total": 2,
  "data": [
    {
      "id": "103a525c-0ce3-4182-a504-aad595425233",
      "created_at": "2024-04-14T22:06:02.000Z",
      "nps": 10,
      "discursive_question": "",
      "consumption": {
        "id": "103a525c-0ce3-4182-a504-aad595425233",
        "order_id": "order_123"
      },
      "company": {
        "id": "103a525c-0ce3-4182-a504-aad595425233",
        "name": "Empresa 1"
      },
      "search": {
        "id": "103a525c-0ce3-4182-a504-aad595425233",
        "name": "Salón"
      },
      "page": {
        "id": "103a525c-0ce3-4182-a504-aad595425233",
        "name": "Retiro"
      },
      "client": {
        "id": "103a525c-0ce3-4182-a504-aad595425233",
        "name": "John Doe",
        "email": "johndoe@example.com",
        "phone": "(00) 0 0000-0000",
        "born_date": "25/02/1980"
      },
      "criteria": [
        {
          "nick": "Atención",
          "name": "10",
          "suggestion": "",
          "type": "NPS"
        }
      ]
    }
  ]
}

Buscar Respuesta por ID

GET /api/answers/{id}

Retorna información detallada sobre una respuesta específica, incluyendo cliente, consumo, empresa, página y criterios asociados.

Parámetros de Ruta

ParámetroTipoObligatorioDescripción
idstringID único de la respuesta (formato UUID)

Ejemplo de Solicitud

bash
curl -X GET "https://api-b2s.experienciab2s.com/api/answers/03944421-7382-4d05-a278-80b44e7cb742" \
     -H "Authorization: Bearer SU_TOKEN"

Respuesta Exitosa (200)

json
{
  "id": "03944421-7382-4d05-a278-80b44e7cb742",
  "created_at": "2023-09-08T23:00:00.000Z",
  "nps": 10,
  "discursive_question": null,
  "company": {
    "id": "203a525c-0ce3-4182-a504-aad595425233",
    "name": "Company Setup - 2"
  },
  "search": {
    "id": "203a525c-0ce3-4182-a504-aad595425233",
    "name": "Delivery"
  },
  "page": {
    "id": "103a525c-0ce3-4182-a504-aad595425233",
    "name": "Retiro"
  },
  "client": {
    "id": "03944421-7382-4d05-a278-80b44e7cb742",
    "name": "John",
    "email": "john@example.com",
    "phone": null,
    "born_date": null
  },
  "consumption": {
    "id": "03944421-7382-4d05-a278-80b44e7cb742",
    "order_id": "order_1"
  },
  "criteria": [
    {
      "name": "Lorem",
      "nick": "Respuesta Corta",
      "suggestion": null,
      "type": "Respuesta Corta"
    },
    {
      "name": "4",
      "nick": "Rating",
      "suggestion": null,
      "type": "Rating"
    },
    {
      "name": "10",
      "nick": "NPS",
      "suggestion": null,
      "type": "NPS"
    }
  ]
}

Códigos de Respuesta

CódigoDescripción
200Respuesta encontrada
403Token inválido o usuario no autorizado
404Respuesta o token de integración no encontrado

Actualizar Estado de Respuesta

PATCH /api/answers/{id}

Actualiza el estado de una respuesta específica. Este endpoint permite cambiar el estado de procesamiento de las respuestas de los clientes, habilitando la gestión de workflow y seguimiento de estados de resolución.

Parámetros de Ruta

ParámetroTipoObligatorioDescripción
idstringID único de la respuesta (formato UUID)

Cuerpo de la Solicitud

json
{
  "status": "in-progress"
}
CampoTipoObligatorioValores AceptadosDescripción
statusstringto-do, in-progress, doneNuevo estado para la respuesta

Ejemplo de Solicitud

bash
curl -X PATCH "https://api-b2s.experienciab2s.com/api/answers/03944421-7382-4d05-a278-80b44e7cb742" \
     -H "Authorization: Bearer SU_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"status": "in-progress"}'

Respuesta Exitosa (201)

json
{}

Códigos de Respuesta

CódigoDescripción
201Estado actualizado exitosamente
400Valor de estado inválido o solicitud malformada
403Token inválido o usuario no autorizado
404Respuesta o token de integración no encontrado

Crear Closed Loop

POST /api/answers/{id}/description

Crea un closed loop (descripción de cierre) para una respuesta específica. Permite agregar información de seguimiento o detalles de resolución a una respuesta existente, habilitando el seguimiento completo de feedback y cierre del ciclo de atención al cliente.

Parámetros de Ruta

ParámetroTipoObligatorioDescripción
idstringID único de la respuesta (formato UUID)

Cuerpo de la Solicitud

json
{
  "message": "El problema del cliente fue resuelto proporcionando un cupón de descuento y seguimiento por llamada telefónica.",
  "user_email": "soporte@empresa.com",
  "user_name": "Agente de Soporte"
}
CampoTipoObligatorioDescripción
messagestringDescripción del closed loop o mensaje de resolución
user_emailstringEmail del usuario que está creando el closed loop
user_namestringNombre del usuario que está creando el closed loop

Ejemplo de Solicitud

bash
curl -X POST "https://api-b2s.experienciab2s.com/api/answers/03944421-7382-4d05-a278-80b44e7cb742/description" \
     -H "Authorization: Bearer SU_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "message": "El problema del cliente fue resuelto proporcionando un cupón de descuento.",
       "user_email": "soporte@empresa.com",
       "user_name": "Agente de Soporte"
     }'

Respuesta Exitosa (201)

json
{
  "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "answer_id": "03944421-7382-4d05-a278-80b44e7cb742",
  "description": "El problema del cliente fue resuelto proporcionando un cupón de descuento.",
  "user_email": "soporte@empresa.com",
  "user_name": "Agente de Soporte - API",
  "created_at": "2024-04-15T14:30:00.000Z"
}

Códigos de Respuesta

CódigoDescripción
201Closed loop creado exitosamente
403Token inválido o usuario no autorizado
404Respuesta o token de integración no encontrado

Integration Documentation