Использование

Трекинг

Документация API Трекинга

from pochta import Tracking

tracking = Tracking('login', 'password')

history = tracking.get_history('barcode')
print(history)

Отправка

Документация API Отправки

Создание отправления

from pochta import Delivery
from pochta.enums import AddressType, TransportType
from pochta.helpers import Order

delivery = Delivery('login', 'password', 'token')

order = Order(
    mass=1000,
    order_num='af134qrw124gva',
    fragile=True,
)
order.set_address(
    address_type_to=AddressType.DEFAULT,
    house_to='37',
    index_to=117105,
    mail_direct=643,
    place_to='г Москва',
    postoffice_code=101000,
    region_to='г Москва',
    street_to='ш Варшавское',
    transport_type=TransportType.SURFACE,
)
order.set_recipient(
    given_name='Иван',
    surname='Иванов',
    middle_name='Иванович',
    tel_address=79459562067,
)
order.set_dimensions(
    height=3,
    length=9,
    width=73,
)

new_shipments = delivery.orders.create_order([order])
new_batch = delivery.batches.create_batch(new_shipments['result_ids'][0])

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

from pochta import Delivery
from pochta.enums import MailCategory, MailType

delivery = Delivery('login', 'password', 'token')
calc_result = delivery.nogroup.calc_delivery_rate(
    index_from='680000', # Индексы ОПС указанные в ЛК
    index_to='644015',
    mail_category=MailCategory.ORDINARY,
    mail_type=MailType.POSTAL_PARCEL,
    mass=1000,
    height=2,
    length=5,
    width=197,
    fragile=True,
)

Нормализация адреса

from pochta import Delivery
from pochta.helpers import Address

delivery = Delivery('login', 'password', 'token')

result = delivery.nogroup.address_normalization([
    Address("Москва, Варшавское шоссе, 37"),
    Address("ул. Мясницкая, д. 26, г. Москва, 1")
])

Нормализация ФИО

from pochta import Delivery
from pochta.helpers import Name

delivery = Delivery('login', 'password', 'token')

result = delivery.nogroup.fio_normalization([Name('Иван Иванов Иванович')])

Нормализация телефона

from pochta import Delivery
from pochta.helpers import Phone

delivery = Delivery('login', 'password', 'token')

phone_1 = Phone('+79999999999')
phone_2 = Phone('+79099999999')
# ID необходим для установления нужного номера из ответа API если номеров несколько
phone_1_id = phone_1.id
print(delivery.nogroup.phone_normalization([phone_1, phone_2]))

Проверка благонадежности получателя

from pochta import Delivery
from pochta.helpers import Recipient

delivery = Delivery('login', 'password', 'token')

recipient = Recipient(
    address='Москва, ул. Пушкина 1, 1',
    full_name='Иванов Иван Иванович',
    phone='+79999999999',
)

print(delivery.nogroup.check_reliability([recipient]))

Получение баланса

from pochta import Delivery

delivery = Delivery('login', 'password', 'token')

print(delivery.nogroup.counterpart_balance)