Создание кампании (campaigns/create)
Метод создает новую кампанию.
- Кампания отправляется на проверку: переходит в статус
moderation
. - После проверки статус кампании меняется (об этом сообщает модератор):
verified
— всё в порядке, кампанию можно запустить (campaigns/start) или она запустится по расписанию (если указанcampaignStart
).declined
— необходимо внести правки: вызвать метод campaigns/update с новыми данными и тем жеpartnerCampaignId
.
- Кампания запускается: статус меняется на
started
.
Для кампаний с пин-кодами (
campaignType=codeOnline
или campaignType=codeOffline
): кампания не запустится, если у нее нет пин-кодов, и остановится, если пин-коды закончатся (перейдет в статус pin-required
). В этом случае пин-коды нужно загрузить (с помощью метода campaigns/add-pins).Повторное создание кампании (вызов campaigns/update) с тем же
partnerCampaignId
обновляет данные об этой кампании, останавливает ее и отправляет на модерацию.Запрос
Адрес для отправки запроса
POST https://yoomoney.ru/api/offerwall/v1/campaigns/create
Параметры
Параметр | Тип | Описание |
---|---|---|
partnerCampaignId | int | Идентификатор кампании. Уникальный для системы агрегатора или магазина. Обязательный параметр |
categoryId | int | Идентификатор категории ваших товаров для этой кампании по справочнику в сервисе ЮMoney. Справочник можно получить в ответ на вызов categories/get. Обязательный параметр |
campaignType | enum | Тип кампании (способ получения бонуса). Возможные значения:
Обязательный параметр |
campaignStart | datetime | Дата старта кампании. Если не задан:
Необязательный параметр |
campaignEnd | datetime | Дата, с которой кампания не показывается пользователям. Если не задан, можно остановить кампанию вызовом метода campaigns/stop. Необязательный параметр |
offerDuration | int | Срок в часах, в течение которого пользователь может использовать сохраненный оффер. По умолчанию 2 недели (366 часов). Задать другой срок можно в параметре offerEnd .После того, как кампания заканчивается (если срок задан в campaignEnd ), выданные офферы будут действовать еще две недели — или в течение срока, заданного в offerDuration . Магазину необходимо это учитывать и выдавать пользователям бонусы.Необязательный параметр |
pinType | enum | Тип пин-кода. Возможные значения:
Обязательный, если campaignType=codeOnline или campaignType=codeOffline |
pinDisplayType | string | Способы отображения пин-кода. Возможные значения:
Обязательный, если campaignType=codeOnline или campaignType=codeOffline |
couponCode | string | Значение пин-кода. С его помощью пользователь сможет получить скидку в магазине. Передается для кампаний с пин-кодами. Передается для товаров с многоразовыми пин-кодами. Обязательный, если:
|
acceptUrl | string | Меченая ссылка, по которой пользователь может получить бонус (используется вместо пин-кода или вместе с ним). По умолчанию к ссылке сервис ЮMoney добавляют идентификатор клика ( clickId ), который вам необходимо анализировать. Вы можете добавлять в ссылку параметры по шаблону. Как формировать ссылкуОбязательный, если campaignType=promo или campaignType=codeOnline |
merchantDomain | string | Адрес сайта магазина без http , www и / .Пример: example.com Обязательный параметр |
merchantLogoSvg | varchar (300) | Ссылка на логотип магазина:
Используется для показа на веб-страницах. Обязательный параметр |
merchantLogoPng | varchar (300) | Ссылка на логотип магазина на прозрачном фоне:
Используется для показа на веб-страницах. Обязательный параметр |
merchantName | varchar (300) | Название магазина. Обязательный параметр |
backgroundColor | varchar (30) | Цвет фона в формате #HEX (не белый и не светлый). Обязательный параметр |
backgroundImage | string | Фоновое изображение:
Если поле не заполнено, на фоне будет изображение, подходящее к категории этого оффера. Необязательный параметр |
fontColor | varchar (30) | Цвет шрифта в формате #HEX (контрастный фону). Обязательный параметр |
description | varchar (90) | Описание акции на русском языке. Пример: Скидка на товары для детей в магазине «Солнышко» Обязательный параметр |
conditions | varchar (512) | Условия получения бонуса на русском языке. Пример: Промокод действует 10 дней при заказе от 4000 рублей на сайте example.com. Его можно использовать один раз. Обязательный параметр |
discountType | varchar (30) | Тип скидки или бонуса. Возможные значения:
Обязательный параметр |
discountAmount | varchar (30) | Размер скидки или описание бонуса. Если в discountType передано значение text , описание бонуса должно быть на русском языке.Обязательный параметр |
discountCurrency | CurrencyCode | Код валюты скидки. Значение по умолчанию: 643 (рубль РФ).Для скидки на определенную сумму ( discountType=fix ) можно задать другое значение: 840 (доллары США).Необязательный параметр |
campaignFee | varchar (30) | Размер вознаграждения ЮMoney по данной кампании. Сумма в рублях или долларах. Обязательно передается что-то одно: либо размер вознаграждения ( campaignFee ), либо его минимум и максимум (campaignFeeMin и campaignFeeMax ). |
campaignFeeMin | varchar (30) | Минимальный размер вознаграждения ЮMoney. Необязательный параметр |
campaignFeeMax | varchar (30) | Максимальный размер вознаграждения ЮMoney. Необязательный параметр |
feeType | varchar (30) | Тип вознаграждения ЮMoney по данной кампании. Возможные значения:
Обязательный параметр |
feeCurrency | CurrencyCode | Код валюты вознаграждения ЮMoney.
Необязательный параметр |
supportedPlatforms | varchar (300) | Позволяет показывать офферы только на определенных платформах. Возможные значения:
Необязательный параметр |
cashbackType | enum | Для компаний с кэшбэком: тип кэшбэка, который приходит в кошелек пользователя. Возможные значения:
Необязательный параметр |
cashbackConfirmTime | long | Для компаний с кэшбэком: срок, в течение которого необходимо подтвердить использование оффера с помощью метода campaigns/redeem и начислить кэшбэк. Количество дней, целое число. Необязательный параметр |
Размер скидки описывается тремя переменными:
discountType
, discountAmount
и discountCurrency
. Например:- скидка 10%:
discount_type=percent, discount_amount=10
; - скидка 500 рублей:
discount_type=fix, discount_amount=500; currency=643
; - подарок за покупку:
discount_type=text, discount_amount="Подарок"
.
Пример тела запроса
JSON
{ "backgroundColor": "#ffffff", "campaignEnd": "2017-12-31T23:59:59+03:30", "campaignType": "code", "campaignFee": "1000", "categoryId": 39, "conditions": "Бонус действует 10 дней при заказе от 4000 рублей на сайте example.com", "description": "Скидка на деньги на сайте ЮMoney", "discountAmount": "100", "discountCurrency": 643, "discountType": "text", "feeType": "fix", "fontColor": "#000000", "merchantDomain": "example.com", "merchantLogoPng": "https://example.com/i/logo.png", "merchantLogoSvg": "https://example.com/i/logo.svg", "merchantName": "Магазин", "partnerCampaignId": 20, "pinType": "one-off" }
Пример запроса
cURL
curl -X POST \ --header 'Content-Type: application/json' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <авторизационный токен>' -d '{ "backgroundColor": "#ffffff", "campaignEnd": "2017-12-31T23:59:59+03:30", "campaignType": "code", "campaignFee": "1000", "categoryId": 39, "conditions": "Бонус действует 10 дней при заказе от 4000 рублей на сайте example.com", "description": "Скидка на деньги на сайте ЮMoney", "discountAmount": "100", "discountCurrency": 643, "discountType": "text", "feeType": "fix", "fontColor": "#000000", "merchantDomain": "example.com", "merchantLogoPng": "https://example.com/i/logo.png", "merchantLogoSvg": "https://example.com/i/logo.svg", "merchantName": "Магазин", "partnerCampaignId": 20, "pinType": "one-off" }' 'https://yoomoney.ru/api/offerwall/v1/campaigns/create'
Ответ
Параметры
Параметр | Тип | Описание |
---|---|---|
ymCampaignId | int | Уникальный идентификатор кампании в сервисе ЮMoney. Используется во всех последующих запросах. |
campaignStatus | enum | Статус кампании. Возможные значения:
|
Ошибки
Код ошибки | Значение | Описание |
---|---|---|
incorrectData | Некорректные данные | В запросе переданы некорректные данные. |
repeatCampaignData | Повторное значение | Кампания с таким partnerCampaignId , но с другой суммой скидки, уже существует. |
Пример тела ответа
JSON
{ "status": "success", "result": { "ymCampaignId": 34, "campaignStatus": "moderation" } }