Прочитать на английском

Поделиться через


Проверка права на участие в акции

Применимо к:

  • Центр партнеров

Соответствующие роли

  • Агент по администрированию

Примечание

Новые коммерческие возможности для услуг на основе лицензий включают множество новых функций и доступны для всех поставщиков облачных решений (ПОСТАВЩИКОВ УСЛУГ). Дополнительные сведения см. в обзоре новых коммерческих возможностей.

Партнёры могут проверить, имеет ли клиентская транзакция право на участие в данной акции. Этот метод возвращает True, если транзакция клиента подходит для данной акции. Партнеры могут проверить право перед отправкой транзакции, чтобы убедиться, что повышение будет применено.

Предварительные требования

  • Учетные данные, описанные в аутентификации в Центре партнеров. Этот сценарий поддерживает аутентификацию с помощью автономного приложения и учетных данных приложения и пользователя.
  • Включает доступность номера SKU приобретенного продукта, идентификатор акции, количество, длительность срока и период выставления счетов для транзакции.
  • Скорость ограничения для этого API составляет максимум 625 запросов в минуту для каждого партнёрского клиента. Вызовы, превышающие ограничение, приводят к http-ответу 429. См. руководство по регулированию для получения информации о регулировании.

Запрос REST

Синтаксис запроса

Способ URI запроса
POST {baseURL}/v1/customers/{customerId}/promotionEligibilities HTTP/1.1

Параметр URI

Используйте следующие параметры запроса для возврата доступных рекламных акций.

Имя. Тип Обязательно Описание
customerId string Y Это значение customer-tenant-id в формате GUID, то есть идентификатор для определения клиента.

Заголовки запросов

Для получения более подробной информации см. заголовки REST Центра партнеров.

Содержание запроса

Содержимое включает коллекцию PromotionEligibilitiesRequestItems. Эта таблица описывает свойства для элемента PromotionEligibilitiesRequestItem.

Свойство Тип Обязательно Описание
идентификаторЭлементаКаталога (catalogItemId) строка Да Идентификатор элемента каталога.
количество INT Да Количество лицензий или экземпляров.
срок действия Дата и время Да Представление продолжительности термина в формате ISO 8601. Текущие поддерживаемые значения: P1M (один месяц), P1Y (один год) и P3Y (три года).
billingCycle строка Да Значение, указывающее тип периода выставления счетов.
promotionId строка Нет Идентификатор рекламного товара.

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

POST https://api.partnercenter.microsoft.com/v1/customers/46632f71-f052-4384-8f84-4cdb6c12c2a1/promotionEligibilities HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US

 // Request example with promotion ID input
{
    "items": [
        {
            "catalogItemId": "CFQ7TTC0LH2Z:0002:CFQ7TTC0HRVK",
            "quantity": 2400,
            "termDuration": "P1Y",
            "billingCycle": "Monthly",
            "promotionId": "39NFJQT1PM6C:0005:39NFJQT1Q5L7"
        }
    ]
}

POST https://api.partnercenter.microsoft.com/v1/customers/46632f71-f052-4384-8f84-4cdb6c12c2a1/promotionEligibilities HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70b
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
X-Locale: en-US

 // Request example with no promotion ID input
{
    "items": [
        {
            "id": "0",
            "catalogItemId": "CFQ7TTC0HBSJ:0001:CFQ7TTC0JQH3",
            "quantity": 300,
            "termDuration": "P1M",
            "billingCycle": "monthly"
        }
    ]
}

Ответ REST

Если указан идентификатор акции и запрос выполнен успешно, этот метод возвращает коллекцию результатов соответствия. Если идентификатор акции не указан и запрос выполнен успешно, этот метод возвращает все акции, доступные для указанного предложения, и соответствующее право участия клиента в каждой акции.

Коды успешных и ошибочных ответов

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

Типы и описания ошибок соответствия критериям

Право на получение вернет false, если проверки соответствия определяют, что номер SKU продукта не соответствует идентификатору акции. Оцениваются различные условия и ограничения и возвращаются типы ошибок для описания условий, которые не соответствуют требованиям.

Тип ошибки пригодности Описание ошибки соответствия критериям
НедействительныйИдентификаторЭлементаКаталога Предоставленный CatalogItemId недопустим.
Недействительная акция Предоставленное повышение является недопустимым.
Предварительное владение продуктом Клиент не подходит под необходимые требования владения продуктом для участия в этой акции.
Лимит Выкупа Лимит выкупа для этой акции был достигнут.
Количество мест Предоставленное количество не удовлетворяет минимальным или максимальным требованиям к месту для продвижения.
Предложение, приобретенное ранее Это предложение было приобретено ранее этим клиентом.
Термин Указанный термин не применяется для продвижения.
Нет доступных акций В настоящее время нет рекламных акций.

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

HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70a
Date: Fri, 26 Feb 2021 20:42:26 GMT

// Response example with promotion ID provided in the request
{
    "totalCount": 1,
    "items": [
        {
            "id": 0,
            "catalogItemId": "CFQ7TTC0LH2Z:0002:CFQ7TTC0HRVK",
            "quantity": 2400,
            "billingCycle": "monthly",
            "termDuration": "P1Y",
            "eligibilities": [
                {
                    "promotionId": "39NFJQT1PM6C:0005:39NFJQT1Q5L7",
                    "isEligible": false,
                    "errors": [
                        {
                            "minimumRequiredSeats": 1,
                            "maximumRequiredSeats": 2400,
                            "availableSeats": 500,
                            "type": "SeatCount",
                            "description": "The provided quantity does not satisfy the minimum or maximum seat requirements for the promotion."
                        }
                    ]
                }
            ],
            "attributes": {
                "objectType": "PromotionEligibilities"
            }
        }
    ],
    "attributes": {
        "objectType": "Collection"
    }
}
HTTP/1.1 200 OK
Content-Length: 138
Content-Type: application/json
MS-CorrelationId: bbbb1111-cc22-3333-44dd-555555eeeeee
MS-RequestId: 18752a69-1aa1-4ef7-8f9d-eb3681b2d70b
Date: Fri, 26 Feb 2021 20:42:26 GMT

// Response example with no promotion ID provided in the request
{
    "totalCount": 1,
    "items": [
        {
            "id": 0,
            "catalogItemId": "CFQ7TTC0HBSJ:0001:CFQ7TTC0JQH3",
            "quantity": 300,
            "billingCycle": "monthly",
            "termDuration": "P1M",
            "eligibilities": [
                {
                    "promotionId": "39NFJQT1XK5L:000J:39NFJQT1Q5D8",
                    "isEligible": true
                },
                {
                    "promotionId": "39NFJQT1XG89:0002:39NFJQT1Q5L2",
                    "isEligible": true
                }
            ],
            "attributes": {
                "objectType": "PromotionEligibilities"
            }
        }
    ],
    "attributes": {
        "objectType": "Collection"
    }
}