Задать вопрос
  • PHP кто то писал модуль интеграции со СДЭК?

    Думаю, что нужно по теме написать, что для интеграции(в том числе для калькуляции по ряду тарифов) необходимо иметь договор с СДЕК. Логина и пароля в ЛК не достаточно для интеграции, получив логин и пароль от ЛК СДЕК далее требуется написать на почту integrator@cdek.ru с почты указанной в договоре, в письме указать свой логин в ЛК СДЕК и попросить выдать секретные данные для интеграции интернет магазина с API СДЕК. Если у Вас секретных данных для API нет, то от библиотек толку особо не будет.

    Без секретных данных можно считать например на тарифе с Id=1.

    ______________________________________________________________________________________
    Пример если собираетесь написать свою библиотеку ниже
    ______________________________________________________________________________________
    Вот пример объекта JSON(в виде строки) для запроса:

    $query = '{"version":"1.0","dateExecute":"' . date("Y-m-d",time()+5500000) . '","senderCityId":"164","receiverCityId":"44","currency":"RUB","tariffList":[{"id":1}],"goods":[{"weight":"15","length":"40","width":"50","height":"60"}]}';

    В авторизованном режиме так же требуется добавить в запрос "authLogin":"ЛогинВСДЕК" и "secure":"СекретныйКлючь" перед версией.

    Эта информация пересылается по HTTPS на api.cdek.ru/calculator/calculate_tarifflist.php с обязательным указанием заголовка запроса Content-Type: application/json;charset=utf-8 (я использовал curl)

    В ответ получаем объект в виде строки JSON, var_dump которого выглядит следующим образом:

    object(stdClass)#4 (1) { ["result"]=> array(1) { [0]=> object(stdClass)#2 (3) { ["tariffId"]=> int(1) ["status"]=> bool(true) ["result"]=> object(stdClass)#3 (6) { ["price"]=> string(4) "2210" ["deliveryPeriodMin"]=> int(1) ["deliveryPeriodMax"]=> int(1) ["tariffId"]=> int(1) ["priceByCurrency"]=> int(2210) ["currency"]=> string(3) "RUB" } } } }
    Ответ написан
    Комментировать