Методы для работы с площадками погрузки-выгрузки
Добавление или изменение площадки погрузки-выгрузки
Чтобы изменить существующую площадку погрузки-выгрузки, надо передать поле id с ее идентификатором. Если id не передать, то будет создана новая площадка погрузки-выгрузки. В ответ на запрос возвращается созданная или изменённая площадка погрузки-выгрузки.
Создаёт или изменяет площадку склада. Без ненулевого id создаёт площадку, с id изменяет существующую. Доступно только владельцу неудалённого склада. warehouse нельзя изменить. schedule и contacts обязательны и полностью заменяют прежние значения. Отсутствующий warehouse_cargo_types очищает принимаемые типы грузов. Типы грузов должны принадлежать переданному складу. Расписание использует локальное время склада: начало раньше конца, один рабочий интервал на день; перерывы внутри рабочего интервала без пересечений. Идентификатор склада можно получить через GET /api/v1/warehouse. post /gw/timeslots/api/v1/terminal
Создание или изменение площадки склада.
Расписание площадки и перерывы. Один рабочий интервал на день; перерывы внутри него и не пересекаются.
1- пн2- вт3- ср4- чт5- пт6- сб7- вс
Начало интервала в локальном времени склада. На входе ЧЧ:ММ или ЧЧ:ММ:СС, на выходе ЧЧ:ММ:СС.
Конец интервала в локальном времени склада. На входе ЧЧ:ММ или ЧЧ:ММ:СС, на выходе ЧЧ:ММ:СС.
Перерыв?
Контакты площадки; при изменении заменяются целиком, [] очищает список.
Имя
Номер телефона
Код страны для телефона
Название площадки
any- Любаяup- Сверхуlateral- Боковая
Удален
Тестовый
Идентификатор склада. Источник: GET /gw/timeslots/api/v1/warehouse, поле result.warehouses[].id или result.partners_warehouses[].id. При создании склада: POST /gw/timeslots/api/v1/warehouse, поле result.warehouse.id. Используйте неудалённый склад, доступный для выбранной операции.
UUID типов груза из справочника склада, не числовые ID общего словаря грузов ATI. Уже назначенные площадкам типы доступны через GET /gw/timeslots/api/v1/terminal: result.terminals[].warehouse_cargo_types[].id или result.partners_terminals[].warehouse_cargo_types[].id. Это только типы выбранных площадок, не полный справочник склада. Используйте типы своего выбранного склада; если они не нужны, не передавайте поле. При изменении отсутствие поля или [] очищает типы площадки.
Идентификатор изменяемой площадки. Без id или с 0 создаётся новая.
curl 'https://api.ati.su/gw/timeslots/api/v1/terminal' \ -X 'POST' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"warehouse":101,"name":"Ворота № 2","schedule":[{"day_of_week":"1","time_from":"08:00:00","time_to":"18:00:00"}],"contacts":[]}'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("POST", "https://api.ati.su", "/gw/timeslots/api/v1/terminal", "{""warehouse"":101,""name"":""Ворота № 2"",""schedule"":[{""day_of_week"":""1"",""time_from"":""08:00:00"",""time_to"":""18:00:00""}],""contacts"":[]}"); 200
Успешный ответ.
Результат выполнения запроса.
Созданная или изменённая площадка.
ID
Расписание площадки; после удаления пустое.
1- пн2- вт3- ср4- чт5- пт6- сб7- вс
Начало интервала в локальном времени склада. На входе ЧЧ:ММ или ЧЧ:ММ:СС, на выходе ЧЧ:ММ:СС.
Конец интервала в локальном времени склада. На входе ЧЧ:ММ или ЧЧ:ММ:СС, на выходе ЧЧ:ММ:СС.
Перерыв?
Контакты площадки; при изменении заменяются целиком, [] очищает список.
ID
Имя
Номер телефона
Код страны для телефона
Принимаемые типы грузов склада.
Id
Название типа груза на языке запроса.
Владелец склада начал принимать созданный кем то тип груза к себе на склад
Айдишник соответствующий общему словарю АТИ
Склад
Название площадки
any- Любаяup- Сверхуlateral- Боковая
Дата создания
Дата редактирования
Удален
Тестовый
Идентификатор склада. Источник: GET /gw/timeslots/api/v1/warehouse, поле result.warehouses[].id или result.partners_warehouses[].id. При создании склада: POST /gw/timeslots/api/v1/warehouse, поле result.warehouse.id. Используйте неудалённый склад, доступный для выбранной операции.
Признак успешного выполнения запроса.
400 Некорректные поля, расписание или нет доступа к складу.
Ошибка запроса с подробностями по отдельным полям.
Машиночитаемый код ошибки.
Описание причины ошибки.
Ошибки отдельных полей запроса.
Машиночитаемый код ошибки.
Описание причины ошибки.
403 Контекст пользователя отсутствует или некорректен.
Ошибка API: код и причина.
Машиночитаемый код ошибки.
Описание причины ошибки.
404 Площадка не найдена или недоступна пользователю.
Ошибка API: код и причина.
Машиночитаемый код ошибки.
Описание причины ошибки.
Получение площадок погрузки-выгрузки
Возвращается список площадок погрузки и выгрузки пользователя.
Получает собственные и партнёрские площадки. terminals содержит площадки складов фирмы пользователя. partners_terminals — площадки чужих складов с принятой неудалённой связью со Справочниками фирмы. count учитывает только terminals. Пагинации и фильтров нет; порядок — от новых к старым. Удалённые площадки и площадки удалённых складов также могут присутствовать; проверяйте deleted. Полученный id используется для изменения или удаления площадки. get /gw/timeslots/api/v1/terminal
curl 'https://api.ati.su/gw/timeslots/api/v1/terminal' \ -X 'GET' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("GET", "https://api.ati.su", "/gw/timeslots/api/v1/terminal"); 200
Успешный ответ.
Результат выполнения запроса.
Количество собственных площадок.
Площадки собственных складов.
ID
Расписание площадки; после удаления пустое.
1- пн2- вт3- ср4- чт5- пт6- сб7- вс
Начало интервала в локальном времени склада. На входе ЧЧ:ММ или ЧЧ:ММ:СС, на выходе ЧЧ:ММ:СС.
Конец интервала в локальном времени склада. На входе ЧЧ:ММ или ЧЧ:ММ:СС, на выходе ЧЧ:ММ:СС.
Перерыв?
Контакты площадки; при изменении заменяются целиком, [] очищает список.
ID
Имя
Номер телефона
Код страны для телефона
Принимаемые типы грузов склада.
Id
Название типа груза на языке запроса.
Владелец склада начал принимать созданный кем то тип груза к себе на склад
Айдишник соответствующий общему словарю АТИ
Склад
Название площадки
any- Любаяup- Сверхуlateral- Боковая
Дата создания
Дата редактирования
Удален
Тестовый
Идентификатор склада. Источник: GET /gw/timeslots/api/v1/warehouse, поле result.warehouses[].id или result.partners_warehouses[].id. При создании склада: POST /gw/timeslots/api/v1/warehouse, поле result.warehouse.id. Используйте неудалённый склад, доступный для выбранной операции.
Площадки партнёрских складов.
ID
Расписание площадки; после удаления пустое.
1- пн2- вт3- ср4- чт5- пт6- сб7- вс
Начало интервала в локальном времени склада. На входе ЧЧ:ММ или ЧЧ:ММ:СС, на выходе ЧЧ:ММ:СС.
Конец интервала в локальном времени склада. На входе ЧЧ:ММ или ЧЧ:ММ:СС, на выходе ЧЧ:ММ:СС.
Перерыв?
Контакты площадки; при изменении заменяются целиком, [] очищает список.
ID
Имя
Номер телефона
Код страны для телефона
Принимаемые типы грузов склада.
Id
Название типа груза на языке запроса.
Владелец склада начал принимать созданный кем то тип груза к себе на склад
Айдишник соответствующий общему словарю АТИ
Склад
Название площадки
any- Любаяup- Сверхуlateral- Боковая
Дата создания
Дата редактирования
Удален
Тестовый
Идентификатор склада. Источник: GET /gw/timeslots/api/v1/warehouse, поле result.warehouses[].id или result.partners_warehouses[].id. При создании склада: POST /gw/timeslots/api/v1/warehouse, поле result.warehouse.id. Используйте неудалённый склад, доступный для выбранной операции.
Признак успешного выполнения запроса.
403 Контекст пользователя отсутствует или некорректен.
Ошибка API: код и причина.
Машиночитаемый код ошибки.
Описание причины ошибки.
Удаление площадок погрузки-выгрузки
Удаляет площадки склада. Только владелец склада может удалить его неудалённую площадку. Последнюю неудалённую площадку склада удалить нельзя. Площадка помечается удалённой, её расписание, контакты и связи с типами груза очищаются; брони сохраняются. HTTP 200 возможен при частичном или полном отказе: проверяйте result['200'] и result['400']. ID обрабатываются последовательно, повторы не удаляются. При ошибке размера ID обработка прерывается с 400, ранее выполненные удаления сохраняются. Числовые строки допустимы и возвращаются строками. delete /gw/timeslots/api/v1/terminal
Список удаляемых площадок.
Идентификаторы удаляемых площадок; допускаются числовые строки.
curl 'https://api.ati.su/gw/timeslots/api/v1/terminal' \ -X 'DELETE' \ -H 'Authorization: Bearer {authorizationToken}' \ -H 'Content-Type: application/json' \ --data-raw '{"terminal_ids":[0]}'Процедура ВыполнитьHTTPЗапрос(МетодЗапроса, АдресХоста, АдресРесурса, ТекстЗапроса) Экспорт ЗаголовкиHTTP = Новый Соответствие(); ЗаголовкиHTTP.Вставить("Accept", "application/json"); ЗаголовкиHTTP.Вставить("Content-Type", "application/json"); ЗаголовкиHTTP.Вставить("Authorization", "Bearer {authorizationToken}"); HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса, ЗаголовкиHTTP); HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); ЗащищенноеСоединениеSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows, Новый СертификатыУдостоверяющихЦентровWindows);
Соединение = Новый HTTPСоединение(АдресХоста,,,,,, ЗащищенноеСоединениеSSL);
Попытка Ответ = Соединение.ВызватьHTTPМетод(МетодЗапроса, HTTPЗапрос); Сообщить("Код ответа: " + Ответ.КодСостояния); Сообщить("Ответ: " + Ответ.ПолучитьТелоКакСтроку("UTF-8")); Исключение Сообщить("Ошибка выполнения запроса!" + Символы.ПС + ОписаниеОшибки()); КонецПопытки;КонецПроцедуры
ВыполнитьHTTPЗапрос("DELETE", "https://api.ati.su", "/gw/timeslots/api/v1/terminal", "{""terminal_ids"":[0]}"); 200
Успешный ответ.
Результат выполнения запроса.
Успешно удалённые ID в исходном типе запроса (число или строка).
ID с ошибкой: объект не найден, недоступен или удаление запрещено.
ID с серверной ошибкой; текущая реализация возвращает пустой список.
Признак успешного выполнения запроса.
400 Некорректный список или размер ID.
Ошибка запроса с подробностями по отдельным полям.
Машиночитаемый код ошибки.
Описание причины ошибки.
Ошибки отдельных полей запроса.
Машиночитаемый код ошибки.
Описание причины ошибки.
403 Контекст пользователя отсутствует или некорректен.
Ошибка API: код и причина.
Машиночитаемый код ошибки.
Описание причины ошибки.