Skip to end of metadata
Go to start of metadata

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

Compare with Current View Version History

Version 1 Current »

Работа с API Производственного календаря позволяет получить информацию о типе конкретного дня, изменить тип дня, а также получить список типов дней за определенный период.

Работать можно с текущим годом и +- 1 годом от текущего (предыдущий год и следующий год).

Предварительные действия

Web Services

Описание службы:

https://stage1.corteos.ru/XmlGate/V3/StaticData/ProductionCalendar/ProductionCalendarManagement.asmx

Файл WSDL:

https://stage1.corteos.ru/XmlGate/V3/StaticData/ProductionCalendar/ProductionCalendarManagement.asmx?WSDL

Сценарии использования

Метод 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.

Пример ответа с ошибкой:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/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="2025-01-15T12:40:10.6459732+03:00" SessionID="1JGDZFUDCJE36" IP="212.233.125.182" WebSite="https://stage10.corteos.ru"/>
            <Errors>
               <UniversalApiError Type="ArgumentException" Text="Не найдена организация с id_Organization = 12907"/>
            </Errors>
            <ResponseDetails>
               <Date>0001-01-01T00:00:00</Date>
               <id_Organization xsi:nil="true"/>
               <Type>Workday</Type>
            </ResponseDetails>
         </GetResult>
      </GetResponse>
   </soap:Body>
</soap:Envelope>

Метод SET - Изменение типа даты в календаре

Меняет тип даты в Производственном календаре организации или в календаре по умолчанию.

Если у организации нет Производственного календаря, то при отправке этого запроса произойдет создание календаря.

Пример запроса:

<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:Set>
         <cor:type>DayOff</cor:type>
         <cor:date>2025-10-30</cor:date>
         <cor:id_Organization>12520</cor:id_Organization>
      </cor:Set>
   </soapenv:Body>
</soapenv:Envelope>

Запрос состоит из следующих атрибутов:

  • <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>- идентификатор организации.

Для работы с календарем договора (по умолчанию) 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>
      <SetResponse xmlns="http://corteos.ru">
         <SetResult>
            <Trace ResponseDate="2024-12-20T12:40:08.220259+03:00" SessionID="1JGGVKNEOBU2F" IP="109.198.209.134" WebSite="https://stage10.corteos.ru"/>
            <Errors/>
            <ResponseDetails>
               <Date>2024-10-30T00:00:00</Date>
               <id_Organization>12520</id_Organization>
               <Type>DayOff</Type>
            </ResponseDetails>
         </SetResult>
      </SetResponse>
   </soap:Body>
</soap:Envelope>

В ответе веб-сервиса нам следует обратить внимание на ResponseDetails, выглядит следующим образом:

            <ResponseDetails>
               <Date>2024-10-30T00: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> - тип дня, который изменили.

 В случае возникновения ошибок, их описание будет указано в Errors.

Метод LIST - Список дней за указанный период

Возвращает список дат с их типом из Производственного календаря организации или из календаря по умолчанию, если календарь для организации не создан.

Диапазон дат не должен превышать 100 дней за один запрос.

Пример запроса:

<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:List>
         <cor:dateFrom>2025-02-01</cor:dateFrom>
         <cor:dateTo>2025-02-05</cor:dateTo>
         <cor:id_Organization>12520</cor:id_Organization>
      </cor:List>
   </soapenv:Body>
</soapenv:Envelope>

Запрос состоит из следующих атрибутов:

  • <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>- идентификатор организации.

Для работы с календарем договора (по умолчанию) 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>
      <ListResponse xmlns="http://corteos.ru">
         <ListResult>
            <Trace ResponseDate="2024-12-20T14:19:00.3920494+03:00" SessionID="1JGGVKNEOBU2F" IP="109.198.209.134" WebSite="https://stage10.corteos.ru"/>
            <Errors/>
            <ResponseDetails>
               <DateInfo>
                  <Date>2025-02-01T00:00:00</Date>
                  <id_Organization>12520</id_Organization>
                  <Type>DayOff</Type>
               </DateInfo>
               <DateInfo>
                  <Date>2025-02-02T00:00:00</Date>
                  <id_Organization>12520</id_Organization>
                  <Type>DayOff</Type>
               </DateInfo>
               <DateInfo>
                  <Date>2025-02-03T00:00:00</Date>
                  <id_Organization>12520</id_Organization>
                  <Type>Workday</Type>
               </DateInfo>
               <DateInfo>
                  <Date>2025-02-04T00:00:00</Date>
                  <id_Organization>12520</id_Organization>
                  <Type>Workday</Type>
               </DateInfo>
               <DateInfo>
                  <Date>2025-02-05T00:00:00</Date>
                  <id_Organization>12520</id_Organization>
                  <Type>Workday</Type>
               </DateInfo>
            </ResponseDetails>
         </ListResult>
      </ListResponse>
   </soap:Body>
</soap:Envelope>

В ответе веб-сервиса нам следует обратить внимание на ResponseDetails, выглядит следующим образом:

              <DateInfo>
                  <Date>2025-02-05T00:00:00</Date>
                  <id_Organization>12520</id_Organization>
                  <Type>Workday</Type>
               </DateInfo>
  • DateInfo - контейнер конкретного дня.

    • <Date>2025-02-05T00:00:00</Date>- дата дня.

    • <id_Organization>12520</id_Organization> - идентификатор организации.

    • <Type>DayOff</Type> - тип дня.

  • No labels