Клиентская документация по настройке интеграции через API.
Для вашего удобства информация по доступному функционалу разбита по разделам.
Для взаимодействия с сервисом требуется API токен.
Чтобы узнать свой API токен, необходимо зайти в раздел "Интеграция" в Личном кабинете
Далее при обращении к методам сервиса полученный токен передается в заголовке запроса в следующем виде:
Разделяет и помещает сущности переданных адресов (город, улица) в соответствующие поля возвращаемого объекта.
$client = new \GuzzleHttp\Client();
$url = 'https://lastauka.by/api/v1/address-clean';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'address' => 'eum',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); Метод предназначен для получения списка заказов.
ID транспортной компании.
Трек-номер Lastauka или список трек-номеров через запятую.
Трек-номер транспортной компании или список трек-номеров через запятую.
Количество заказов на странице (минимум 10, максимум 50).
$client = new \GuzzleHttp\Client();
$url = 'https://lastauka.by/api/v1/orders';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'filter[tc_id]' => '1',
'filter[track]' => 'la-1017',
'filter[tc_track]' => '19804910834123978',
'per_page' => '20',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
Метод предназначен для получения детальной информации по заданному заказу. Есть возможность получить информацию в том числе о заказах, которые были созданы через другие каналы (личный кабинет и др.).
Трек-номер посылки
$client = new \GuzzleHttp\Client();
$url = 'https://lastauka.by/api/v1/order/la-1017';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
Метод предназначен для создания в Lastauka заказа на доставку товаров до покупателей.
$client = new \GuzzleHttp\Client();
$url = 'https://lastauka.by/api/v1/orders';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'dimension' => [
'weight' => 12.5,
'length' => 10.0,
'width' => 10.0,
'height' => 10.0,
],
'delivery_type_id' => 1,
'tc_id' => 1,
'declared_value' => 100.0,
'address_to' => [
'country' => 'Россия',
'region' => 'Московская область',
'city' => 'Москва',
'street' => 'Авангардная',
'room' => '1',
'floor' => '1',
'house' => '9',
'corpus' => null,
'district' => null,
'entrance' => null,
'value' => 'Россия, Московская область, Москва, ул. Авангардная д. 9',
],
'recipient' => [
'email' => 'exmail@example.com',
'phone' => '+7 809 111 11 11',
'last_name' => 'Иванов',
'first_name' => 'Иван',
'patronymic_name' => 'Иванович',
],
'address_from' => [
'city' => 'Брест',
'room' => '1',
'floor' => '1',
'house' => '9',
'corpus' => null,
'region' => 'Брестская область',
'street' => 'Буденного',
'district' => null,
'entrance' => null,
'country' => 'Беларусь',
],
'sender' => [
'email' => 'exmail@example.com',
'first_name' => 'Иван',
'last_name' => 'Иванов',
'patronymic_name' => 'Иванович',
'phone' => '+375 29 111 11 11',
],
'extraServices' => [
'completeness_checking' => false,
'sms_notice_recipient' => false,
'fitting' => false,
'recipient_pay' => false,
],
'order_num' => '12345',
'comment' => 'Очень важная информация',
'cod_value' => 100.0,
'point_id' => 5,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); Метод предназначен для удаления заказа.
ID заказа в системе Lastauka
$client = new \GuzzleHttp\Client();
$url = 'https://lastauka.by/api/v1/orders/129';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); Метод предназначен для создания в Lastauka заявки на первую милю.
$client = new \GuzzleHttp\Client();
$url = 'https://lastauka.by/api/v1/first-mile';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'dimension' => [
'weight' => 12.5,
'height' => 10.0,
'length' => 10.0,
'width' => 10.0,
],
'address_to' => [
'value' => 'Россия, Смоленская область, Смоленск, ул. Авиаторов д. 9',
'city' => 'Смоленск',
'room' => '1',
'floor' => '1',
'house' => '9',
'corpus' => null,
'region' => 'Смоленская область',
'street' => 'Авиаторов',
'district' => null,
'entrance' => null,
'country' => 'Россия',
],
'recipient' => [
'email' => 'exmail@example.com',
'phone' => '+7 809 111 11 11',
'last_name' => 'Иванов',
'first_name' => 'Иван',
'patronymic_name' => 'Иванович',
'legal_address' => 'Смоленск ул. Авиаторов д. 9',
'organization_name' => 'ООО "Организация"',
],
'address_from' => [
'city' => 'Брест',
'room' => '1',
'floor' => '1',
'house' => '9',
'corpus' => null,
'region' => 'Брестская область',
'street' => 'Буденного',
'district' => null,
'entrance' => null,
'country' => 'Беларусь',
],
'sender' => [
'first_name' => 'Иван',
'last_name' => 'Иванов',
'patronymic_name' => 'Иванович',
'phone' => '+375 29 111 11 11',
'email' => 'exmail@example.com',
],
'legal_data' => [
'legal_address' => 'Брест ул. Буденного д. 9',
'organization_name' => 'ООО "Организация"',
'mailing_address' => 'email@ya.ru',
'unp' => '123456789',
'payment_account' => '0000000000000000000000000000',
'recipient_bank' => 'ОАО "Банк"',
'bic' => '123456789',
'director' => 'Иванов Иван Иванович',
],
'extra_data' => [
'count_places' => 10.0,
],
'comment' => 'Очень важная информация',
'declared_value' => 100.0,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); Метод предназначен для получения детальной информации о заявке на первую милю. Есть возможность получить информацию в том числе о заказах, которые были созданы через другие каналы (личный кабинет и др.).
Трек-номер посылки
$client = new \GuzzleHttp\Client();
$url = 'https://lastauka.by/api/v1/first-mile/la-1017';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
Метод предназначен для удаления заявки на первую милю.
Трек-номер посылки
$client = new \GuzzleHttp\Client();
$url = 'https://lastauka.by/api/v1/first-mile/la-1017';
$response = $client->delete(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); Позволяет получить информацию о всех отделениях. Список отделений может быть ограничен характеристиками, задаваемыми пользователем.
Текущая страница.
Количество элементов на странице (Минимум 100, максимум 1000, по умолчанию 100).
Тип отделения. Example: 1
1 - Отделение почтовой связи
2 - Пункт выдачи
3 - Постамат
4 - Касса
ID транспортной компании. Example: 1
1 - Почтра России
6 - FivePost
7 - DPD
ID города.
$client = new \GuzzleHttp\Client();
$url = 'https://lastauka.by/api/v1/points';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '1',
'per_page' => '100',
'filter[type_id]' => '1',
'filter[tc_id]' => '1',
'filter[city_id]' => '1',
],
'json' => [
'filter' => [
'city_id' => 13,
'type_id' => 4,
'tc_id' => '7',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
Позволяет получить список населенных пунктов, в которых есть отделения транспортных компаний. Список населенных пунктов может быть ограничен характеристиками, задаваемыми пользователем.
Текущая страница.
Количество элементов на странице (Минимум 100, максимум 1000, по умолчанию 100).
ID транспортной компании. Example: 1
1 - Почтра России
2 - Boxberry
6 - FivePost
7 - DPD
$client = new \GuzzleHttp\Client();
$url = 'https://lastauka.by/api/v1/cities';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'page' => '1',
'per_page' => '100',
'filter[tc_id]' => '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body)); cache-control
: no-cache, private
content-type
: application/json
vary
: Origin
{
"message": "Unauthenticated."
}
Метод позволяет получить список тарифов(стоимость и срок доставки), транспортных компаний, для указанного адреса. Стоимость приблизительна и может отличаться от реальной стоимости доставки. Для получения более точной стоимости доставки необходимо использовать метод "Расчет стоимости доставки".
$client = new \GuzzleHttp\Client();
$url = 'https://lastauka.by/api/v1/tariff/list';
$response = $client->post(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'dimension' => [
'weight' => 12.5,
'length' => 10.0,
'width' => 10.0,
'height' => 10.0,
],
'address_to' => [
'value' => 'Россия, Московская область, Москва, ул. Авангардная д. 9',
'city' => 'Москва',
'room' => '1',
'floor' => '1',
'house' => '9',
'corpus' => null,
'region' => 'Московская область',
'street' => 'Авангардная',
'district' => null,
'entrance' => null,
'country' => 'Россия',
'city_id' => 1,
],
'cod_value' => 100.0,
'declared_value' => 100.0,
'extra' => [
'fitting' => true,
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));