Appearance
Перемещение реферера
Метод переносит реферера из одной реферальной программы в другую. Реферальный код партнера при этом сохраняется: меняется только программа, к которой он привязан.
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 | Реферер уже состоит в целевой программе |