PyCDEK
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ API ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π‘ΠΠΠ.
ΠΠ°Π·Π° Π³ΠΎΡΠΎΠ΄ΠΎΠ², ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΡΠΈΡΠΎΠ² ΠΈ Π΄ΠΎΠΊΡΠ΅Π½ΡΠ°ΡΠΈΡ API Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅: http://www.edostavka.ru/website/edostavka/upload/custom/files/CDEK_integrator.zip
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°:
pip install pycdek
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
ΠΠ΅ΡΠΎΠ΄Ρ Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ Π»ΠΎΠ³ΠΈΠ½Π° ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ:
from pycdek import Client
MOSCOW_ID = 44
SP_ID = 137
# ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ½ΠΊΡΠΎΠ² ΡΠ°ΠΌΠΎΠ²ΡΠ²ΠΎΠ·Π° Π² ΠΠΎΡΠΊΠ²Π΅
for point in Client.get_delivery_points(MOSCOW_ID):
print point['Code'], point['Address']
# ΡΠ°ΡΡΠ΅Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΠΎΡΠΊΠ²Π° - Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΡΠ»ΠΊΠΈ Π²Π΅ΡΠΎΠΌ 1ΠΊΠ³ ΠΈ Π³Π°Π±Π°ΡΠΈΡΠ°ΠΌΠΈ (ΡΠΌ) 50x10x20
tariffs = [5, 10, 15, 62, 63, 136] # ΡΠ°ΡΠΈΡΡ ΡΠΊΠ»Π°Π΄-ΡΠΊΠ»Π°Π΄ (ΡΠ°ΠΌΠΎΠ²ΡΠ²ΠΎΠ·)
print Client.get_shipping_cost(MOSCOW_ID, SP_ID, tariffs, goods=[{'weight': 1, 'length': 50, 'width': 10, 'height': 20}])
# ΡΠ°ΡΡΠ΅Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ - ΠΠΎΡΠΊΠ²Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΡΠ»ΠΊΠΈ Π²Π΅ΡΠΎΠΌ 2ΠΊΠ³ ΠΈ Π³Π°Π±Π°ΡΠΈΡΠ°ΠΌΠΈ (ΡΠΌ) 100x10x20
tariffs = [11, 16, 137] # ΡΠ°ΡΠΈΡΡ ΡΠΊΠ»Π°Π΄-Π΄Π²Π΅ΡΡ (Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΊΡΡΡΠ΅ΡΠΎΠΌ)
print Client.get_shipping_cost(SP_ID, MOSCOW_ID, tariffs, goods=[{'weight': 2, 'length': 100, 'width': 10, 'height': 20}])
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΡΠ΅Π±ΡΡΡΠΈΡ Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Django ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΠ°ΠΉΠ»Π΅ example.py (ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΠ½Π° ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ Ρ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ).