Интеграция на WP

Андрей13 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
18.02.2021

Схема интеграции: 

1. При переходе пользователя с кэшбэк-сервиса https://switips.com(далее

«Сервис») в интернет-магазин партнера (далее «ИМ») в запросе будет передан

GET-параметром уникальный идентификатор пользователя (uid). Этот uid

необходимо сохранить любым доступным способом (сессия, cookies, внутреннее

хранилище и т.п.).

2. При оформлении заказа сохраненный uid необходимо связать со вновь

сформированным заказом.

3. При любом изменении заказа (создание, оплата, отмена, подтверждение) сервер

ИМ должен выполнить GET-запрос на сервер Сервиса по адресу

https://backend.switips.com/rest/partner/track, сформированный по правилам

описанным ниже.

4. Сервер ИМ должен получить и обработать ответ сервера Сервиса и убедиться,

что запрос п.3 обработан сервером Сервиса.

ПРАВИЛА ФОРМИРОВАНИЯ ЗАПРОСОВ

{merchant_id} – идентификатор интернет-магазина. Присваивается компанией и

остается статичным.

{user_id} – уникальный идентификатор пользователя Компании, который сделал

заказ (uid).

{campaign_id} – идентификатор акции или специального предложения для

покупателей, по которым необходимо получать конверсию.

{category_id} – идентификатор категорий групп товаров, по которым ставки

агентского вознаграждения различаются.

{transaction_id} – номер заказа. Параметр генерируется на стороне ИМ и должен

быть уникальным для каждого заказа.

{transaction_amount} – сумма заказа в национальной валюте (десятичная дробь,

разделитель – точка. Точность – 2 знака после точки).

{currency} – валюта, в которой сформирован заказ (трехсимвольный формат,

например RUB).

{transaction_amount_currency} – сумма заказа в валюте заказа (десятичная

дробь, разделитель – точка. Точность – 2 знака после точки).

{tt_date} – Дата и время заказа (формат: yyyy-MM-ddTHH:mm:ssXXX; 24-х часовой

формат времени, месяца/дни/часы/минуты/секунды с ведущими нулями, между

датой и временем латинская буква T. В конце указывается часовой пояс. Пример:

“2019-07-08T14:01:59+03:00”)

{stat} – статус заказа (возможные варианты: new/paid/canceled/confirmed

соответственно: создан/оплачен/отменен/подтвержден).

{hash} – контрольная сумма. Вычисляется как контрольная строка, зашифрованная

по необратимому алгоритму MD5.

Контрольная строка формируется объединением значений параметров:

{merchant_id}::{user_id}::{campaign_id}::{category_id}::{transaction_id}::{transaction_a

mount}::{currency}::{transaction_amount_currency}::{tt_date}::{stat}::{secret_key}, где

secret_key - выдается компанией и остается статичным.

ПРИМЕР ФОРМИРОВАНИЯ ЗАПРОСА

Исходные данные:

{merchant_id} - 123

{user_id} - WP0000000001

{campaign_id} - 0

{category_id} - 0

{transaction_id} - 345678

{transaction_amount} - 1000.00

{currency} - RUB

{transaction_amount_currency} - 1000.00

{tt_date} - 2019-07-08T14:01:59+03:00

{stat} - new

{secret_key} - asdfg7afds98gf8gsd7fg7sdf98g7sdf98g7sdbv8sgb9sd6g75s4dfgb76sd

Формируем контрольную строку:

123::WP0000000001::0::0::345678::1000.00::RUB::1000.00::2019-07-

08T14:01:59+03:00::new::asdfg7afds98gf8gsd7fg7sdf98g7sdf98g7sdbv8sgb9sd6g75s4

dfgb76sd

md5-хеш контрольной строки: 99f69b305de5357f344d5ced2117d485

*все параметры в запросе должны быть urlencoded, например параметр tt_date в

контрольной строке = 2019-07-08T14:01:59+03:00, тогда в запросе после

кодирования вид будет следующий:

2019-10-2019-07-08T14%3A01%3A59%2B03%3A00

Итоговый запрос:

https://backend.switips.com/rest/partner/track?merchant_id=123&user_id=WP00000000

01&campaign_id=0&category_id=0&transaction_id=345678&transaction_amount=1000.

00¤cy=RUB&transaction_amount_currency=1000.00&tt_date=2019-07-

08T14%3A01%3A59%2B03%3A00&stat=new&hash=99f69b305de5357f344d5ced2117

d485

Возможные ответы сервера:

{status: "ok"} - запрос обработан;

{status: "error", error: "текст ошибки"} - обнаружена ошибка

Заявки фрилансеров