Project

General

Profile

Сервис отправки уведомлений по заказам и подпискам

История изменений

Версия 1.10 (09.07.2021)
  • Вместо данных покупателя в заказе может выводиться deleted, если покупатель воспользовался правом на удаление персональных данных, подробнее.

Краткое описание

Сервис предназначен для отправки Партнеру уведомлений по заказам при следующих событиях:

  • Создание заказа - отправляется при создании заказа в статусе "Новый" (не оплачен).
  • Действия с лицензионной информацией по заказу:
    • Ключ выслан.
    • Возврат / замена ключа.
  • Действия при обработке подписки:
    Высылается для подписок AR и PMR вида, подробнее о подписках см. в отдельной документации.
    • Отмена подписки.
    • Восстановление подписки.

Подключение к Сервису

Подключение отправки уведомлений осуществляется по запросу в Отдел Контента.

Для подключения необходимо предоставить следующую информацию:

Данные Описание
Логин Логин Партнера
URL URL сервиса, на который будут отправляться уведомления.
При необходимости можно предоставить разные URL для каждого события.
Кодировка Кодировка получения данных: utf8 или win1251
Сертификат Pem-файл, содержащий пару ключей.
Предоставляется при необходимости. Если URL разные, то сертификат – на каждый URL.
Пароль для сертификата, если требуется.
События Перечень событий, по которым должны приходить уведомления.

Описание уведомлений

Уведомление отправляется по факту наступления события для позиции заказа.
Если заказ содержит несколько позиций, то уведомление отправляется отдельно по каждой из них.

  • Тип запроса: POST
  • Формат передачи данных: xml
Параметр Описание Формат Обязательность
Document
Event Событие, по которому был сформирован файл:
Order_created – заказ создан,
ActivationCodes_sent – ключ выслан,
ActivationCodes_returned – возврат / замена ключа,
Subscription_cancelled – отмена подписки,
Subscription_restored – восстановление подписки.
text Да
Number ID заказа на стороне Softline Ecommerce.
К номеру добавляется префикс As.
Например, As10166438
int Да
Данные по подписке
Передаются только, если заказ родительский / дочерний. Для события Order_created (заказ создан) не передаются, так как подписка возникает по факту оплаты заказа.
Подробнее о видах подписок см. в отдельной документации.
SubscriptionId ID подписки на стороне Softline Ecommerce в формате:
[ID родительского заказа, без префикса]_[ID позиции в родительском заказе].
Например, 1222267_9570638.
text
SubscriptionType Тип подписки:
ar - если на позицию есть подписка с автопродлением лицензии (AR),
fake - если на позицию есть PMR подписка.
text
SubscriptionExpirationDate Дата окончания действия подписки в формате ISO 8601.
Например, 2020-12-19T05:08:53+03:00
date
Данные по заказу
Date Дата и время оформления заказа.
Например, 19.12.2017 05:08:53
date Да
DateISO8601 Дата и время оформления заказа в формате ISO 8601.
Например, 2017-12-19T05:08:53+03:00
date Да
Payment Название способа оплаты заказа text Да
PaymentDate Дата и время оплаты заказа.
Для события Order_created (заказ создан) не передается, так как заказ еще не оплачен.
date Да
За исключением события Order_created (заказ создан)
PaymentDateISO8601 Дата и время оплаты заказа в формате ISO 8601.
Например, 2017-12-19T05:10:05+03:00
Для события Order_created (заказ создан) не передается, так как заказ еще не оплачен.
date Да
За исключением события Order_created (заказ создан)
Currency Код валюты заказа. text Да
CountryCode Страна Покупателя.
Если Покупатель при оформлении заказа выбирает страну, то передается код данной страны в формате ISO 3166 Alpha-2.
Например: MX, PE, CL, CO, AR, CR, GT.
Иначе: передается код зоны, в которой был оформлен заказ.
Например: RU, BY, KZ, BR, TH.
text Да
Locale Локаль заказа.
Выгружается в формате [ISO 639-1]-[ISO 3166-2].
Например, ru-RU
text Да
Counterpart Данные о покупателе.
Вместо данных покупателя в заказе может выводиться deleted, если покупатель воспользовался правом на удаление персональных данных, подробнее.
PrivatePerson Тип Покупателя:
true – физическое лицо
false – юридическое
boolean Да
Company Название компании Покупателя (для юр. лица).
Для физ. лица указывается Фамилия Имя
text Да
INN ИНН компании Покупателя
Пустое поле если:
• Заказ физ. лица или
• Если зона заказа не требует заполнения
int
KPP КПП компании Покупателя.
Для ИП будет передан "-".
Пустое поле, если:
• Заказ физ. лица или
• Если зона заказа не требует заполнения
int
FIO Фамилия Имя Покупателя text Да
AddressFact Фактический адрес компании Покупателя.
Для физ. лиц поле передается пустым
text
AddressJur Юридический адрес компании Покупателя.
Для физ. лиц поле передается пустым.
text
AddressDelivery Адрес доставки заказа. Передается при коробочном способе доставки продукта text
Email Email Покупателя, на который оформлен заказ text Да
Phone Телефон Покупателя text
Fax Факс Покупателя text
Product Данные о продукте заказа
AllSoftCode ID продукта в каталоге Softline Ecommerce int Да
Name Название продукта text Да
Price Цена продукта за 1 шт. в заказе с учетом скидок и НДС float, два знака после разделителя Да
Quantity Кол-во продуктов в заказе. int Да
VAT Данные по НДС.
Rate Процент НДС для продукта, в виде N% text
Sum Сумма НДС для продукта в валюте заказа. float, два знака после разделителя
Sum Стоимость продукта в заказе с учетом скидок и НДС (Price x Quantity) в валюте заказа float, два знака после разделителя Да
PurchasePrice Доля Партнера от стоимости продукта в заказе (Sum) в валюте заказа. float, два знака после разделителя Да
AuthorID ID Партнера в системе Softline Ecommerce. int Да
SKU SKU продукта text
ActivationCodes Ключи для продукта заказа. Для события Order_created (заказ создан) не передаются, так как ключи высылаются после оплаты заказа.
Code Ключ для продукта заказа, выданный Покупателю. text
Return Данные по возврату. Передаются только для события ActivationCodes_returned (возврат/замена ключа)
Status Статус ключа на стороне Softline Ecommerce:
Removed – удаленный ключ, которому при удалении указали тип удаления "некорректный ключ",
Returned – удаленный ключ, которому при удалении указали тип удаления "возврат".
text
ReturnDate Дата возврата/замены ключа/ключей по позиции.
Например, 22.12.2017 12:00:04
date
ReturnDateISO8601 Дата возврата/замены ключа/ключей по позиции в формате ISO 8601.
Например, 2017-12-22T12:00:04+03:00
date
Reason Причина возврата/замены ключа/ключей по позиции.
 
Примеры причин, которые могут быть переданы:
• проблема установки / активации,
• географически ограничения,
• ошибка при выборе продукта,
• не устроил срок доставки,
• не возможно поставить продукт,
• автопродление,
• повторная оплата,
• ChargeBack,
• недоволен программой,
• TYPO,
• дубли заказа,
• тестовый заказ,
или другая причина.
text
AdditionalParameters Дополнительные параметры. Передаются, если есть хотя бы один доп. параметр
Key
Key Name="..." Наименование параметра
Например, referer2
text
Value Значение параметра
Например, admitad
text
DocumentPart Формат: [порядковый номер позиции в заказе]-of-[общее количество позиций автора в заказе]

Например,
• Если в заказе одна позиция Партнера, то передается:
<DocumentPart>1-of-1</DocumentPart>
• Если в заказе несколько позиций Партнера, то передается:
<DocumentPart>1-of-2</DocumentPart>,

где в данном случае:
1 – порядковый номер позиции заказа в заказе,
2 – общее количество позиций в заказе.
Нумерация сохраняется по всем событиям. Например: в заказе 3 позиции и был сделан возврат только 2 позиции. Тогда передается: 2-of-3
text Да
BasketId Идентификатор корзины. Передается для заказов на продукт не из каталога, подробнее см. в отдельной документации.
Это тот же самый идентификатор, который возвращается в ответе на запрос на генерацию ссылки на покупку продукта не из каталога
text Да
Только для заказов на комплексный продукт
NotificationType Тип события, по которому был сформирован xml:
order_created – заказ создан,
key_sent – ключ выслан,
key_removed – возврат/замена ключа,
subscription_cancelled – отмена подписки,
subscription_reactivated – восстановление подписки.
text Да

Ответ на уведомление

Положительный ответ

Уведомление считается успешно отправленным, если от Партнера пришел код ответа HTTP/1.1 200 OK.

Ошибки

Если от Партнера в ответ на уведомление не получен код ответа HTTP/1.1 200 OK, то отправка считается неуспешной, в этом случае:
  • Совершаются повторные попытки отправки с периодичностью 1 раз в 20 минут.
  • Повторные попытки продолжаются до тех пор, пока не будет получен код ответа HTTP/1.1 200 OK.
  • При повторной отправке данные уведомления не обновляются, если за время совершения попыток заказ изменится, то все равно будет отправляться прежний xml.

Примеры уведомлений

Уведомление о создании заказа

<?xml version="1.0" encoding="utf-8"?>
<Document>
    <Event>Order_created</Event>
    <Number>As10166438</Number>
    <Date>19.12.2017 05:08:53</Date>
    <DateISO8601>2017-12-19T05:08:53+03:00</DateISO8601>
    <Payment><![CDATA[VISA, MASTERCARD, MAESTRO, МИР]]></Payment>
    <Currency>RUB</Currency>
    <CountryCode>RU</CountryCode>
    <Locale>ru-RU</Locale>
    <Counterpart>
        <PrivatePerson>true</PrivatePerson>
        <Company><![CDATA[Korostin Stanislav]]></Company>
        <INN></INN>
        <KPP></KPP>
        <FIO><![CDATA[Korostin Stanislav]]></FIO>
        <AddressFact><![CDATA[]]></AddressFact>
        <AddressJur><![CDATA[]]></AddressJur>
        <AddressDelivery><![CDATA[]]></AddressDelivery>
        <Email>wyptest20161@gmail.com</Email>
        <Phone><![CDATA[]]></Phone>
        <Fax><![CDATA[]]></Fax>
    </Counterpart>
    <Product>
        <AllSoftCode>4606604</AllSoftCode>
        <Name><![CDATA[Электронная лицензия на 2 года]]></Name>
        <Price>10.00</Price>
        <Quantity>1</Quantity>
        <VAT>
            <Rate>0.000%</Rate>
            <Sum>0.00</Sum>
        </VAT>
        <Sum>10.00</Sum>
        <PurchasePrice>0.00</PurchasePrice>
        <AuthorID>14106939</AuthorID>
        <SKU></SKU>
    </Product>
    <DocumentPart>1-of-1</DocumentPart>
    <BasketId>3717580</BasketId>
    <NotificationType>order_created</NotificationType>
</Document>

Уведомление по факту отправки ключа

<?xml version="1.0" encoding="utf-8"?>
<Document>
    <Event>ActivationCodes_sent</Event>
    <Number>As10166438</Number>
    <Date>19.12.2017 05:08:53</Date>
    <DateISO8601>2017-12-19T05:08:53+03:00</DateISO8601>
    <Payment><![CDATA[VISA, MASTERCARD, MAESTRO, МИР]]></Payment>
    <PaymentDate>19.12.2017 05:10:05</PaymentDate>
    <PaymentDateISO8601>2017-12-19T05:10:05+03:00</PaymentDateISO8601>
    <Currency>RUB</Currency>
    <CountryCode>RU</CountryCode>
    <Locale>ru-RU</Locale>
    <Counterpart>
        <PrivatePerson>true</PrivatePerson>
        <Company><![CDATA[Korostin Stanislav]]></Company>
        <INN></INN>
        <KPP></KPP>
        <FIO><![CDATA[Korostin Stanislav]]></FIO>
        <AddressFact><![CDATA[]]></AddressFact>
        <AddressJur><![CDATA[]]></AddressJur>
        <AddressDelivery><![CDATA[]]></AddressDelivery>
        <Email>wyptest20161@gmail.com</Email>
        <Phone><![CDATA[]]></Phone>
        <Fax><![CDATA[]]></Fax>
    </Counterpart>
    <Product>
        <AllSoftCode>4606604</AllSoftCode>
        <Name><![CDATA[Электронная лицензия на 2 года]]></Name>
        <Price>10.00</Price>
        <Quantity>1</Quantity>
        <VAT>
            <Rate>0.000%</Rate>
            <Sum>0.00</Sum>
        </VAT>
        <Sum>10.00</Sum>
        <PurchasePrice>0.00</PurchasePrice>
        <AuthorID>14106939</AuthorID>
        <SKU></SKU>
        <ActivationCodes>
            <Code><![CDATA[777-111-111-111]]></Code>
            <Code><![CDATA[777-222-222-222]]></Code>
        </ActivationCodes>
    </Product>
    <AdditionalParameters>
        <Key Name="referer2">
            <Value>admitad</Value>
        </Key>
    </AdditionalParameters>
    <DocumentPart>1-of-1</DocumentPart>
    <BasketId>3717580</BasketId>
    <NotificationType>key_sent</NotificationType>
</Document>

Уведомление по факту отправки ключа по подписке

<?xml version="1.0" encoding="utf-8"?>
<Document>
    <Event>ActivationCodes_sent</Event>
    <Number>As10166438</Number>
    <SubscriptionId>1222267_9570638</SubscriptionId>
    <SubscriptionType>ar</SubscriptionType>
    <SubscriptionStatus>active</SubscriptionStatus>
    <SubscriptionExpirationDate>2020-12-19T05:08:53+03:00</SubscriptionExpirationDate>
    <Date>19.12.2017 05:08:53</Date>
    <DateISO8601>2017-12-19T05:08:53+03:00</DateISO8601>
    <Payment><![CDATA[VISA, MASTERCARD, MAESTRO, МИР]]></Payment>
    <PaymentDate>19.12.2017 05:10:05</PaymentDate>
    <PaymentDateISO8601>2017-12-19T05:10:05+03:00</PaymentDateISO8601>
    <Currency>RUB</Currency>
    <CountryCode>RU</CountryCode>
    <Locale>ru-RU</Locale>
    <Counterpart>
        <PrivatePerson>true</PrivatePerson>
        <Company><![CDATA[Korostin Stanislav]]></Company>
        <INN></INN>
        <KPP></KPP>
        <FIO><![CDATA[Korostin Stanislav]]></FIO>
        <AddressFact><![CDATA[]]></AddressFact>
        <AddressJur><![CDATA[]]></AddressJur>
        <AddressDelivery><![CDATA[]]></AddressDelivery>
        <Email>wyptest20161@gmail.com</Email>
        <Phone><![CDATA[]]></Phone>
        <Fax><![CDATA[]]></Fax>
    </Counterpart>
    <Product>
        <AllSoftCode>4606604</AllSoftCode>
        <Name><![CDATA[Электронная лицензия на 2 года]]></Name>
        <Price>10.00</Price>
        <Quantity>1</Quantity>
        <VAT>
            <Rate>0.000%</Rate>
            <Sum>0.00</Sum>
        </VAT>
        <Sum>10.00</Sum>
        <PurchasePrice>0.00</PurchasePrice>
        <AuthorID>14106939</AuthorID>
        <SKU></SKU>
        <ActivationCodes>
            <Code><![CDATA[777-111-111-111]]></Code>
            <Code><![CDATA[777-222-222-222]]></Code>
        </ActivationCodes>
    </Product>
    <AdditionalParameters>
        <Key Name="referer2">
            <Value>admitad</Value>
        </Key>
    </AdditionalParameters>
    <DocumentPart>1-of-1</DocumentPart>
    <BasketId>3717580</BasketId>
    <NotificationType>key_sent</NotificationType>
</Document>

Уведомление по факту возврата ключа

<?xml version="1.0" encoding="utf-8"?>
<Document>
    <Event>ActivationCodes_returned</Event>
    <Number>As10166438</Number>
    <Date>19.12.2017 05:08:53</Date>
    <DateISO8601>2017-12-19T05:08:53+03:00</DateISO8601>
    <Payment><![CDATA[VISA, MASTERCARD, MAESTRO, МИР]]></Payment>
    <PaymentDate>19.12.2017 05:10:05</PaymentDate>
    <PaymentDateISO8601>2017-12-19T05:10:05+03:00</PaymentDateISO8601>
    <Currency>RUB</Currency>
    <CountryCode>RU</CountryCode>
    <Locale>ru-RU</Locale>
    <Counterpart>
        <PrivatePerson>true</PrivatePerson>
        <Company><![CDATA[Korostin Stanislav]]></Company>
        <INN></INN>
        <KPP></KPP>
        <FIO><![CDATA[Korostin Stanislav]]></FIO>
        <AddressFact><![CDATA[]]></AddressFact>
        <AddressJur><![CDATA[]]></AddressJur>
        <AddressDelivery><![CDATA[]]></AddressDelivery>
        <Email>wyptest20161@gmail.com</Email>
        <Phone><![CDATA[]]></Phone>
        <Fax><![CDATA[]]></Fax>
    </Counterpart>
    <Product>
        <AllSoftCode>4606604</AllSoftCode>
        <Name><![CDATA[Электронная лицензия на 2 года]]></Name>
        <Price>10.00</Price>
        <Quantity>1</Quantity>
        <VAT>
            <Rate>0.000%</Rate>
            <Sum>0.00</Sum>
        </VAT>
        <Sum>10.00</Sum>
        <PurchasePrice>0.00</PurchasePrice>
        <AuthorID>14106939</AuthorID>
        <SKU></SKU>
        <ActivationCodes>
            <Code><![CDATA[777-111-111-111]]></Code>
            <Code><![CDATA[777-222-222-222]]></Code>
        </ActivationCodes>
    </Product>
    <Return>
        <Status>returned</Status>
        <ReturnDate>22.12.2017 12:00:04</ReturnDate>
        <ReturnDateISO8601>2017-12-22T12:00:04+03:00</ReturnDateISO8601>
        <Reason>тест</Reason>
    </Return>
    <AdditionalParameters>
        <Key Name="referer2">
            <Value>admitad</Value>
        </Key>
    </AdditionalParameters>
    <DocumentPart>1-of-1</DocumentPart>
    <BasketId>3717580</BasketId>
    <NotificationType>key_removed</NotificationType>
</Document>

Уведомление по факту отмены автопродления

<?xml version="1.0" encoding="utf-8"?>
<Document>
    <Event>Subscription_cancelled</Event>
    <Number>As10166438</Number>
    <SubscriptionId>1222267_9570638</SubscriptionId>
    <SubscriptionType>ar</SubscriptionType>
    <SubscriptionStatus>cancelled</SubscriptionStatus>
    <SubscriptionExpirationDate>2020-12-19T05:08:53+03:00</SubscriptionExpirationDate>
    <Date>19.12.2017 05:08:53</Date>
    <DateISO8601>2017-12-19T05:08:53+03:00</DateISO8601>
    <Payment><![CDATA[VISA, MASTERCARD, MAESTRO, МИР]]></Payment>
    <PaymentDate>19.12.2017 05:10:05</PaymentDate>
    <PaymentDateISO8601>2017-12-19T05:10:05+03:00</PaymentDateISO8601>
    <Currency>RUB</Currency>
    <CountryCode>RU</CountryCode>
    <Locale>ru-RU</Locale>
    <Counterpart>
        <PrivatePerson>true</PrivatePerson>
        <Company><![CDATA[Korostin Stanislav]]></Company>
        <INN></INN>
        <KPP></KPP>
        <FIO><![CDATA[Korostin Stanislav]]></FIO>
        <AddressFact><![CDATA[]]></AddressFact>
        <AddressJur><![CDATA[]]></AddressJur>
        <AddressDelivery><![CDATA[]]></AddressDelivery>
        <Email>wyptest20161@gmail.com</Email>
        <Phone><![CDATA[]]></Phone>
        <Fax><![CDATA[]]></Fax>
    </Counterpart>
    <Product>
        <AllSoftCode>4606604</AllSoftCode>
        <Name><![CDATA[Электронная лицензия на 2 года]]></Name>
        <Price>10.00</Price>
        <Quantity>1</Quantity>
        <VAT>
            <Rate>0.000%</Rate>
            <Sum>0.00</Sum>
        </VAT>
        <Sum>10.00</Sum>
        <PurchasePrice>0.00</PurchasePrice>
        <AuthorID>14106939</AuthorID>
        <SKU></SKU>
        <ActivationCodes>
            <Code><![CDATA[777-111-111-111]]></Code>
            <Code><![CDATA[777-222-222-222]]></Code>
        </ActivationCodes>
    </Product>
    <AdditionalParameters>
        <Key Name="referer2">
            <Value>admitad</Value>
        </Key>
    </AdditionalParameters>
    <DocumentPart>1-of-1</DocumentPart>
    <BasketId>3717580</BasketId>
    <NotificationType>subscription_cancelled</NotificationType>
</Document>

Уведомление по факту восстановления автопродления

<?xml version="1.0" encoding="utf-8"?>
<Document>
    <Event>Subscription_restored</Event>
    <Number>As16853377</Number>
    <SubscriptionId>16853377_18402231</SubscriptionId>
    <SubscriptionType>ar</SubscriptionType>
    <SubscriptionStatus>not_paid</SubscriptionStatus>
    <SubscriptionExpirationDate>2020-12-19T05:08:53+03:00</SubscriptionExpirationDate>
    <Date>20.03.2019 06:11:26</Date>
    <DateISO8601>2019-03-20T06:11:26+03:00</DateISO8601>
    <Payment><![CDATA[VISA, MASTERCARD, MAESTRO, МИР]]></Payment>
    <PaymentDate>20.03.2019 06:12:47</PaymentDate>
    <PaymentDateISO8601>2019-03-20T06:12:47+03:00</PaymentDateISO8601>
    <Currency>RUB</Currency>
    <CountryCode>RU</CountryCode>
    <Locale>ru-RU</Locale>
    <Counterpart>
        <PrivatePerson>true</PrivatePerson>
        <Company><![CDATA[allsoft qa]]></Company>
        <INN></INN>
        <KPP></KPP>
        <FIO><![CDATA[allsoft qa]]></FIO>
        <AddressFact><![CDATA[]]></AddressFact>
        <AddressJur><![CDATA[]]></AddressJur>
        <AddressDelivery><![CDATA[]]></AddressDelivery>
        <Email>e.bug@allsoft.ru</Email>
        <Phone><![CDATA[+71234567890]]></Phone>
        <Fax><![CDATA[]]></Fax>
    </Counterpart>
    <Product>
        <AllSoftCode>1788404</AllSoftCode>
        <Name><![CDATA[Супер-Пупсик ТЕСТ Базовая версия]]></Name>
        <Price>1.00</Price>
        <Quantity>1</Quantity>
        <VAT>
            <Rate>0.000%</Rate>
            <Sum>0.00</Sum>
        </VAT>
        <Sum>1.00</Sum>
        <PurchasePrice>0.00</PurchasePrice>
        <AuthorID>10027088</AuthorID>
        <SKU>KL1167RDBFS</SKU>
        <ActivationCodes>
            <Code><![CDATA[KEY16777024431553051572bnVsbA==]]></Code>
        </ActivationCodes>
    </Product>
    <AdditionalParameters>
        <Key Name="customer_country_code">
            <Value><![CDATA[]]></Value>
        </Key>
        <Key Name="ip_country_code">
            <Value><![CDATA[]]></Value>
        </Key>
        <Key Name="phone_country_code">
            <Value><![CDATA[]]></Value>
        </Key>
    </AdditionalParameters>
    <DocumentPart>1-of-1</DocumentPart>
    <BasketId>3717580</BasketId>
    <NotificationType>subscription_reactivated</NotificationType>
</Document>