Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Это общедоступный API-метод, который вы можете подергать для ознакомления.

Все методы сделаны для моего курса «Тестирование REST API». Теорию я выкладываю на youtube и в блог, а за практикой заходите!

Метод с массивами!

Создание нового пользователя и задач для него. Пользователя можно связать с компаниями.

  • CreateUser — связывает с существующими задачами
  • CreateUserWithTasks — создает и юзера, и таски

REST — http://users.bugred.ru/tasks/rest/createuserwithtasks

Входные параметры

Имя параметраТипОбязательный?Описание
emailстрокадаemail пользователя
nameстрокадаимя пользователя
tasksмассивдаПеречень задач, за которые будет отвечать пользователь
companiesмассивнетПеречень компаний, к которым пользователь относится
hobbyстроканетХобби
adresстроканетАдрес
name1строканетИмя 1
surname1строканетФамилия 1
fathername1строканетОтчество 1
catстроканетКошечка
dogстроканетСобачка
parrotстроканетПопугайчик
cavyстроканетМорская свинка
hamsterстроканетХомячок
squirrelстроканетБелочка
phoneстроканетТелефон
innстроканетИНН
genderm / fнетПол
birthdayдатанетДата рождения в формате дд.мм.гггг
date_startдатанетНачал работать в компании (в формате дд.мм.гггг)

Результирующие данные

Имя параметраОписание
partyИнформация по сохраненному клиенту

Особенности использования

Фишка в том, что я могу создать юзера и сразу навязать ему задачу и указать где он работает.

Поля юзера — такие же, как в FullUpdateUser
+ блок <companies> (максимум 3 в одном запросе, необязательный блок. Отсылка на компанию по ее ИД)
+ блок <tasks> (максимум 5 в одном запросе, обязательный блок. Задача создается по паре "Название" + "Описание")

Обязательные поля — name, email и блоки задач

Остальные проверки такие же, как в интерфейсе:

  • Имя и емейл должны быть уникальными
  • ИНН — 12 цифр

Примеры вызова

Пример 1. План-максимум, все поля

Запрос:

{
 "email": "test_cu_3@mail.com",
 "name": "Рестовый 3",
 "tasks": [{
   "title": "Первая задача 2",
   "description": "Первая задача 111"
  },
  {
   "title": "Вторая задача 2",
   "description": "Вторая задача 111"
  }
 ],
 "companies": [19, 20],
 "hobby":"Стрельба из лука, Настолки",
  "adres":"адрес 1",
  "name1":"Тестовый, ясен пень",
  "surname1":"Иванов",
  "fathername1":"Петров",
  "cat":"Маруся",
  "dog":"Ушастый",
  "parrot":"Васька",
  "cavy":"Кто ты?",
  "hamster":"Хомяк",
  "squirrel":"Белая горячка к нам пришла",
  "phone":"333 33 33",
  "inn":"123456789012",
  "gender":"m",
  "birthday":"01.01.1900",
  "date_start":"11.11.2000"
}

Ответ:

{
    "name": "Рестовый 3",
    "name1": "Тестовый, ясен пень",
    "hobby": "Стрельба из лука, Настолки",
    "surname1": "Иванов",
    "fathername1": "Петров",
    "cat": "Маруся",
    "dog": "Ушастый",
    "parrot": "Васька",
    "cavy": "Кто ты?",
    "hamster": "Хомяк",
    "squirrel": "Белая горячка к нам пришла",
    "phone": "333 33 33",
    "adres": "адрес 1",
    "gender": "m",
    "date_start": {
        "sec": 973890000,
        "usec": 0
    },
    "date_updated": {
        "sec": 1538362106,
        "usec": 80000
    },
    "birthday": {
        "sec": -2208997817,
        "usec": 0
    },
    "role": [
        "user"
    ],
    "date_register": {
        "sec": 1538362106,
        "usec": 80000
    },
    "date": "2018-10-01",
    "email": "test_cu_3@mail.com",
    "by_user": "manager@mail.ru",
    "companies": [
        {
            "name": "Иванов 6",
            "id": 20
        },
        {
            "name": "Иванов 5",
            "id": 19
        }
    ],
    "tasks": [
        {
            "name": "Первая задача 2",
            "id": 47
        },
        {
            "name": "Вторая задача 2",
            "id": 48
        }
    ]
}

Пример 2. План-минимум, только name и email из полей клиента

Запрос

{
 "email": "test_cu_26@mail.com",
 "name": "Рестовый 6",
 "tasks": [{
   "title": "Первая задача",
   "description": "Первая задача 11"
  },
  {
   "title": "Вторая задача",
   "description": "Вторая задача 11"
  }
 ]

Ответ:

{
    "name": "Рестовый 6",
    "date_updated": {
        "sec": 1538326598,
        "usec": 100000
    },
    "role": [
        "user"
    ],
    "date_register": {
        "sec": 1538326598,
        "usec": 100000
    },
    "date": "2018-09-30",
    "email": "test_cu_26@mail.com",
    "by_user": "manager@mail.ru",
    "companies": null,
    "tasks": [
        {
            "name": "Первая задача",
            "id": 43
        },
        {
            "name": "Вторая задача",
            "id": 44
        }
    ]
}
  • No labels