Подождите, операция выполняется...

Личный кабинет позволяет: анализировать информацию об отправленном и полученном грузе; контролировать расходование средств на перевозки; формировать заявки на забор груза. Получить доступ

Группа /branches/ — операции с филиалами

Метод /branches/all/ — список филиалов и городов

Доступ

  • Зарегистрированные пользователи
  • Сторонние неперсонифицированные приложения

Комментарии

  • ID склада отправления/назначения в методе расчёта стоимости /calculator/calculateprice/ (параметр senderWarehouseId / receiverWarehouseId) и в методах подачи заявок (параметр WarehouseId) можно получить из ответа метода в поле branches[].divisions[].warehouses[].id. НЕ ПЕРЕДАВАЙТЕ ДРУГИХ ID. При подаче любого другого ID из ответа этого метода, запрос будет отклонён.
  • ОБЯЗАТЕЛЬНО учитывайте доступность подбираемых складов по габаритам и разрешенных для них операций. Ограничения по габаритам конкретного склада можно получить из ответа метода в полях branches[].divisions[].warehouses[].maxWeight, maxVolume, maxWeightPerPlace, maxDimension. Разрешённые операции можно получить из ответа метода в поле branches[].divisions[].kindsOfTransportation[].
  • Обращаем Ваше внимание, что географическая структура отделений ПЭК (города и отделения в них, обслуживаемые конкретным филиалом), отличается от структуры финансовой подчинённости.
    • Географическая структура - это какой филиал обслуживает какие города (branches[].cities[]) и отделения (branches[].cities[].divisions[]). При этом в структуре приведены основные крупные населенные пункты, в то время как доставка до адреса может осуществлена и в мелкие населенные пункты, не указанные в ответе метода. Для определения полной географии перевозки ПЭК рекомендуется использовать методы /branches/findzonebyaddress/, /branches/findzonebycoordinates/. Ближайшие к адресу подходящие склады можно выбрать методом: /branches/nearestdepartments/.
    • Финансовая структура - внутренняя организационная структура ПЭК, используемая для выбора филиала оплаты услуги в методах подачи заявок (реквизит "paymentCity")."Филиал оплаты" - филиал ПЭК, в котором плательщик за услугу ПЭК будет получать оригиналы закрывающих бухгалтерских документов: УПД, отчёт по страхованию и т.п. Указанные документы можно получить в любом собственном отделении ПЭК (не ПВЗ, см. описание реквизита "departmentTypeId"), относящемуся к указанному филиалу оплаты (branches[].divisions[].warehouses[]). Филиал оплаты также определяет возможность применения к грузу некоторых назначенных контрагенту скидок и сервисов.
    Таким образом, у одного филиала могут быть различными списки обслуживаемых отделений по географической структуре: branches[].cities[].divisions[] и относящихся к нему отделений по финансовой структуре: branches[].divisions[].

Формат запроса

// Пустой объект или null или любой из перечисленных ниже параметров в качестве фильтров
{            
    "branchId": "b473ce9f-dd68-44ea-a4b2-4cb63b6e970d", // идентификатор филиала (параметры ниже будет проигнорированы)
    "divisionId": "5c7775d2-0013-11ec-80cf-00155d4a0436", // идентификатор отделения (параметр ниже будет проигнорирован)
    "warehouseId": "5c7775d4-0013-11ec-80cf-00155d4a0436" // идентификатор склада            
}

Формат ответа

{
  "branches": [// Список филиалов [Array]
    {// Информация о филиале [Object]
      "id": "e5c3ede6-5ce7-11df-ac33-0017085a0478",// Идентификатор филиала [String]. НЕ ИСПОЛЬЗОВАТЬ в методах расчёта стоимости и подачи заявок
      "branchCode": "АМ",// Буквенный уникальный код филиала [String]
      "title": "Армавир",// Наименование филиала [String]
      "address": "Краснодарский край, г. Армавир, ул. Мичурина, д. 7",// Адрес основного отделения филиала [String]
      "postalCode": "",// Почтовый индекс основного отделения филиала [String]
      
      "coordinatesobj":{ //Координаты GPS основного отделения филиала
            "latitude": 44.98426,  // Координата широты [Double] 
            "longitude": 41.100951 // Координата долготы[Double] 
      },
      "timezone": "UTC+03:00",// Часовой пояс основного отделения филиала [String] 
      "country": "РОССИЯ",// Страна [String]
      "countryOfRegistrationCode": "643", // Код страны регистрации по классификатору строка [String]. 
      "bitrixId": "478",// Код филиала [String]. В актуальной версии протокола не используется
      "cities": [// Список городов филиала [Array]
        {
            "title": "Армавир",// Наименование города [String]. Наименование из справочника ПЭК
            "bitrixId": "478", // Код города [String].  В актуальной версии протокола не используется
            "cityId": "22f8a64a-9647-428f-89a6-1208c4edf756", // Идентификатор города [String]. НЕ ИСПОЛЬЗОВАТЬ в методах расчёта стоимости и подачи заявок
            "cityStatus": 1,// Тип населенного пункта (0 - километраж, 1 - филиал, 2 - отделение, 3 - сателлит) [Number].
                            //В актуальной версии протокола не используется
            "divisions": // Ссылки на отделения, доступные в этом городе [Array]
            [
                "2b8edc50-213e-11ec-80cf-00155d4a0436",// Идентификатор отделения [String]. НЕ ИСПОЛЬЗОВАТЬ в методах расчёта стоимости и подачи заявок
                "8112fb89-5a96-11e4-94e4-00155d9d920f"// Идентификатор отделения [String]. НЕ ИСПОЛЬЗОВАТЬ в методах расчёта стоимости и подачи заявок
	    ]
        },
        { // Информация о городе [Object]
	    "title": "Успенское (Успенский р-н)",// Наименование города [String]
            "cityId": "e15306b6-30ca-11de-b7f2-0019bbc986b4",// Идентификатор города [String]. НЕ ИСПОЛЬЗОВАТЬ в методах расчёта стоимости и подачи заявок
            "bitrixId": "67445",// Код города [String]. В актуальной версии протокола не используется
            "cityStatus": 0, // Тип населенного пункта (0 - километраж, 1 - филиал, 2 - отделение, 3 - сателлит) [Number]
                             // В актуальной версии протокола не используется
            "divisions": []  // Ссылки на отделения, доступные в этом городе [Array]
        },
        ...
      ],
      "divisions":[// Список отделений [Array]
       {
          "id": "8112fb89-5a96-11e4-94e4-00155d9d920f",// Идентификатор отделения [String]. НЕ ИСПОЛЬЗОВАТЬ в методах расчёта стоимости и подачи заявок
          "cityId": "e5c3ede7-5ce7-11df-ac33-0017085a0478",// Идентификатор города, которому принадлежит отделение [String]
          "name": "Армавир",// Наименование отделения [String]
	      "divisionPriority": 80,// Приоритет автоматической подстановки отделений на стороне ПЭК (используется, если в запросах не указано конкретное отделение) [Number]
          "isAcceptanceOnly": false,// Значение true, если осуществляется только ПРИЁМ груза [Boolean]
          "departmentTypeId": 4,// ID типа отделения [Number]. Обозначения: //0 - Отделение компании, 1 - ПВЗ, 4 - Основное отделение компании в филиале
          "departmentType": "Основное отделение филиала компании",// Наименование типа отделения [String]
          "isPartialDistributionAllowed": false,// В актуальной версии протокола не используется [Boolean]
          "warehouses": [// Информация о складе  [Array]
          { // Выводится один к одному. Одно отделение - один склад. Если массив возвращается пустым, значит отделение в
            // ближайшее время планируется к закрытию. [Object]
	      "warehouseCode": "АМ0001",// Буквенный уникальный код склада [String]
              "id": "c496b0c6-8e45-11df-bb3b-0019bbc941ce",// Идентификатор склада [String]. ИСПОЛЬЗОВАТЬ в методах расчёта стоимости и подачи заявок!
              "divisionId": "8112fb89-5a96-11e4-94e4-00155d9d920f",// Идентификатор отделения [String]. НЕ ИСПОЛЬЗОВАТЬ в методах расчёта стоимости и подачи заявок
              "name": "Армавир 01",// Наименование склада [String]
	      "divisionName": "Армавир",// Наименование отделения [String]
              "address": "г.Армавир, ул.Мичурина 7",// Адрес склада [String]. Максимально короткий адрес для использования в оповещениях
	      "addressDivision": "Россия, Краснодарский край, Армавир, улица Мичурина, 7",// Полный адрес склада [String]
              "pointerDescription": "Направляясь прямо по ул.Мичурина из центра, нужно доехать до стенда, где будет вывеска с левой стороны «ПЭК». Сразу за ней въезд во двор. Заезжаете на территорию «ПЭК»",// Подробное описание, как добраться до отделения [String]. Длина не ограничена
                      
              "coordinatesobj":{ // Координаты GPS склада 
                    "latitude": 44.98426,  // Координата широты [Double]
                    "longitude": 41.100951 // Координата долготы[Double]
              },
              "email": "armavir@pecom.ru",// E-mail [String]
              "telephone": "8(86137) 638-08",// Телефон [String]
              //Ограничение склада по габаритам на приём/ выдачу грузов.
              //Если в реквизите указан 0.000 значит используются общие ограничения по габаритам конкретного тарифа/ продукта ПЭК:
              // Например, для LTL авто: вес груза 20 000 кг., объём груза 80 м.куб., длина 13.4 м., высота 2.45 м., ширина 2.42 м.
              // Актуальное ограничение для каждого тарифа/ продукта Вы можете узнать на сайте ПЭК, у своего менеджера или, отправив вопрос по адресу: client@pecom.ru
              "maxWeight": 60.000,// Максимально допустимый вес груза, кг. [Number]
              "maxVolume": 0.250,// Максимально допустимый объем груза, м.куб. [Number]
              "maxWeightPerPlace": 30.000,// Максимально допустимый вес грузоместа, кг.[Number]
              "maxDimension": 0.800,// Максимальный габарит грузоместа, м. [Number]
              "endOfAvailabilityBeforeClosing": "2022-04-27T00:00:00",// Последняя дата доступности отделения для подачи заявок в связи с закрытием [DateTime]
              "endOfCostCalculationAvailability": "2022-04-04T00:00:00",// Дата запрета расчета стоимости по данному отделению в связи с плановым закрытием [DateTime]
              "departmentClosingDate": null,// Дата прекращения работы отделения [DateTime]
              "timeOfWork":[],// В актуальной версии протокола не используется [Object]
              "divisionTimeOfWork":[// Время работы отделения [Array]. 
              //Если нет элемента с конкретным днем недели, значит в этот день отделение не работает.
                 {
                     "workFrom": "09:00",// Начало рабочего дня [String]. Пустая строка означает время "00:00" 
                     "workTo": "18:00",  // Конец рабочего дня [String]
                     "dinnerFrom": null, // Начало обеденного перерыва [String]
                     "dinnerTo": null,   // Конец обеденного перерыва [String]
                     "dayOfWeek": "1"    // День недели (1 - понедельник, 6 - суббота) [String]
                 },
                 ...
              ],
              "ScheduleShortWorkDays": [ // Сокращенный режим работы [Array]
                 {
                     "date": "2023-11-03T00:00:00",// Дата сокращённого дня
                     "workTime":{ // Время работы сокращённого дня
                        "periodTimeFrom": "09:00:00",// Начало рабочего дня [String]
                        "periodTimeTo": "17:00:00",  // Конец рабочего дня [String]
                     },
                     "breakTime": null // Обеденный перерыв [String]
                 },
				 ...
              ],
              "scheduleHolidayDays": [// Выходные и праздничные дни [Array]
                  "2023-12-31T00:00:00"
                  ...
              ],
              "kindsOfTransportation": [//Доступные операции в отделении [Array]. ОБЯЗАТЕЛЬНО ПРОВЕРЯЙТЕ ДОСТУПНОСТЬ ОПЕРАЦИЙ ПРИ ВЫБОРЕ ОТДЕЛЕНИЯ!
                  {
                      "description": "Автоперевозка",// Наименование тарифа/ продукта [String]
                      "type": 3, // Идентификатор продукта/тарифа [Number]. Полный список доступных в API продуктов/тарифов можно получить методом /typesOfDelivery/all/
                      "operations": [// Доступные операции в отделении для данного тарифа/ продукта [Array]
                          "Выдача грузов",
                          "Прием грузов"
                      ]
                  },
                  {
                      "description": "Авиаперевозка",// Наименование тарифа/ продукта [String]
                      "type": 1, // Идентификатор продукта/тарифа [Number]. Полный список доступных в API продуктов/тарифов можно получить методом /typesOfDelivery/all/
                      "operations": [// Доступные операции в отделении для данного тарифа/ продукта [Array]
                          "Выдача грузов"
                      ]
                  }
              ],
              "isAcceptanceOnly": false,// В актуальной версии протокола не используется [Boolean].
                                        // Для определения доступных операций используйте массив "kindsOfTransportation":[] и ограничения по габаритам
              "isWarehouseGivesFreights": false,// В актуальной версии протокола не используется [Boolean]. 
                                       // Для определения доступных операций используйте массив "kindsOfTransportation": [] и ограничения по габаритам
              "isWarehouseAcceptsFreights": false,//  В актуальной версии протокола не используется [Boolean].
                                       // Для определения доступных операций используйте массив "kindsOfTransportation": [] и ограничения по габаритам
              "isFreightSurcharge": false// В актуальной версии протокола не используется [Boolean] 
             }, 
                ...
             ]
          },
         ...
       ]
    },
    {
      "id": "64adbdf6-a185-11dc-a911-000a5e19ccb4",
      "title": "Архангельск",
      "address": "Архангельская область, г.Архангельск, Талажское шоссе д.4, с1",
      "postalCode": "",
      "coordinates": "64.570049,40.576311",
      "bitrixId": "485",
      "branchCode": "АР",
      "timezone": "UTC+03:00",
      "country": "РОССИЯ",
      "cities": [
        {
          "title": "Архангельск",
          "bitrixId": "485",
          "cityId": "9cc757a0-d946-4c22-a6f9-cee2fe16cc92",
          "cityStatus": 1,
          "divisions": [
                "dc92c84d-12bb-11ea-80ce-00155d4a0436",
                "0e963bfc-360e-11eb-80ce-00155d4a0436",
                "8188a021-128d-11ea-80ce-00155d4a0436",
                "8eef702b-128d-11ea-80ce-00155d4a0436",
                "8112fb8b-5a96-11e4-94e4-00155d9d920f"
           ]
        },
        {
          "title": "Обозерский (Плесецкий р-н)",
          "bitrixId": "65781",
          "cityId": "b7eaef73-30ca-11de-b7f2-0019bbc986b4",
          "cityStatus": 0,
          "divisions": []
        },
        ...
     ]
   },
   ...
  ]
}

Метод /branches/findzonebycoordinates/ — поиск тарифных зон и филиалов по координатам

Доступ

  • Зарегистрированные пользователи

Комментарии

  • Метод по координатам ищет филиал и наименование тарифной зоны, к которой он привязан. Результат возвращаются в виде массива
  • Если возвращается пустой ответ - значит зона адреса не обслуживается ПЭК.

Формат запроса

[   //Запрос [Array]
    {
        "latitude": 47.138333, // Координата широты [double]
        "longitude": 39.744469 //Координата долготы [double]
    }, {
        "latitude": 57.1442, // Координата широты [double]
        "longitude": 65.6041 //Координата долготы [double]
    }
]

Формат ответа

[    //Результаты поиска [Array]
    {    // Один из результатов поиска [Object]
        "zoneId": "52ce7ec0-ab5f-11e8-80ca-00155d444127", // Идентификатор зоны [String]
        "zoneName": "Батайск город", // Наименование зоны [String]
        "branchUID": "614cdae3-7070-11e8-80c9-00155d668927", // Идентификатор филиала [String]
        "bitrixId": 2729346, // Код филиала [int]
        "branchCode": "БТ", // Код филиала [String]
        "branchTitle": "Батайск", // Название филиала [String]
        "warehousePoint": { // Координаты «Основного отделения филиала компании», к которому относится адрес
                "latitude": 47.152969, // Координата широты [double]
                "longitude": 39.734183 // Координата долготы [double]
             }
    },
    
    {    // Один из результатов поиска [Object]
        "zoneId": "19643e47-9cec-11e5-94cc-00155d668909", // Идентификатор зоны [String]
        "zoneName": "Тюмень город", // Наименование зоны [String]
        "branchUID": "64adbe37-a185-11dc-a911-000a5e19ccb4", // Идентификатор филиала [String]
        "bitrixId": 193854, // Код филиала [int]
        "branchCode": "ТМ", // Код филиала [String]
        "branchTitle": "Тюмень", // Название филиала [String]
        "warehousePoint": { // Координаты «Основного отделения филиала компании», к которому относится адрес
                "latitude": 57.124257, // Координата широты [double]
                "longitude": 65.574231 // Координата долготы [double]
              }    
    }
]

Метод /branches/findzonebyaddress/ — поиск тарифных зон и филиалов по строке адреса

Доступ

  • Зарегистрированные пользователи

Комментарии

  • Метод по строке адреса выводит филиал, к которому относится указанный адрес, наименование тарифной зоны, ID склада основного отделения филиала. Составляющие части адреса возвращаются в виде массива: страна, регион, населенный пункт, улица, дом.
  • Если возвращается пустой ответ - значит зона адреса не обслуживается ПЭК.

Формат запроса

{
    "address": "Ростовская обл, Азовский р-н, поселок Койсуг" // Адрес [string]
}

Формат ответа

{
    "zoneId": "52ce7ec0-ab5f-11e8-80ca-00155d444127", // Идентификатор зоны [String]
    "zoneName": "Батайск город", // Наименование зоны [String]
    "branchUID": "614cdae3-7070-11e8-80c9-00155d668927", // Идентификатор филиала [String]
    "bitrixId": "2729346", // Код филиала [String]. В актуальной версии протокола не используется
    "branchCode": "БТ", // Код филиала [String]
    "branchTitle": "Батайск", // Название филиала [String]
    "mainWarehouseId": "a5ab5545-7076-11e8-80c9-00155d668927", // ID склада основного отделения филиала [String]
    "warehousePoint": { // Координаты «Основного отделения филиала компании», к которому относится адрес
        "latitude": 47.12786575851295, // Координата широты [double]
        "longitude": 39.85232042817180 // Координата долготы [double]
    },
    "GeoData": {
        "precision": "exact", // критерий точности распознавания координат адреса [String]. Возможные значения: 
                              // "exact" - точно; "bad" - заявка по такому адресу не будет принята, 
                              // "near" - поняли адрес приблизительно (до улицы, соседнего дома и т.п.), 
                              // заявка будет принята, но потребуется уточнение адреса при оформлении груза.
        "kind": "locality", // название компоненты адреса, до которой определен адрес в ответе. Пример значений: "house", "street", "locality" (город, село и т.п.), "province" (часть региона), "country"
        "Address": {
            "country_code": "RU", // код страны, к которой относится адрес (выводится только если определен точный адрес)
            "formatted": "Россия, Ростовская область, Азовский район, посёлок Койсуг", // полное представление найденного адреса
            "Components": [ // массив составляющих частей адреса: страна, регион, населенный пункт, улица, дом
                {
                    "kind": "country",
                    "name": "Россия"
                },
                {
                    "kind": "province",
                    "name": "Южный федеральный округ"
                },
                {
                    "kind": "province",
                    "name": "Ростовская область"
                },
                {
                    "kind": "area",
                    "name": "Азовский район"
                },
                {
                    "kind": "locality",
                    "name": "посёлок Койсуг"
                }
            ]
        }
    }
}
}

Метод /branches/checkpickupdate/ — определение доступности дат забора груза

Доступ

  • Зарегистрированные пользователи

Комментарии

  • Метод позволяет определить только возможность забора груза в указанную дату и выводит массив доступных дат до и после указанной даты.
  • Если необходимо проверить, действует ли льготный тариф на забор по запрошенному адресу в указанную дату, рекомендуем использовать метод /calculator/checkdeliverydate/.

Формат запроса

{
    "address": "Вологда", // Адрес забора [String]
    "planPickupDate": "2022-08-20" // Плановая дата забора ["String"]
}

Формат ответа

{
    "AddressAvailable": true, // Забор с адреса возможен [Boolean]
    "PickupDateAvailable": true, // Забор на указанную дату возможен [Boolean]
    "AvailablePickupDatesBefore": [ // Массив доступных дат до указанной [Array]
        "2022-08-17", // Доступая дата [String]
        "2022-08-18",
        "2022-08-19"
    ],
    "AvailablePickupDatesAfter": [ // Массив доступных дат после указанной [Array]
        "2022-08-22", // Доступная дата [String]
        "2022-08-23",
        "2022-08-24"
        ]
}

Метод /branches/suggestaddressofintakeordelivery/ — запрос поисковых подсказок адресов забора/доставки груза

Доступ

  • Зарегистрированные пользователи

Комментарии

  • Метод позволяет в ИТ системе реализовать быстрый подбор адреса забора/ доставки по аналогии с тем, как это сделано на сайте pecom.ru при подаче заявки. На вход дается строка с частью адреса, в ответе выводятся наиболее похожие варианты. При этом перечень вариантов содержит только адреса зоны доставки/ забора ПЭК. В некоторых случаях отсутствие вариантов адресов может говорить только о том, что адреса еще нет в базе, но забор/ доставка по адресу возможны, если есть забор/ доставка на соседние улицы/ дома.
  • Не используйте данный метод для проверки доступности адреса, т.к. есть ограничения по числу запросов для всех пользователей в сутки.
  • Для проверки доступности адреса Забора и Доставки используйте метод /BRANCHES/FINDZONEBYADDRESS/. Правильность адреса можно смотреть в ответе метода /FINDZONEBYADDRESS/ в блоке GeoData. Address. formatted

Формат запроса

{
    "address": "Койсуг" // Часть адреса для получения вариантов наиболее похожих доступных адресов забора и доставки [string]
}

Формат ответа

{
    "response": {
        "GeoObjectCollection": {
            "metaDataProperty": {
                "GeocoderResponseMetaData": {
                    "request": "Койсуг", // часть адреса, по котормоу подбирались варианты
                    "results": "10",
                    "found": "6" // количество найденных вариантов адресов по стркое запроса
                }
            },
            "featureMember": [ // массив предлагаемых вариантов вариантов адресов, подобранных по запросу
                {
                    "GeoObject": {
                        "metaDataProperty": {
                            "GeocoderMetaData": {
                                "precision": "other",
                                "text": "Россия, Ростовская область, Азовский район, посёлок Койсуг", // Полный адрес, предлагаемый как вариант искомого по запросу
                                "kind": "locality",
                                "Address": {
                                    "country_code": "RU",
                                    "formatted": "Россия, Ростовская область, Азовский район, посёлок Койсуг",
                                    "Components": [
                                        {
                                            "kind": "country",
                                            "name": "Россия"
                                        },
                                        {
                                            "kind": "province",
                                            "name": "Южный федеральный округ"
                                        },
                                        {
                                            "kind": "province",
                                            "name": "Ростовская область"
                                        },
                                        {
                                            "kind": "area",
                                            "name": "Азовский район"
                                        },
                                        {
                                            "kind": "locality",
                                            "name": "посёлок Койсуг"
                                        }
                                    ]
                                },
                                "AddressDetails": {
                                    "Country": {
                                        "AddressLine": "Россия, Ростовская область, Азовский район, посёлок Койсуг",
                                        "CountryNameCode": "RU",
                                        "CountryName": "Россия",
                                        "AdministrativeArea": {
                                            "AdministrativeAreaName": "Ростовская область",
                                            "SubAdministrativeArea": {
                                                "SubAdministrativeAreaName": "Азовский район",
                                                "Locality": {
                                                    "LocalityName": "посёлок Койсуг"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "name": "посёлок Койсуг",
                        "description": "Азовский район, Ростовская область, Россия",
                        "boundedBy": {
                            "Envelope": {
                                "lowerCorner": "39.657835 47.105628",
                                "upperCorner": "39.678784 47.129095"
                            }
                        },
                        "Point": {
                            "pos": "39.668004 47.116158" // координаты центральной точки, найденного объекта
                        }
                    }
                },
                ...
            ]
        }
    }
}

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

{ 
    "hasError": true, // Признак ошибок при вызове метода [Boolean] 
    "errorMessage": "Превышено общее для всех пользователей число запросов метода в сутки. Обратитесь в поддержку ПЭК: admin-extintegration@pecom.ru" // Текст ошибки [String]
}

Метод /branches/nearestdepartments/ — подбор ближайших к адресу отделений для приема/выдачи грузов

Доступ

  • Зарегистрированные пользователи

Комментарии

  • Метод предназначен для организации подбора ближайших к клиенту (адресу клиента) отделений для приема/выдачи грузов, которые подойдут для конкретного груза. Или подбора отделений в конкретном городе.

Формат запроса


{
    "address": "Россия, Самара", // Если переданы координаты в реквизите «coordinates», то указанный здесь адрес игнорируется [string]
    "coordinates": // Координаты. Необязательно, если передан параметр «address»
    {
        "latitude": "55.717426", // Координата широты [string]
        "longitude": "37.757728" // Координата долготы [string]
    },
    "weight": null, // Вес груза, для которого необходимо подобрать подходящее отделение [double]. Необязательно
    "volume": null, // Общий объем груза, для которого нужно подобрать отделение [double]. Необязательно
    "maxDimension": null, // Максимальный габарит груза, для которого нужно подобрать отделение [double]. Необязательно
    "maxWeightPerPlace": null, // Самое тяжелое место из всех грузомест груза [double]. Необязательно
    "departmentOperation": 3, // 2 – есть приемка грузов, 3 – есть выдача грузов [int]. Обязательно.
    "type":  3,  // Идентификатор продукта/тарифа ПЭК, с которым должно работать отделение [Number]. Обязательно.
                 // Полный список доступных в API продуктов/тарифов можно получить методом /typesOfDelivery/all/
    "searchRadius": 50, // Километры [int]. На каком расстоянии по прямой от точки переданных
                        // координат или адреса до предлагаемых Отделений/Складов. Обязательно.
    "limit": 5 // Сколько подходящих отделений возвращать в каждом массиве [int]. Обязательно.
}

Формат ответа

{
    "freeDepartments": // Массив с собственными отделениями ПЭК, подходящие в выборку [Array]
    [ 
        {
            "warehouseId": "85974fc8-d0b8-11e5-9833-00155d668909", // ID склада, используется в методах расчета стоимости и подачи заявок [string]
            "departmentType": "Отделение компании", // Тип отделения. На текущий момент может быть 3 варианта: «Отделение компании», 
                                                    // "Основное отделение филиала компании", «ПВЗ» 
                                                    // (этот тип только в массиве paidDepartments) [string]
            "departmentTypeId": 0, // ID типа отделения [Number]. Обозначения: //0 - Отделение компании, 1 - ПВЗ, 4 - Основное отделение компании в филиале
            "branchId": "64adbe2b-a185-11dc-a911-000a5e19ccb4", // ID филиала, к которому относится отделение (организационная привязка).      
            "branchName": "Самара", // Наименование филиала, к которому относится отделение (используется для передачи значения City в методах API) [string]
            "divisionName": "Самара Запад", // Наименование отделения [string]
            "isActive": true, // не используется. В ответе метода всегда только Активные отделения. [Boolean]
            "address": "Самарская область, г. Самара, ул. Верхне-Карьерная, д. 3В", // Адрес отделения [string]
            "coordinates": { // Координаты отделения                     
                "latitude": 53.181565, [double]
                "longitude": 50.174304 [double]
            },
            "timeZone": "04:00:00", // Временная зона, к которой относится отделение [string]
            "townBitrixId": 481, // Идентификатор города, к которому относится отделение. Используется в методе CalculatePrice [int]
            "email": "samara@pecom.ru", // Электронный адрес отделения [string]
            "phone": "8(846) 201-60-33", // Телефон отделения [string]
            "priority": 70, // Внутренний приоритет отделения (в рамках данного метода не важен). Отделения с наивысшим приоритетом ПЭК предлагает по умолчанию клиентам. [int]
            "maxWeight": 0.0, // Ограничение на общий вес груза, который может обрабатывать отделение. 0 – ограничений нет. [double]
            "maxVolume": 0.0, // Ограничение на общий объем груза, который может обрабатывать отделение. 0 – ограничений нет. [double]
            "maxDimension": 0.0, // Ограничение на максимальный габарит груза 
                                 // (наибольший размер из длины, ширины и высоты из всех мест), 
                                 // который может обрабатывать отделение. 0 – ограничений нет. [double]
            "maxWeightOnePlace": 0.0, // Ограничение на максимальный вес одного места груза, который может обрабатывать отделение. 0 – ограничений нет. [double]
            "maxCount": 0, // Ограничение на количество мест груза, которое может обрабатывать отделение. 0 – ограничений нет. [int]
            "scheduleShortWorkDays": [ // Сокращенный режим работы [Array]
                 {
                     "date": "2023-11-03T00:00:00", //Дата сокращённого дня
                     "workTime":{ //Время работы сокращённого дня
                          "periodTimeFrom": "09:00:00", // Начало рабочего дня [String]
                          "periodTimeTo": "17:00:00", // Конец рабочего дня [String]
                          },
                     "breakTime": null // Обеденный перерыв [String]
                 },       
            ],
            "scheduleHolidayDays": // Праздничные и выходные дни отделения вне графика его работы [Array]
            [ 
                "2022-06-12T00:00:00",
                "2022-06-13T00:00:00",
                "2022-11-04T00:00:00"
            ]
        },
        ...
    ],
    "paidDepartments": // Массив с ПВЗ (структура элемента массива такая же как для собственных отделений) [Array]
    [ 
        { 
            ...
        },
        ...
    ]
}

Метод /branches/country/ — список стран, в которых присутствуют отделения ПЭК

Доступ

  • Зарегистрированные пользователи

Комментарии

  • Выводится перечень стран, в которых присутствуют отделения ПЭК. Обращаем Ваше внимание, что перед началом интеграции процессов по перевозке между разными странами и внутри стран (кроме РФ) необходимо уточнить ограничения и правила перевозки между интересующими направлениям у Вашего менеджера ПЭК!

Формат запроса

// Пустой объект или пустой json
{
}

Формат ответа

[ // Список стран, в которых присутствует ПЭК [Array]
    { // Информация о стране [Object]
        "codeByClassifier": "051", // Код страны по общероссийскому классификатору [String]
        "name": "АРМЕНИЯ", // Наименование страны [String]
        "shortName": "AM" // Краткое наименование страны [String]
    },
    {
        "codeByClassifier": "112",
        "name": "БЕЛАРУСЬ",
        "shortName": "BY"
    },
    ...
]

Метод /branches/checknocalcservices/ — проверка возможности предоставления услуг, не проверяемых в методе расчета стоимости

Доступ

  • Зарегистрированные пользователи

Комментарии

  • Метод на текущий момент позволяет проверить только услуги Наложенный платеж: GUID = 739293fd-edc7-495d-9e56-6f61ad39bb8c и Выдача по СМС (упрощенная выдача): GUID = ffb40421-4761-11e8-80c9-00155d668927 по конкретному направлению перевозки.
  • Обращаем ваше внимание, что метод проверяет доступность услуг только по географии. Для проверки возможности использования данных услуг конкретными отправителями и их условия необходимо использовать метод /connecteddiscountsservicesagreements/.
  • На вход данного метода ожидается ID филиалов отправления и назначения, которые можно получить из метода расчета стоимости или из методов получения географии, при этом для отделений филиал необходимо брать из организационной структуры.

Формат запроса

{  
    "branchSenderId":"b473ce9f-dd68-44ea-a4b2-4cb63b6e970d",   // ID филиала отправления груза, см.комментарии к методу
    "branchReceiverId":"3211d5f7-9916-11ec-80d0-00155d66894c"  // ID филиала назначения груза, см. комментарии к методу
} 

Формат ответа

[
    {
        "specialCondition": {
            "UID": "739293fd-edc7-495d-9e56-6f61ad39bb8c", // Соглашение о Наложенном платеже UID [String]. Если есть в ответе, значит услуга "наложенный платеж" может оказываться для указанного направления. Но необходимо проверить еще ее подключение для конкретного контрагента. 
            "Title": "Наложенный платеж" // Наименование услуги [String]
        }
    },
    {
        "specialCondition": {
            "UID": "ffb40421-4761-11e8-80c9-00155d668927", // Выдача по СМС для физ.лиц (упрощенная выдача) UID [String]. Если есть в ответе, то услуга "Выдача по СМС" может быть заказана по выбранному направлению, с минимальным ограничением по объявленной стоимости (уточняйте актуальные ограничения на сайте ПЭК).
            "Title": "Упрощенная выдача"
        }
    }
]

Метод /branches/countrytypeidentitydocument/ — возвращает допустимые документы, удостоверяющие личность, для страны отправления/получения

Доступ

  • Зарегистрированные пользователи

Формат запроса

{
    "codeByClassifier": "643" // Код страны по общероссийскому классификатору [String].
                              // Можно получить методом /branches/country/
} 

Формат ответа

{
    "result": [
        {
            "guid": "b87bc99c-c4c2-11e7-80c9-00155d668927", // Уникальный идентификатор типа документа [String]
            "name": "Без предоставления документа",         // Наименование документа [String]
            "mask": {
                "series": null,
                "number": null
            }
        },
        {
            "guid": "229fbe79-34a4-11e6-b11a-00155d668909",
            "name": "Паспорт гражданина РФ",
            "mask": {
                "series": null,
                "number": null
            }
        },
        ...
    ]
}
Список филиалов