Работа с сущностью "Пункт выдачи заказов (ПВЗ)"

Изменено Пт, 18 Ноя, 2022 на 10:51 AM


Получить информацию о ПВЗ


Route: https://cdek.orderadmin.ru/api/delivery-services/service-points/<point_id>
Method: GET
Headers: Accept: application/json
Authorization: basic



Пример запроса (PHP):

<?php

$url = 'https://cdek.orderadmin.ru/api/delivery-services/service-points/229031';
$headers = [
    'Accept: application/json'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, '<user>:<password>');
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data);



Пример запроса (curl):

curl -X GET \
-u "<user>:<password>" \
-H "Accept: application/json" \
"https://cdek.orderadmin.ru/api/delivery-services/service-points/229031"



Пример запроса (Python):

import requests

api_url = 'https://cdek.orderadmin.ru/api/delivery-services/service-points/229031'
result = requests.get(api_url, auth=(
    '<user>', 
    '<password>'
))
print(result.json())



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

{
    "id": 229031,
    "state": "active",
    "type": "service_point",
    "name": "На Варшавском шоссе 132/2",
    "extId": "MSK564",
    "geo": "SRID=4326;POINT(37.608849 55.620128)",
    "limits": null,
    "rawAddress": "Россия, Москва, Москва, Варшавское шоссе, вл. 132/2",
    "rawPhone": "",
    "rawTimetable": "Пн-Пт 10:00-20:00, Сб-Вс 10:00-18:00",
    "rawDescription": "Россия, Москва, Москва, Варшавское шоссе, вл. 132/2",
    "raw": {
        "city": "Москва",
        "code": "MSK564",
        "name": "На Варшавском шоссе 132/2",
        "note": "ТЦ Радиокомплекс Южный,1 этаж, вход через центральную дверь(она одна) направо и до конца сразу с права будет ПВЗ)павильон П7/1",
        "site": "",
        "type": "PVZ",
        "email": "",
        "phone": "",
        "coordX": "37.608849",
        "coordY": "55.620128",
        "status": "ACTIVE",
        "address": "Варшавское шоссе, вл. 132/2",
        "workTime": "Пн-Пт 10:00-20:00, Сб-Вс 10:00-18:00",
        "regionName": "Москва",
        "countryCode": "1",
        "countryName": "Россия",
        "fullAddress": "Россия, Москва, Москва, Варшавское шоссе, вл. 132/2",
        "metroStation": "Южная",
        "workTimeYList": [
            {
                "day": "1",
                "periods": "10:00/20:00"
            }
            /* 1 -7 days */
        ],
        "addressComment": "ТЦ Радиокомплекс Южный,1 этаж, вход через центральную дверь(она одна) направо и до конца сразу с права будет ПВЗ)павильон П7/1",
        "countryCodeIso": "RU",
        "isDressingRoom": true,
        "nearestStation": "Южная"
    },
    "_embedded": {
        "deliveryService": {
            "id": 1,
            "name": "Cdek",
            "extId": "cdek"
        },
        "country": {/* Связанный объект "Страна" */},
        "locality": {/* Связанный объект "Населенный пункт" */}
    },
    "_links": {
        "self": {
            "href": "https://cdek.orderadmin.ru/api/delivery-services/service-points/229031"
        }
    }
}



Описание полей ответа:

Поле
Описание
id
Уникальный идентификатор объекта
state
Активный или закрыт
rawAddress
Адрес
rawTimetable
Время работы
raw.*
Детализация местаположения
_embedded.deliveryService
Информация о службе доставки
_embedded.country
Информация о стране
_embedded.locality
Информация о населенном пункте





Получить список ПВЗ


Route: https://cdek.orderadmin.ru/api/delivery-services/service-points
Method: GET
Headers: Accept: application/json
Authorization: basic



Внимание, количество пунктов выдачи очень большое (более 180 000), поэтому рекомендуется использовать поисковые запросы.



Пример запроса (PHP):

<?php

$url = 'https://cdek.orderadmin.ru/api/delivery-services/service-points';
$headers = [
    'Accept: application/json'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, '<user>:<password>');
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($data);



Пример запроса (curl):

curl -X GET \
-u "<user>:<password>" \
-H "Accept: application/json" \
"https://cdek.orderadmin.ru/api/delivery-services/service-points"



Пример запроса (Python):

import requests

api_url = 'https://cdek.orderadmin.ru/api/delivery-services/service-points'
result = requests.get(api_url, auth=(
    '<user>', 
    '<password>'
))
print(result.json())



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

{
    "_links": {
        "self": {
            "href": "https://cdek.orderadmin.ru/api/delivery-services/service-points?page=1"
        },
        "first": {
            "href": "https://cdek.orderadmin.ru/api/delivery-services/service-points"
        },
        "last": {
            "href": "https://cdek.orderadmin.ru/api/delivery-services/service-points?page=7228"
        },
        "next": {
            "href": "https://cdek.orderadmin.ru/api/delivery-services/service-points?page=2"
        }
    },
    "_embedded": {
        "servicePoints": [
            /* Массив объектов servicePoints */
        ]
    },
    "page_count": 7228,
    "page_size": 25,
    "total_items": 180696,
    "page": 1
}





Поиск ПВЗ



Поиск ПВЗ по коду Сдэк:

https://cdek.orderadmin.ru/api/delivery-services/service-points?filter[0][type]=eq&filter[0][field]=extId&filter[0][value]=<код_сдэк>



Поиск ПВЗ по коду населенного пункта:

https://cdek.orderadmin.ru/api/delivery-services/service-points?filter[0][type]=eq&filter[0][field]=locality&filter[0][value]=<id_населенного пункта>



Список с фильтром  по стране (только ПВЗ в России):

https://cdek.orderadmin.ru/api/delivery-services/service-points?filter[0][type]=eq&filter[0][field]=country&filter[0][value]=28


Список с фильтром  по службе доставки  (только ПВЗ Сдэк):

https://cdek.orderadmin.ru/api/delivery-services/service-points?filter[0][type]=eq&filter[0][field]=deliveryService&filter[0][value]=1




Статья помогла?

Отлично!

Спасибо за ваш отзыв

Извините, что не удалось помочь!

Спасибо за ваш отзыв

Расскажите, как мы можем улучшить эту статью!

Выберите хотя бы одну причину
Требуется проверка CAPTCHA.

Комментарий отправлен

Мы ценим вашу помощь и постараемся исправить статью