Каждый метод, принимающий или отдающий сложные модели данных, имеет полное их описание.
Например, для получения описания модели, передаваемой в запрос, надо кликнуть на ссылку Model в таблице Parameters:
GET /api/v1/request/{id}/propose
Для получения описания модели данных, возвращаемых запросом, надо кликнуть на ссылку Model в разделе Response Class:
Описание модели может содержать:
- Признак optional – необязательное поле:
- Тип данных поля:
Подсказку по возможным значениям поля (если набор значений ограничен):
Если поле не является обязательным (признак optional), то значением по умолчанию автоматически выбирается первое значение из списка.
- Перекрестные ссылки на вложенные типы:
- Признак множества значений в параметре, сформированных в массиве:
Форматы примитивных типов
Спецификация формата JSON поддерживает ограниченное количество примитивных типов.
Из них используются:
string - текстовая строка, заключенная в двойные кавычки (если строка содержит двойные кавычки, то они должны быть экранированы обратной косой чертой)
{ "Cargo": "Продукты питания", "CompanyName": "ООО \"Звезда\"" }
number - целое или дробное число (при записи дробного, необходимо использовать разделитель точка)
{ "Count": 10, "Cost": 123.45 }
boolean - логическое значение
{ "IsPublic": true, "Disabled": false }
Кроме них, модель поддерживает расширенные типы, передаваемые в виде строки:
идентификаторы в формате GUID
{ "CompanyId": "6cf1227c-f0e4-4247-a0df-42d7da6b30f8", "ContactId": "43f68fd8-ba98-449d-a6eb-0a715af1a6b2" }
дата/время в формате ISO 8601
{ "CreateDate": "2022-05-11", "StartTime": "2022-05-11T12:30" }
Обратите внимание, что переданное в API время интерпретируется как локальное время пользователя, от имени которого сделан запрос (данные пользователя указываются при авторизации в системе).
Не стоит пытаться передавать в API абсолютное время в формате UTC или с явным указанием часового пояса.