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


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

Применимо к:

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

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

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

Примечание.

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

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

Необходимые компоненты

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

Запрос REST

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

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

Параметр универсального кода ресурса

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

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

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

Дополнительные сведения см. в статье о заголовках REST Центра партнеров.

Текст запроса

Текст включает коллекцию PromotionEligibilitiesRequestItems. В этой таблице описываются свойства для Объекта PromotionEligibilitiesRequestItem.

Свойство Тип Обязательно Описание
catalogItemId строка Да Идентификатор элемента каталога.
quantity INT Да Количество лицензий или экземпляров.
termDuration Дата и время Да Представление срока действия термина 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 продукта, вычисляемый по идентификатору повышения, не совпадают. Оцениваются различные условия и ограничения и возвращаются типы ошибок для описания условий, которые не соответствуют требованиям.

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

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

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"
    }
}