Взаимодействие с API осуществляется посредством HTTP-запросов методами GET и POST на опредленные URL.

Базовый URL для обращения к API: http(s)://api.yadc-js.ru/

Результаты выполнения запроса возвращаются в виде JSON-объекта. Обмен текстовыми данными осуществляется в кодировке UTF-8.

Список ПВЗ в формате GeoJSON

Возвращает список пунктов выдачи заказов (ПВЗ) в формате GeoJSON FeatureCollection.

Метод: GET
URL: /pickups

В список включаются ПВЗ всех транспортных компаний, выбранных в настройках аккаунта.

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

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id":"1",
      "geometry": {
        "type": "Point",
        "coordinates": ["60.0630000", "30.3818000"]
      },
      "properties": {
        "id": "1",
        "city": "Подольск",
        "address": "Нефтебазовский проезд, 8",
        "worktable": "пн-пт 09:00-20:00; сб 11:00-16:00; вс выходной",
        "service_code": "dellin"
      },
    },
    ...........
  ]
}

Рассчёт стоимости доставки

Возвращает срок и стоимость доставки заказа на указанный ПВЗ.

Метод: GET
URL: /calculate

Параметры, передаваемые в запросе:

Название Тип Обязательность Описание
pickup_id int Да Идентификатор ПВЗ до которого осуществляется доставка

Поиск ближайшего города

Находит ближайший к пользователю город с пунктами выдачи и рассчитывает минимальную стоимость доставки в этот город.

Метод: GET
URL: /city

Параметры, передаваемые в запросе:

Название Тип Обязательность Описание
site_id int Да Идентификатор сайта
latitude float Да Географическая широта пользователя
longitude float Да Географическая долгота пользователя
cargo cargo Нет Описание груза

Возвращаемые значения:

Название Тип Описание
city string Название ближайшего населенного пункты
pickups int Количество пунктов выдачи в городе
price float Минимальная стоимость доствки
term int Количество дней, которое займёт доставка

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

GET /city?site_id=2&latitude=54.0503&longitude=58.0237

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

{
  "city": "Белорецк",
  "pickups": 2,
  "price": 415,
  "term": 4
}