Для интеграции с другими сервисами и приложениями рекомендуем настроить интеграцию через Zapier.

Вы сможете передавать данные между сервисами без помощи программистов.

Вы можете изменить параметры существующего у вас в магазине продукта, формируя запрос к API сервиса программными методами.

За один вызов функции изменяется один продукт.

Запрос передаётся методом POST в формате URLencode на адрес: https://username.expertam.ru/api/UpdateGood

где username — это логин пользователя в системе, а так же его домен 3-его уровня в сервисе Expertam.

Параметры передаваемые в запросе

  • good_name — идентификатор существующего продукта (обязательно),
  • good_title — название продукта,
  • parent_id — ID категории, в которую добавится продукт, категория уже должна существовать,
  • good_sum — цена продукта в рублях, обязательное поле или запишется ноль
  • good_api_url_notif — URL для оповещений по api при оплате счета (подробнее в статье),
  • good_api_url_new_order — URL для оповещений по api при оформлении счёта (подробнее в статье),
  • good_success_link — URL после успешной оплаты, страница, на которую будет перенаправлен покупатель после успешной оплаты,
  • good_client_rassilki — идентификаторы групп через запятую, куда попадут покупатели после заказа, если таких групп нет — они будут созданы,
  • good_nalozh_only — (только для физического товара) высылать продукт наложенным платежом сразу после формирования заказа: 0 — нет, 1 — да
  • good_quickpost_article — артикул (идентификатор) товара в службе доставки QuickPost,
  • good_post_service — служба, которая занимается доставкой, возможные значения: none — доставляю сам, quickpost — QuickPost, rps — RussianPostService
  • good_only_countries — идентификаторы стран, куда возможна доставка продукта (через запятую, без пробелов!), если опущен — доставка без ограничений, идентификаторы можно посмотреть здесь.
  • good_download — Ссылка для скачивания продукта, если продукт физический, то возможно его цифровой копии,
  • good_mail_subject — заголовок письма, которое получит покупатель после оплаты,
  • good_mail_format — формат письма html или text,
  • good_mail_body — html-код письма, если выше выбран формат html,
  • good_mail_text — текстовый вариант письма после оплаты, если выше выбран формат text
  • good_partner_fee — сумма комиссионных партнёра первого уровня в рублях
  • good_partner_fee_perc — комиссионные партнёра первого уровня в % (процентах)
  • good_partner_pfee — сумма комиссионных партнёра второго уровняв рублях
  • good_partner_pfee_perc — комиссионные партнёра второго уровня в % (процентах)
  • good_partner_show — показывать ли этот продукт в рекламных материалах партнера? возможные значения: 0 — нет, 1 — да
  • good_partner_SL_link — URL страницы с описанием продукта (продающее письмо, Sales Letter),
  • good_partner_addition_link — URL страницы с дополнительными рекламными материалами
  • good_partner_text — информация для партнёров, короткая заметка про продукт, которая появится в рекламных материалах у партнера,
  • good_pay_text — html-код для страницы оплаты заказа, здесь возможно использование тегов: #IMAGE#, #PRODUCT#, #PRICE#, #USD#,
  • good_timer — ограничение по времени для оплаты заказа: 0 — нет, 1 — да
  • good_timer_unit — величина ограничения, возможные значения: min — в минутах, hour — в часах, day — в днях,
  • good_timer_duration — значение продолжительности ограничения, число определяющее сколько минут, дней или часов есть на оплату заказа,
  • good_use_short — использовать короткую ссылку для страницы заказа? 0 — нет, 1 — да,
  • good_rashod — расходы на изготовление и отправку продукта в рублях, для более точного ведения финансовой статистики,
  • good_rashod_perc — расходы в процентах от цены продукта (например налоги и т.д.),
  • good_publish — отображать продукт в каталоге продуктов: 0 — нет, 1 — да.

Обязательным полем является только: good_name. Остальные параметры запроса остаются на ваше усмотрение.

ID категории можно получить в магазине в «Категориях» в разделе редактирования продуктов.

Как работает

Вы передаёте ID продукта и настройки продукта, которые заместят уже существующие в функцию API UpdateGood.

В ответ на запрос ваша система получит результат выполнения функции. Ответ кодирован в формате JSON. Подробнее смотрите «Ответы API сервиса».

Пример на PHP изменения продукта

В примере изменяем настройки продукта с ID «super_tovar», логин в системе «username». Данные для замещения передаются по максимому, но можно передавать только те настройки, которые нужно изменить. Те, которые остаются прежними — передавать необязательно.

Функция GetHash — формирует подпись к передаваемым данным.

Функция CheckHash — проверяет подпись к ответу сервиса.

Оформление заказа

#IMAGE#

#PRODUCT#

#PRICE#

‘, // html-код для страницы оплаты заказа ‘good_timer’ => 1, // ограничение по времени для оплаты заказа: 0 — нет, 1 — да ‘good_timer_unit’ => ‘day’, // величина ограничения: ‘min’ — в минутах, ‘hour’ — в часах, ‘day’ — в днях ‘good_timer_duration’ => 2, // значение продолжительности ограничения (2 дня) ‘good_use_short’ => 0, // использовать короткую ссылку для страницы заказа? 0 — нет, 1 — да ‘good_rashod’ => 10, // расходы на изготовление и отправку продукта в рублях ‘good_rashod_perc’ => 6, // расходы в процентах от цены продукта (налоги и т.д.) ‘good_publish’ => 1, // отображать продукт в каталоге продуктов: 0 — нет, 1 — да ); // Формируем подпись к передаваемым данным $send_data[‘hash’] = GetHash($send_data, $user_rs); // Вызываем функцию изменения настроек продукта и декодируем полученные данные $resp = json_decode(Send(‘https://username.expertam.ru/api/UpdateGood’, $send_data)); // проверяем ответ сервиса if(!CheckHash($resp, $user_rs)){ echo «Ошибка! Подпись к ответу не верна!»; print_r($resp); exit; } if($resp->error_code == 0) echo «Продукт обновлён. Ответ сервиса: {$resp->error_text}»; else echo «Ошибка код:{$resp->error_code} — описание: {$resp->error_text}»; // =========== Функции отправки, получения и обработки ответа ============ // Отправляем запрос в API сервиса function Send($url, $data) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // выводим ответ в переменную $res = curl_exec($ch); curl_close($ch); return $res; } // Формируем подпись к передаваемым в API данным function GetHash($params, $user_rs) { $params = http_build_query($params); $user_id = $user_rs[‘user_id’]; $secret = $user_rs[‘user_rps_key’]; $params = «$params::$user_id::$secret»; return md5($params); } // Проверяем полученную подпись к ответу function CheckHash($resp, $user_rs) { $secret = $user_rs[‘user_rps_key’]; $code = $resp->error_code; $text = $resp->error_text; $hash = md5(«$code::$text::$secret»); if($hash == $resp->hash) return true; // подпись верна else return false; // подпись не верна }

Оценить статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 1,00 из 5)
Загрузка...