Работа с Производственным календарем
Работа с API Производственного календаря позволяет получить информацию о типе конкретного дня, изменить тип дня, а также получить список типов дней за определенный период.
Работать можно с текущим годом и +- 1 годом от текущего (предыдущий год и следующий год).
Предварительные действия
Получить токен
https://corteos-platform.atlassian.net/wiki/x/ti4MПолучить клиентский контекст (если работа ведется со стороны агента)
https://corteos-platform.atlassian.net/wiki/x/ysUK
Web Services
Описание службы: https://stage1.corteos.ru/XmlGate/V3/StaticData/ProductionCalendar/ProductionCalendarManagement.asmx
Для работы в продуктовой среде необходимо заменить “stage1.corteos.ru” на свой домен (на котором работают пользователи вашей компании).
Сценарии использования
Метод GET - Получение информации о дате
Возвращает тип дня из Производственного календаря организации или из календаря по умолчанию, если календарь для организации не создан.
После редактирования типа дня через интерфейс есть вероятность получить по API старые данные до обновления кэша - он обновляется раз в 5 минут.
Пример запроса:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cor="http://corteos.ru">
<soapenv:Header>
<cor:AuthHeader>
<!--Optional:-->
<cor:Token>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</cor:Token>
</cor:AuthHeader>
</soapenv:Header>
<soapenv:Body>
<cor:Get>
<cor:date>2024-12-21</cor:date>
<cor:id_Organization>12520</cor:id_Organization>
</cor:Get>
</soapenv:Body>
</soapenv:Envelope>
Запрос состоит из следующих атрибутов:
<cor:Token>string</cor:Token>
- токен, полученный при авторизации.<cor:date>dateTime</cor:date>
- дата, тип дня которой нужно узнать, в формате YYYY-MM-DD.<cor:id_Organization>int</cor:id_Organization>
- идентификатор организации.
Для работы с календарем договора (по умолчанию) id_Organization
должен исключаться из запроса, либо заполняться как “0”.
Пример ответа:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetResponse xmlns="http://corteos.ru">
<GetResult>
<Trace ResponseDate="2024-12-19T19:53:10.0078386+03:00" SessionID="1JGGVDC3M972B" IP="109.198.209.134" WebSite="https://stage10.corteos.ru"/>
<Errors/>
<ResponseDetails>
<Date>2024-12-21T00:00:00</Date>
<id_Organization>12520</id_Organization>
<Type>DayOff</Type>
</ResponseDetails>
</GetResult>
</GetResponse>
</soap:Body>
</soap:Envelope>
В ответе веб-сервиса нам следует обратить внимание на ResponseDetails
, выглядит следующим образом:
<ResponseDetails>
<Date>2024-12-21T00:00:00</Date>
<id_Organization>12520</id_Organization>
<Type>DayOff</Type>
</ResponseDetails>
<Date>2024-12-21T00:00:00</Date>
- дата, тип дня которой получили.<id_Organization>12520</id_Organization>
- идентификатор организации (если был указан в запросе).<Type>DayOff</Type>
- тип дня. Возможные значения:Workday- рабочий день;
DayOff- выходной день;
Holiday- праздничный день.
В случае возникновения ошибок, их описание будет указано в Errors
.
Пример ответа с ошибкой:
Метод SET - Изменение типа даты в календаре
Меняет тип даты в Производственном календаре организации или в календаре по умолчанию.
Пример запроса:
Запрос состоит из следующих атрибутов:
<cor:Token>string</cor:Token>
- токен, полученный при авторизации.<cor:type>string</cor:type>
- тип дня, который меняется. Возможные значения:Workday- рабочий день;
DayOff- выходной день;
Holiday- праздничный день.
<cor:date>dateTime</cor:date>
- дата, тип дня которой нужно меняется, в формате YYYY-MM-DD.<cor:id_Organization>int</cor:id_Organization>
- идентификатор организации.
Пример ответа:
В ответе веб-сервиса нам следует обратить внимание на ResponseDetails
, выглядит следующим образом:
<Date>2024-12-21T00:00:00</Date>
- дата, тип дня которой изменили.<id_Organization>12520</id_Organization>
- идентификатор организации (если был указан в запросе).<Type>DayOff</Type>
- тип дня, который изменили.
В случае возникновения ошибок, их описание будет указано в Errors
.
Метод LIST - Список дней за указанный период
Возвращает список дат с их типом из Производственного календаря организации или из календаря по умолчанию, если календарь для организации не создан.
Пример запроса:
Запрос состоит из следующих атрибутов:
<cor:Token>string</cor:Token>
- токен, полученный при авторизации.<cor:dateFrom>dateTime</cor:dateFrom>
- дата начата диапазона дат в формате YYYY-MM-DD<cor:dateTo>dateTime</cor:dateTo>
- дата конца диапазона дат в формате YYYY-MM-DD.<cor:id_Organization>int</cor:id_Organization>
- идентификатор организации.
Пример ответа:
В ответе веб-сервиса нам следует обратить внимание на ResponseDetails
, выглядит следующим образом:
DateInfo
- контейнер конкретного дня.<Date>2025-02-05T00:00:00</Date>
- дата дня.<id_Organization>12520</id_Organization>
- идентификатор организации.<Type>DayOff</Type>
- тип дня.