Odpowiedzi klientów na ankiety

Endpointy obsługujące żądanie:

  • https://api.5ways.com - Ekspert
  • https://api.client.5ways.com - publiczny (tylko za pomocą metody kontrolera /poll_answers/save)

Uprawnienia:

  • Ekspert - GET, POST, PUT, DELETE
  • Klient - POST (uprawnienia publiczne tylko za pomocą metody kontrolera /poll_answers/save z podaniem poll_id)

API eksperta

GET /rest/poll_answer

Zwraca listę odpowiedzi na ankiety

Zwracane dane
// HTTP/1.1 200 OK
{
    "results": [
      {
        "id": 1,
        "customer_id": 456,
        "user_ip": "192.168.1.2",
        "poll_id": 789,
        "submission_time": "2024-04-20 09:00:00",
        "poll_json": "", // JSON z odpowiedziami
        "email": "jane@example.com",
        "firstname": "Jane",
        "lastname": "Smith",
        "phone": "987-654-321",
        "company": "Widgets LLC",
        "created": "2024-04-20 09:00:00",
        "modified": "2024-04-20 09:00:00"
      }
      // ...
    ]
}

API klienta (bez /rest)

POST /poll_answers/save

Zapisuje odpowiedzi klienta na ankietę. Zapis wykonuje się przez weryfikację wartości poll_id, które zawiera customer_id oraz uuid ankiety. Metoda sprawdza również, czy istnieje ankieta o podanym uuid (chat_widgets::external_hash).

[
  {
    "type": "header",
    "data": {
      "poll_id": "1058_66065fa101df92.96300528"
    }
  },
  {
    "type": "shortQuestion",
    "data": {
      "title": "5",
      "required": false,
      "value": "ABC ABC"
    }
  },
  {
    "type": "longQuestion",
    "data": {
      "title": "Q2",
      "required": false,
      "value": "ABC ABC ABC ABC ABC ABC ABC ABC ABC ABC"
    }
  },
  {
    "type": "oneOptionQuestion",
    "data": {
      "title": "Q3",
      "required": false,
      "options": [
        {
          "value": "Q3A1"
        },
        {
          "value": "Q3A2",
          "selected": true
        },
        {
          "value": "Q3A3"
        }
      ]
    }
  },
  {
    "type": "multipleOptionQuestion",
    "data": {
      "title": "Q4",
      "required": false,
      "options": [
        {
          "value": "Q4A1",
          "selected": true
        },
        {
          "value": "Q4A2"
        },
        {
          "value": "Q4A3",
          "selected": true
        }
      ]
    }
  },
  {
    "type": "selectQuestion",
    "data": {
      "title": "Q5",
      "required": false,
      "options": [
        {
          "value": "Q5A1"
        },
        {
          "value": "Q5A2",
          "selected": true
        },
        {
          "value": "Q5A3"
        }
      ]
    }
  },
  {
    "type": "lineScaleQuestion",
    "data": {
      "title": "Q6",
      "required": false,
      "value": 3,
      "line_scale": [
        {
          "label_from": {
            "text": "Q5L0",
            "value": 0
          }
        },
        {
          "label_to": {
            "text": "Q5L9",
            "value": 9
          }
        }
      ]
    }
  },
  {
    "type": "contact",
    "data": {
        "email": "michal.kowalski@wins.pl",
        "phone": "608698698",
        "firstname": "Michał",
        "lastname": "Kowalki",
        "company": "5ways"
    }
   }
]