Skip to content

RestApi documentation

Arslan Gapizov edited this page May 14, 2017 · 6 revisions

Registation

Register user with Interviewer role by default

  • URL

    /register

  • Method

    POST

  • Headers

    Content-Type:application/json

  • URL Params

    None

  • Data Params

{
"login": "userLogin",
"password": "123456",
"passwordConfirm": "123456",
"firstName": "MyFirstName",
"lastName": "MyLastName",
"middleName": "MyMiddleName"
}
  • Success Response:

    • Code: 200
      Content:
{
  "access_token": "token",
  "login": "userLogin",
  "expires_in": 3600
}
  • Error Response:

    None

Sign in

Method for signing in

  • URL

    /token

  • Method

    POST

  • Headers

    Content-Type: application/x-www-form-urlencoded

  • URL Params

    None

  • Data Params

    login: userLogin
    password: 123456

  • Success Response:

    • Code: 200
      Content:
    {
      "access_token": "token",
      "login": "userLogin",
      "expires_in": 3600
    }
  • Error Response:

    None

Account information

Get information about current user

  • URL

    /api/account

  • Method

    GET

  • Headers

    Authorization: Bearer token
    Content-Type: application/json

  • URL Params

    None

  • Data Params

    None

  • Success Response:

    • Code: 200
      Content:
{
"link": "url/api/account",
  "method": GET,
  "message": "message",
  "response": {
    "userId": 2,
    "login": "userLogin",
    "firstName": "MyFirstName",
    "lastName": "MyLastName",
    "middleName": "MyMiddleName",
    "role": "Interviewer",
    "isDeleted": false
  }
}
  • Error Response:

    None

Get all surveys

Get collection of all surveys

  • URL

    /api/surveys

  • Method

    GET

  • Headers

    Authorization: Bearer token
    Content-Type: application/json

  • URL Params

    None

  • Data Params

    None

  • Success Response:

    • Code: 200
      Content:
{
  "link": "http://socialsurvey.azurewebsites.net/api/surveys",
  "method": GET,
  "message": "This method is under development",
  "response": [
    {
      "surveyId": 1,
      "name": "Is your cat a human?",
      "comment": "just for testing",
      "isDeleted": false,
      "userId": 1
    },
    {
      "surveyId": 2,
      "name": "Is your dog a human?",
      "comment": "just for testing",
      "isDeleted": false,
      "userId": 1
    },
    {
      "surveyId": 3,
      "name": "Is your frog a human?",
      "comment": "just for testing",
      "isDeleted": false,
      "userId": 1
    }
  ]
}
  • Error Response:

    None

Get survey by id

Get full survey by id. Question type can be select/multiselect/text

  • URL

    /api/surveys/{id}

  • Method

    GET

  • Headers

    Authorization: Bearer token
    Content-Type: application/json

  • URL Params

    None

  • Data Params

    None

  • Success Response:

    • Code: 200
      Content:
{
  "link": "http://socialsurvey.azurewebsites.net/api/surveys/2",
  "method": "GET",
  "message": "This is for example",
  "response": {
    "surveyId": 2,
    "name": "Is your dog a human?",
    "comment": "just for testing",
    "isDeleted": false,
    "userId": 1,
    "questions": [
      {
        "questionId": 5,
        "questionType": "Select",
        "text": "Does your dog ever talk to you?",
        "order": 1,
        "isDeleted": false,
        "options": [
          {
            "optionId": 13,
            "text": "No..mayby",
            "order": 1,
            "isDeleted": false
          },
          {
            "optionId": 14,
            "text": "Yes",
            "order": 2,
            "isDeleted": false
          },
          {
            "optionId": 15,
            "text": "Dogs can`t talk, stupid",
            "order": 3,
            "isDeleted": false
          }
        ]
      },
      {
        "questionId": 6,
        "questionType": "Select",
        "text": "Does your dog have strange markings?",
        "order": 2,
        "isDeleted": false,
        "options": [
          {
            "optionId": 16,
            "text": "Spectacle marks",
            "order": 1,
            "isDeleted": false
          },
          {
            "optionId": 17,
            "text": "Maybe",
            "order": 2,
            "isDeleted": false
          },
          {
            "optionId": 18,
            "text": "No",
            "order": 3,
            "isDeleted": false
          }
        ]
      },
      {
        "questionId": 7,
        "questionType": "Select",
        "text": "Is he/she a tabby?",
        "order": 3,
        "isDeleted": false,
        "options": [
          {
            "optionId": 19,
            "text": "Yes",
            "order": 1,
            "isDeleted": false
          },
          {
            "optionId": 20,
            "text": "Yes",
            "order": 2,
            "isDeleted": false
          },
          {
            "optionId": 21,
            "text": "No",
            "order": 3,
            "isDeleted": false
          }
        ]
      },
      {
        "questionId": 8,
        "questionType": "Select",
        "text": "Where did you get your dog?",
        "order": 4,
        "isDeleted": false,
        "options": [
          {
            "optionId": 22,
            "text": "Stray",
            "order": 1,
            "isDeleted": false
          },
          {
            "optionId": 23,
            "text": "Shelter",
            "order": 2,
            "isDeleted": false
          },
          {
            "optionId": 24,
            "text": "Breed",
            "order": 3,
            "isDeleted": false
          }
        ]
      }
    ]
  }
}
  • Error Response:

    None

Create new survey

Method for creating new survey. Question type can be select / multiselect / text(does not work yet)

  • URL

    /api/surveys

  • Method

    POST

  • Headers

    Authorization: Bearer token
    Content-Type: application/json

  • URL Params

    None

  • Data Params

{
    "name": "Test adding survey",
    "comment": "Some comments",
    "questions": [
      {
        "questionType": "Select",
        "text": "Does it work?",
        "order": 1,
        "isDeleted": false,
        "options": [
          {
            "text": "Yes",
            "order": 1
          },
          {
            "text": "No",
            "order": 2
          },
          {
            "text": "Will see",
            "order": 3
          }
        ]
      },
      {
        "questionType": "MultiSelect",
        "text": "Test question for multiselect. Select some options",
        "order": 2,
        "options": [
          {
            "text": "First option",
            "order": 1
          },
          {
            "text": "Second option",
            "order": 2
          },
          {
            "text": "One more",
            "order": 3
          }
        ]
      }
    ]
  }
  • Success Response:

    • Code: 200
      Content: Successful created, ID: 4
  • Error Response:

    None

Clone this wiki locally