Chatbot Webhook

Objetivo do Projeto

O projeto Chatbot Webhook é uma aplicação que tem como objetivo gerenciar e processar pesquisas de satisfação. A aplicação permite a criação, atualização e recuperação de pesquisas, além de integrar-se com serviços externos para obter e enviar dados de pesquisas.

Funcionalidades

  • Criação de Pesquisas: Permite a criação de novas pesquisas de satisfação.
  • Atualização de Pesquisas: Permite a atualização de pesquisas existentes.
  • Recuperação de Pesquisas: Permite a recuperação de dados de pesquisas existentes.
  • Integração com Serviços Externos: Integra-se com serviços externos para obter e enviar dados de pesquisas.

Rotas Acessíveis

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

GET /survey

Recupera uma pesquisa.

Parâmetros de Query

transactionIdobrigatórionumber
ID da transação.
attemptIdobrigatórionumber
ID da tentativa.
journeyobrigatóriostring
Jornada da pesquisa.
sourceobrigatóriostring
Fonte da pesquisa. Valores possíveis: email, sms, ura, whatsapp, push, facebook, tablet, widget, qrcode, employee, chatbot, workplace, portals.

Exemplo de Requisição

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

Exemplo de Resposta

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

POST /survey

Cria uma nova pesquisa.

Corpo da Requisição

{
    "transactionId": 123,
    "attemptId": 456,
    "journey": "test",
    "source": "whatsapp",
    "classes": [
        {
            "classId": 1,
            "label": "Example Class",
            "score": 5,
            "type": "csat"
        }
    ],
    "score": 8,
    "comment": "Example comment",
    "src": 7
}

Exemplo de Requisição

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": "Example Class",
      "score": 5,
      "type": "csat"
    }
  ],
  "score": 8,
  "comment": "Example comment",
  "src": 7
}

Exemplo de Resposta

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

PUT /survey

Atualiza uma pesquisa existente.

Corpo da Requisição

{
    "transactionId": 123,
    "attemptId": 456,
    "journey": "test",
    "source": "whatsapp",
    "classes": [
        {
            "classId": 1,
            "label": "Example Class",
            "score": 5,
            "type": "csat"
        }
    ],
    "score": 8,
    "comment": "Example comment",
    "src": 7
}

Exemplo de Requisição

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": "Example Class",
      "score": 5,
      "type": "csat"
    }
  ],
  "score": 8,
  "comment": "Example comment",
  "src": 7
}

Exemplo de Resposta

HTTP/1.1 200 OK

Data Transfer Objects (DTOs)

SurveyParametersDto

Utilizado para recuperar uma pesquisa.
transactionIdobrigatórionumber
ID da transação.
attemptIdobrigatórionumber
ID da tentativa.
journeyobrigatóriostring
Jornada da pesquisa.
sourceobrigatóriostring
Fonte da pesquisa. Valores possíveis: email, sms, ura, whatsapp, push, facebook, tablet, widget, qrcode, employee, chatbot, workplace, portals.

SurveyDto

Utilizado para criar ou atualizar uma pesquisa.
transactionIdobrigatórionumber
ID da transação.
attemptIdobrigatórionumber
ID da tentativa.
journeyobrigatóriostring
Jornada da pesquisa.
classesobrigatórioClass[]
Lista de classes da pesquisa.
scoreobrigatórionumber
Pontuação da pesquisa.
commentstring
Comentário da pesquisa.
srcRatingSource
Fonte da pesquisa. Valores possíveis:
  • 1: Email
  • 2: SMS
  • 4: URA
  • 7: WhatsApp
namestring
Nome do respondente.
phonestring
Telefone do respondente.
storeIdstring
ID da loja.
employeeIdstring
ID do funcionário.

Class

Utilizado dentro do SurveyDto.
classIdobrigatórionumber
ID da classe.
labelobrigatóriostring
Rótulo da classe.
scorenumber
Pontuação da classe.
typeobrigatórioClassItemType
Tipo da classe.

RatingSourceName

O enum RatingSourceName fornece nomes descritivos para as fontes:

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