Chatbot Webhook

Objetivo del Proyecto

El proyecto Chatbot Webhook es una aplicación cuyo objetivo es gestionar y procesar encuestas de satisfacción. La aplicación permite la creación, actualización y recuperación de encuestas, además de integrarse con servicios externos para obtener y enviar datos de encuestas.

Funcionalidades

  • Creación de Encuestas: Permite la creación de nuevas encuestas de satisfacción.
  • Actualización de Encuestas: Permite la actualización de encuestas existentes.
  • Recuperación de Encuestas: Permite la recuperación de datos de encuestas existentes.
  • Integración con Servicios Externos: Se integra con servicios externos para obtener y enviar datos de encuestas.

Rutas Accesibles

Base URL: https://chatbot-api.solucx.com.br/

GET /survey

Recupera una encuesta.

Parámetros de Query

transactionIdrequeridonumber
ID de la transacción.
attemptIdrequeridonumber
ID del intento.
journeyrequeridostring
Jornada de la encuesta.
sourcerequeridostring
Fuente de la encuesta. Valores posibles: email, sms, ura, whatsapp, push, facebook, tablet, widget, qrcode, employee, chatbot, workplace, portals.

Ejemplo de Solicitud

GET /survey?transactionId=123&attemptId=456&journey=test&source=whatsapp HTTP/1.1
Host: example.com
X-Solucx-Api-Key: your-api-key

Ejemplo de Respuesta

{
    "transactionId": 123,
    "attemptId": 456,
    "journey": "test",
    "classes": [
        {
            "classId": 1,
            "label": "Clase Ejemplo",
            "type": "csat5Stars"
        }
    ]
}

POST /survey

Crea una nueva encuesta.

Cuerpo de la Solicitud

{
    "transactionId": 123,
    "attemptId": 456,
    "journey": "test",
    "source": "whatsapp",
    "classes": [
        {
            "classId": 1,
            "label": "Clase Ejemplo",
            "score": 5,
            "type": "csat"
        }
    ],
    "score": 8,
    "comment": "Comentario de ejemplo",
    "src": 7
}

Ejemplo de Solicitud

POST /survey HTTP/1.1
Host: example.com
Content-Type: application/json
X-Solucx-Api-Key: your-api-key
{
  "transactionId": 123,
  "attemptId": 456,
  "journey": "test",
  "source": "whatsapp",
  "classes": [
    {
      "classId": 1,
      "label": "Clase Ejemplo",
      "score": 5,
      "type": "csat"
    }
  ],
  "score": 8,
  "comment": "Comentario de ejemplo",
  "src": 7
}

Ejemplo de Respuesta

{
    "attemptId": 456,
    "transactionId": 123
}

PUT /survey

Actualiza una encuesta existente.

Cuerpo de la Solicitud

{
    "transactionId": 123,
    "attemptId": 456,
    "journey": "test",
    "source": "whatsapp",
    "classes": [
        {
            "classId": 1,
            "label": "Clase Ejemplo",
            "score": 5,
            "type": "csat"
        }
    ],
    "score": 8,
    "comment": "Comentario de ejemplo",
    "src": 7
}

Ejemplo de Solicitud

PUT /survey HTTP/1.1
Host: example.com
Content-Type: application/json
X-Solucx-Api-Key: your-api-key
{
  "transactionId": 123,
  "attemptId": 456,
  "journey": "test",
  "source": "whatsapp",
  "classes": [
    {
      "classId": 1,
      "label": "Clase Ejemplo",
      "score": 5,
      "type": "csat"
    }
  ],
  "score": 8,
  "comment": "Comentario de ejemplo",
  "src": 7
}

Ejemplo de Respuesta

HTTP/1.1 200 OK

Data Transfer Objects (DTOs)

SurveyParametersDto

Utilizado para recuperar una encuesta.
transactionIdrequeridonumber
ID de la transacción.
attemptIdrequeridonumber
ID del intento.
journeyrequeridostring
Jornada de la encuesta.
sourcerequeridostring
Fuente de la encuesta. Valores posibles: email, sms, ura, whatsapp, push, facebook, tablet, widget, qrcode, employee, chatbot, workplace, portals.

SurveyDto

Utilizado para crear o actualizar una encuesta.
transactionIdrequeridonumber
ID de la transacción.
attemptIdrequeridonumber
ID del intento.
journeyrequeridostring
Jornada de la encuesta.
classesrequeridoClass[]
Lista de clases de la encuesta.
scorerequeridonumber
Puntuación de la encuesta.
commentstring
Comentario de la encuesta.
srcRatingSource
Fuente de la encuesta. Valores posibles:
  • 1: Email
  • 2: SMS
  • 4: URA
  • 7: WhatsApp
namestring
Nombre del encuestado.
phonestring
Teléfono del encuestado.
storeIdstring
ID de la tienda.
employeeIdstring
ID del empleado.

Class

Utilizado dentro de SurveyDto.
classIdrequeridonumber
ID de la clase.
labelrequeridostring
Etiqueta de la clase.
scorenumber
Puntuación de la clase.
typerequeridoClassItemType
Tipo de la clase.

RatingSourceName

El enum RatingSourceName proporciona nombres descriptivos para las fuentes:

  • email
  • sms
  • ura
  • whatsapp
  • push
  • facebook
  • tablet
  • widget
  • qrcode
  • employee
  • chatbot
  • workplace
  • portals