Skip to content

US15 - Integrar Modal de avaliação do agendamento com API #94

@femelloffm

Description

@femelloffm

Para verificar se é necessário exibir o modal na tela inicial:

Request:

curl -X 'GET' \
  'http://localhost:8080/v1/appointments/filter?interpreterId=f8578a56-fa5b-4e07-a692-85b314b42e35&status=COMPLETED&hasRating=false' \
  -H 'accept: */*' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJwZXJzb24xQGVtYWlsLmNvbSIsImlhdCI6MTc1OTU4NTYzNiwiZXhwIjoxNzU5NTg5MjM2fQ.yT3iHqMTC2rCT0COZQkcW6ZYAzHoD7UpjrGhJL9coIE'

Response:

{
  "success": true,
  "message": "Solicitações encontradas com sucesso",
  "data": [
    {
      "id": "3ac2381d-fdb7-4642-8926-d6719076f33c",
      "uf": "SP",
      "city": "São Paulo",
      "neighborhood": "Jardins",
      "street": "Rua Augusta",
      "modality": "ONLINE",
      "date": "2025-09-23",
      "description": "Workshop online de capacitação",
      "status": "COMPLETED",
      "street_number": 987,
      "address_details": "Loja 15",
      "interpreter_id": "f8578a56-fa5b-4e07-a692-85b314b42e35",
      "user_id": "63b4bbf7-2fdb-4ceb-a65b-da2375c50856",
      "start_time": "18:30:00",
      "end_time": "20:00:00",
      "contact_data": {
        "id": "63b4bbf7-2fdb-4ceb-a65b-da2375c50856",
        "name": "Empresa Exemplo",
        "picture": "",
        "document": "12345678000190",
        "rating": null,
        "specialties": [
          {
            "id": "6539e352-1742-4f70-a484-c256fc36177a",
            "name": "Intérprete Tátil"
          },
          {
            "id": "9e9a0cc0-f968-4852-9683-7fa5c138a5da",
            "name": "Guia-intérprete de Libras"
          }
        ]
      }
    }
  ]
}

Para criar uma nova avaliação:

Request:

curl -X 'POST' \
  'http://localhost:8080/v1/ratings/3ac2381d-fdb7-4642-8926-d6719076f33c' \   #UUID do agendamento
  -H 'accept: */*' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJwZXJzb24xQGVtYWlsLmNvbSIsImlhdCI6MTc1OTU4NTYzNiwiZXhwIjoxNzU5NTg5MjM2fQ.yT3iHqMTC2rCT0COZQkcW6ZYAzHoD7UpjrGhJL9coIE' \
  -H 'Content-Type: application/json' \
  -d '{
  "stars": 1.5,
  "description": "Péssimo" // opcional
}'

Responses possíveis:

  • 201 Created - Avaliação adicionada com sucesso
{
  "success": true,
  "message": "Avaliação adicionada com sucesso",
  "data": {
    "id": 1,
    "stars": 1.5,
    "description": "Péssimo",
    "appointmentId": 24
  }
}
  • 400 Bad Request - Parâmetros de entrada inválidos
  • 401 Unauthorized - Não autenticado
  • 403 Forbidden - Sem permissão para este usuário
  • 404 Not Found - Agendamento não encontrado
  • 409 Conflict - Agendamento ainda não foi concluído (só posso avaliar depois de status ser encerrado)

Metadata

Metadata

Labels

featureNew feature or request

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions