• Получение списка грузов (постранично)
  • Получение грузов от определенной компании
  • Добавление нового груза
  • Подъем груза в списке (1 раз в час)
  • Справочник типов грузов
  • Справочник методов оплаты
  • Справочник опций оплаты
  • Справочник групп кузовов
  • Справочник видов загрузки
  • ­Avtodispetcher ru Api грузов




    Download 101 Kb.
    Sana27.12.2019
    Hajmi101 Kb.
    #5459
    1. ­Avtodispetcher.ru API грузов

    Для дробных значений в качестве разделителя целой и дробной части используйте точку.


        1. Авторизация


    Можно получать доступ к API двумя способами:

    1. по токену клиента API - работает только получение списка грузов

    2. по токену конечного пользователя Автодиспетчера (токен выдаваемый клиенту API для действий от лица конечного пользователя) - разрешены все действия.

    Список грузов полученный по токену клиента API может отличаться от списка грузов полученного по токену конечного пользователя. В последнем случае к списку применяются фильтры из индивидуальных настроек пользователя (например, не показываются грузы от пользователей в “черном списке”).
        1. Грузы


    Обязательные http-заголовки запросов:

    1. Accept: application/json

    2. Content-type: application/json

    3. Authorization: Bearer someTokenHere

    Тело запроса (json) в кодировке UTF-8.
          1. Получение списка грузов (постранично)


    GET-запрос https://api.avtodispetcher.ru/v1/cargos?page=1

    • Ответ с http-кодом 200 содержит json со списком грузов. Список содержит полную информацию по каждому из грузов. Нет необходимости получать полную информацию по каждому из грузов отдельным запросом.

    Пример ответа:

    {

       "count": 5, // количество грузов на текущей странице

       "total": 5, // количество грузов суммарно на всех страницах

       "page": 1 // номер текущей страницы

       "page_count": 1, // количество страниц

       "page_size": 25, // количество элементов на одну страницу

       "_links": { // HAL-гиперссылки для листания списка

           "self": {

               "href": "https://api.avtodispetcher.ru/v1/cargos?page=1"

           },

           "first": {

               "href": "https://api.avtodispetcher.ru/v1/cargos"

           },

           "last": {

               "href": "https://api.avtodispetcher.ru/v1/cargos?page=1"

           }

       },

       "_embedded": {

           "cargo": [

               { // первый груз

                   "route": [ // секция маршрута перевозки

                       ["city": "Москва", "region": "Московская область", "country": "Россия"],

                       ["city": "Ростов-на-Дону", "region": "Ростовская область", "country": "Россия", "point": ["latitude": 47.25902, "longitude":39.62638]]

                      // обычно в маршруте две точки, но в будущем могут появиться промежуточные пункты следования. Поэтому за конечную точку маршрута следует принимать не 2-ой элемент массива, а последний элемент массива.

                  ],

                   "distance": 1074, // длина маршрута. Может отсутствовать, если маршрут указан не конкретно (например "из области", а не "из города").

                   "cargo": { //секция описания груза

                       "type": "food",

                       "description": "карамельки",

                       "packageType": "case",

                       "weight": 1.5,

                       "volume": 5.5,

                       "length": 2.5,

                       "width": 2.1,

                       "height": 1.9,

                       "amount": 10,

                       "temperatureModeFrom": -10,

                       "temperatureModeTo": 5,

                       "dangerClass": 1, // ADR1. Диапазон значений: от 0 до 9

                       "note": "загрузка строго в выходные после 22:00"

                   },

                   "price": { //секция описания ставки, если она отсутствует, значит ставка договорная.

                       "currency": "RUR",

                       "prepaymentValue": 10000,

                       "prepaymentMethod": "cash",

                       "prepaymentOption": "before",

                       "postpaymentValue": 20000,

                       "postpaymentMethod": "cash",

                       "postpaymentOption": "onunload",

                       "bankDays": 5

                   },

                   "ready": { // секция описания готовности груза к отправке (ISO8601+UTC)

                       "from": "2016-06-23T00:00:00+03:00",

                       "to": "2016-06-30T00:00:00+03:00"

                   },

                   "requirements": { // секция описания требований к транспорту

                       "transportGroup": "special",

                       "transportTypes": ["awning", "box"],

                       "transportCount": 2,

                       "loadType": “top”,

                       "tir": 1,

                       "sanitaryPassport": 1,

                       "manipulator": 1,

                       "bolster": 1,

                       "lift": 1,

                       "pyramid": 1,

                       "headacheRack": 1,

                       "lowCarriage": 1,

                       "pneumaticSuspension": 1

                   },

                   "id": 220, // id груза в нашей БД

                   "creationDate": "2016-08-12T12:13:45+03:00", // дата создания груза в формате ISO8601+UTC

                   "modificationDate": "2016-08-12T13:14:12+03:00", // дата последней модификации

                   isArchived”: 0, // груз актуален, не находится в архиве

                   isBlocked”: 0, // груз не заблокирован

                   isExported”: 1, // груз экспортируется в сторонние информационные системы

                   "contacts": [ // секция описания контактов владельца

                       {

                           "name": "Николай Иванович",

                           "phones": ["79185215852"]

                       }

                   ],

                   "_links": { // HAL-гиперссылка

                       "self": {

                           "href": "https://api.avtodispetcher.ru/v1/cargos/220"

                       }

                   }

               },

               { // второй груз ….

               },

               { // третий груз ….

               }

           ]

       }

    }



          1. Получение своих грузов


    GET-запрос https://api.avtodispetcher.ru/v1/cargos?person=me

    • Ответ с http-кодом 200 содержит json со списком грузов
          1. Получение грузов от определенной компании


    GET-запрос https://api.avtodispetcher.ru/v1/cargos?company=1234

    • Ответ с http-кодом 200 содержит json со списком грузов компании с идентификатором 1234
          1. Получение одного груза


    GET-запрос https://api.avtodispetcher.ru/v1/cargos/345623

    • Ответ с http-кодом 200 содержит json с информацией о грузе

    • Ответ с http-кодом 404, если груза нет
          1. Добавление нового груза


    POST-запрос https://api.avtodispetcher.ru/v1/cargos

    • Ответ с http-кодом 201, если груз успешно добавлен. В теле ответа json с информацией о грузе, в том числе id груза в нашей БД.

    • Ответ с http-кодом 422, если переданы некорректные данные. В ответном json будет описание ошибок.
          1. Редактирование груза


    PUT-запрос https://api.avtodispetcher.ru/v1/cargos/345623

    • Ответ с http-кодом 200, если груз успешно отредактирован. В теле ответа json с информацией о грузе.

    • Ответ с http-кодом 422, если переданы некорректные данные. В ответном json будет описание ошибок.

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


    {

       "route": [ // секция маршрута перевозки. Обязательны как минимум две точки маршрута (старт/финиш)

           Москва, Московская область, Россия”,

           Ростов-на-Дону, Ростовская область, Россия (47.25902,39.62638)"

       ],

       "cargo": { //секция описания груза

           "type": "food", // тип груза, значение из справочника типов грузов

           "description": "карамельки", // дополнительное пояснение о характере груза

           "packageType": "case", // тип упаковки груза, значение из справочника упаковок

           "weight": 1.5, // вес в тоннах в расчете на 1 машину

           "volume": 5.5, // объем в кубометрах в расчете на 1 машину

           "length": 2.5, // длина груза (габарит)

           "width": 2.1, // ширина груза (габарит)

           "height": 1.9, // высота груза (габарит)

           "amount": 10, // количество единиц груза, для штучных грузов и счетных упаковок. Например, 10 паллет.

           "temperatureModeFrom": -10, // температурный режим, нижняя граница (самая холодная)

           "temperatureModeTo": 5, // температурный режим, верхняя граница (самая теплая)

           "dangerClass": 2, // ADR 2

           "note": "загрузка строго в выходные после 22:00" // произвольное примечание

       },

       "price": { //секция описания ставки, или 0 если ставка договорная.

           "currency": "RUR", // значение из справочника валют

           "prepaymentValue": 10000,

           "prepaymentMethod": "cash", // значение из справочника методов оплаты

           "prepaymentOption": "before", // значение из справочника опций оплаты

           "postpaymentValue": 20000,

           "postpaymentMethod": "cash",

           "postpaymentOption": "onunload",

           "bankDays": 5 // количество банковских дней выделенных на оплату при оплате по безналу

       },

       "ready": { // секция описания готовности груза к отправке или 1 если готов постоянно

           "from": "2016-06-23T00:00:00+03:00",

           "to": "2016-06-30T00:00:00+03:00"

       },

       "requirements": { // секция описания требований к транспорту

           "transportGroup": "special", // обязательное поле, значение из списка групп кузовов

           "transportTypes": ["awning", "box"], // обязательное поле, значения из списка кузовов

           "transportCount": 2, // требуемое количество машин

           "loadType": “side”, // вид загрузки.

           "tir": 1, // нужен TIR

           "sanitaryPassport": 1, // нужен санитарный паспорт

           "manipulator": 1, // нужен транспорт с манипулятором

           "bolster": 1, // нужен транспорт с кониками

           "lift": 1, // нужен транспорт с гидролифтом

           "pyramid": 1, // нужен транспорт с “пирамидой” в кузове (перевозка листовых материалов)

           "headacheRack": 1, // нужен транспорт с “катюшей” (упор над кабиной для перевозки погонажных грузов)

           "lowCarriage": 1, // нужен транспорт низкорамник

           "pneumaticSuspension": 1 // нужен транспорт с пневмоподвеской

       },

       isArchived”: 0,

       isBlocked”: 0,

       isExported”: 1

    }



          1. Удаление груза


    DELETE-запрос https://api.avtodispetcher.ru/v1/cargos/345623

    • Ответ с http-кодом 204, если груз успешно удален.

    • Ответ с http-кодом 403, если нет прав на удаление груза

    • Ответ с http-кодом 404, если груза нет



          1. Подъем груза в списке (1 раз в час)


    PATCH-запрос https://api.avtodispetcher.ru/v1/cargos/345623

    В теле запроса: {"lift":"now"}

    • Ответ с http-кодом 200, если груз успешно поднят.

    • Ответ с http-кодом 403, если груз не может быть поднят (не истек 1 час с последнего поднятия)


        1. Справочник типов грузов


    значение

    комментарий

    food

    продукты питания

    common_consumption_goods

    товары народного потребления непродовольственные

    equipment_and_spare_parts

    оборудование и части

    concrete_products

    стройматериалы: железобетонные изделия

    bricks

    стройматериалы: кирпич, блоки

    friable_inert_materials

    стройматериалы: сыпучие инертные материалы

    cement

    стройматериалы: цемент, сухие смеси

    concrete

    стройматериалы: бетон товарный

    sheet_glass

    стройматериалы: стекло листовое

    other_building_materials

    другие стройматериалы

    pipe

    металл: трубы, металлопрокат

    metal_framework

    металл: металлоконструкции

    scrap_metal

    металл: металлолом

    other_metal

    другой металл

    lumber

    пиломатериалы

    empty_package

    пустая тара и упаковка

    paper

    картон, бумага, макулатура

    not_dangerous_chemicals

    химия неопасная

    dangerous_chemicals

    химия опасная

    dark_fuel_and_grease

    ГСМ темные

    light_fuel_and_grease

    ГСМ светлые

    liquefied_gas

    газ сжиженный

    coal_and_peat

    уголь, торф

    firewood_and_pellets

    дрова, пеллеты

    container

    контейнер морской или железнодорожный, бытовка

    auto_and_moto

    авто, мото

    semitrailer

    полуприцеп

    lorry_and_special_machinery

    грузовики, спецтехника

    feed

    комбикорм, добавки

    fertilizer

    удобрения

    grain

    зерно, семена

    hay

    сено, солома

    vegetables_and_fruits

    овощи, фрукты

    flour

    мука

    animal

    животные, птица

    things

    личные вещи, переезд

    general_cargo

    сборный груз

    other

    другой


        1. Справочник упаковок


    значение

    комментарий

    bigbag

    биг бэги

    pallet

    паллеты

    box

    коробки

    case

    ящики

    barrel

    бочки

    eurocube

    еврокубы

    bag

    мешки/сетки

    pack

    пачки

    apiece

    поштучно

    in_bulk

    навалом/насыпью

    fill

    наливной груз

    other

    другая


        1. Справочник валют


    значение

    комментарий

    RUR

    Российский рубль

    USD

    Доллар США

    EUR

    Евро

    UAH

    Украинская гривна

    BYR

    Белорусский рубль


        1. Справочник методов оплаты


    значение

    комментарий

    cash

    наличными

    card

    на банковскую карту

    fuelCard

    на топливную карту

    cashlessWithVat

    безнал с НДС

    cashlessWithoutVat

    безнал без НДС


        1. Справочник опций оплаты


    значение

    комментарий

    before

    до рейса

    onload

    на погрузке

    onunload

    перед выгрузкой

    cashless

    после выгрузки по ТТН


        1. Справочник кузовов


    значение

    комментарий

    awning

    тент

    refrigerator

    рефрижератор

    box

    фургон

    thermobox

    изотермический фургон

    board

    бортовой

    lowboy

    трал

    evacuator

    эвакуатор

    flatbed

    платформа

    tipper

    самосвал

    mounted_container

    пустой контейнер

    container_frame

    контейнеровоз

    grain

    зерновоз/щеповоз

    light_oil_tank

    цистерна для светлых ГСМ

    dark_oil_tank

    цистерна для темных ГСМ

    food_tank

    пищевая цистерна

    auto

    автовоз

    timber

    лесовоз

    concrete

    цементовоз/муковоз

    mixer

    миксер

    panel

    панелевоз

    gas

    газовоз

    glass

    стекловоз

    cattle

    скотовоз/коневоз

    scrap

    металловоз

    car

    легковой универсал

    minibus

    грузовой микроавтобус

    truck_tractor

    тягач для перегона полуприцепов


        1. Справочник групп кузовов


    значение

    комментарий

    universal

    универсальный кузов, пригодный для перевозки большинства популярных грузов: тент или рефрижератор или фургон или изотермический фургон или бортовой или пустой контейнер или платформа или зерновоз/щеповоз

    covered

    закрытый кузов, защищен от осадков: тент или рефрижератор или фургон или изотермический фургон или пустой контейнер

    special

    специальный кузов: один или несколько произвольных кузовов из справочника кузовов


        1. Справочник видов загрузки


    значение

    комментарий

    top

    верхняя загрузка

    side

    боковая загрузка

    back

    задняя загрузка


    Download 101 Kb.




    Download 101 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    ­Avtodispetcher ru Api грузов

    Download 101 Kb.