Skip to content

Перемещение реферера ​

Метод переносит реферера из одной реферальной программы в другую. Реферальный код партнера при этом сохраняется: меняется только программа, к которой он привязан.

POST https://api.rees46.ru/loyalty/referral/move/:identifier

Параметры ​

ПараметрОбязателен?Описание
identifierДаИдентификатор реферера, передается в пути запроса
shop_idДаAPI-ключ
shop_secretДаСекретный ключ API
source_referral_program_idДаИдентификатор программы, из которой перемещается реферер
target_referral_program_idДаИдентификатор программы, в которую перемещается реферер

Как работает перемещение ​

Каждое перемещение задается парой программ «откуда — куда», поэтому оба идентификатора обязательны и должны отличаться друг от друга.

Требования к программам:

  • исходная программа не должна быть в архиве — переместить реферера можно в том числе из неактивной программы;
  • целевая программа должна быть активной;
  • реферер должен состоять в исходной программе;
  • реферер не должен уже состоять в целевой программе — в рамках реферальной системы у партнера не может быть двух кодов одновременно в разных программах.

После успешного перемещения:

  • реферер пропадает из списка участников исходной программы и появляется в целевой с прежним кодом;
  • факт перемещения сохраняется в журнале событий клиента с датой, временем и парой программ;
  • формируется событие referral_move, по которому можно настроить уведомление реферера в цепочках.

TIP

Код реферера не пересоздается, поэтому ранее выданные ссылки и промокоды продолжают работать. Статистика программ и реферера по уже совершенным заказам не меняется: в заказе сохраняется идентификатор реферера и та программа, по которой заказ был оформлен.

Запрос ​

Пример запроса:

shell
curl --header "Content-Type: application/json" \
  --request POST \
  --data-binary "@payload.json" \
  https://api.rees46.ru/loyalty/referral/move/79000000000

Пример JSON-тела:

json
{
    "shop_id": "...",
    "shop_secret": "...",
    "source_referral_program_id": 1,
    "target_referral_program_id": 4
}

Ответ ​

Пример ответа сервера:

json
{
  "status": "success",
  "payload": {
    "message": "Success",
    "identifier": "79000000000",
    "code": "dsc-abc-xyz",
    "source_referral_program_id": 1,
    "target_referral_program_id": 4
  }
}

Расшифровка ответа:

ПараметрОписание
statusЗапрос выполнен успешно или нет
payload.messageСообщение с результатом обработки запроса
payload.identifierИдентификатор реферера
payload.codeКод реферера, сохраненный при перемещении
payload.source_referral_program_idИдентификатор программы, из которой перемещен реферер
payload.target_referral_program_idИдентификатор программы, в которую перемещен реферер

В случае ошибки ответ будет в формате:

json
{
  "status": "error",
  "payload": {
    "message": "The user is not a member of the source referral program"
  }
}

Возможные ошибки:

СообщениеПричина
Parameters source_referral_program_id and target_referral_program_id are requiredНе передан один из идентификаторов программ
Parameters source_referral_program_id and target_referral_program_id must be differentПереданы одинаковые идентификаторы программ
Source referral program is not foundИсходная программа не найдена или находится в архиве
Active target referral program is not foundЦелевая программа не найдена или неактивна
The user is not a member of the source referral programРеферер не состоит в исходной программе
The user is already a member of the target referral programРеферер уже состоит в целевой программе