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


Отмена заказа из песочницы интеграции с помощью API Центра партнеров

Область применения: Центр партнеров | Центр партнеров, управляемый 21Vianet | Центр партнеров для Microsoft Cloud for US Government

В этой статье описывается, как использовать API Центра партнеров для отмены различных типов заказов на подписку из учетных записей песочницы интеграции. Такие заказы могут включать зарезервированные экземпляры, программное обеспечение и коммерческую платформу Software как услуга (SaaS).

В следующей таблице показан порядок отмены в песочнице и рабочей среде.

Тип продукта Порядок обновления песочницы Подписка на обновление песочницы Заказ на обновление рабочей среды Подписка на обновление рабочей среды
Зарезервированные экземпляры Azure Y N N N
Программное обеспечение с бессрочной лицензией Y N Y N
Подписки на программное обеспечение Y Y Y Y
Новая коммерция N Y N Y
категория "Коммерческая платформа" N Y N Y
План Azure N Y N Y

Примечание.

Отмена зарезервированного экземпляра или заказов на подписку SaaS на коммерческой платформе возможна только из учетных записей песочницы интеграции. Любые заказы песочницы, которые старше 60 дней, не могут быть отменены из Центра партнеров.

Чтобы отменить производственные заказы программного обеспечения через API, используйте отмену покупки программного обеспечения. Вы также можете отменить производственные заказы на программное обеспечение с помощью панели мониторинга с помощью отмены покупки.

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

  • Учетные данные, описанные в статье о проверке подлинности в Центре партнеров. Этот сценарий поддерживает проверку подлинности с помощью автономных учетных данных приложения и приложения и пользователя.

  • Учетная запись партнера песочницы интеграции с клиентом с активным зарезервированным экземпляром или программным обеспечением или сторонними заказами на подписку SaaS.

C#

Чтобы отменить заказ из песочницы интеграции, передайте учетные данные учетной записи в CreatePartnerOperations метод, чтобы получить IPartner интерфейс для получения партнерских операций.

Чтобы выбрать конкретный заказ, используйте метод партнеров и метод вызова Customers.ById() с идентификатором клиента, чтобы указать клиента, за которым следует Orders.ById() идентификатор заказа, чтобы указать заказ и, наконецGet, или GetAsync метод, чтобы получить его.

Order.Status Задайте для свойства cancelled значение и используйте Patch() метод для обновления порядка.

// IPartnerCredentials tipAccountCredentials;
// Customer tenant Id to be deleted.
// string customerTenantId;

IPartner tipAccountPartnerOperations = PartnerService.Instance.CreatePartnerOperations(tipAccountCredentials);

// Cancel order
var order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(orderId).Get();
order.Status = "cancelled";
order = tipAccountPartnerOperations.Customers.ById(customerTenantId).Orders.ById(orderId).Patch(order);

Запрос REST

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

Способ URI запроса
PATCH {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1

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

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

Имя. Type Обязательно Описание
customer-tenant-id guid Y Это значение — идентификатор GUID, отформатированный клиентом клиента , который позволяет торговому посреднику фильтровать результаты для данного клиента, который принадлежит торговому посреднику.
order-id string Y Значение — это строка, обозначающая идентификаторы порядка, которые необходимо отменить.

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

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

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

{
    "id": "UKXASSO1dezh3HdxClHxSp5UEFXGbAnt1",
    "status": "cancelled",
}

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

PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/orders/<order-id> HTTP/1.1
Accept: application/json
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5
MS-CorrelationId: 1438ea3d-b515-45c7-9ec1-27ee0cc8e6bd

{
    "id": "UKXASSO1dezh3HdxClHxSp5UEFXGbAnt1",
    "status": "cancelled",
}

Ответ REST

В случае успешного выполнения этот метод возвращает отмененный порядок.

Коды успешного выполнения и ошибок в ответе

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

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

HTTP/1.1 200 OK
Content-Length: 866
MS-CorrelationId: 1438ea3d-b515-45c7-9ec1-27ee0cc8e6bd
MS-RequestId: 655890ba-4d2b-4d09-a95f-4ea1348686a5

{
    "id": "UKXASSO1dezh3HdxClHxSp5UEFXGbAnt1",
    "alternateId": "11fc4bdfd47a",
    "referenceCustomerId": "bd59b416-37f9-4d8f-8df3-5750111fc615",
    "billingCycle": "one_time",
    "currencyCode": "USD",
    "currencySymbol": "$",
    "lineItems": [
        {
            "lineItemNumber": 0,
            "offerId": "DG7GMGF0DWT0:0001:DG7GMGF0DSQR",
            "termDuration": "",
            "transactionType": "New",
            "friendlyName": "Microsoft Identity Manager 2016 - 1 User CAL",
            "quantity": 1,
            "links": {
                "product": {
                    "uri": "/products/DG7GMGF0DWT0?country=US",
                    "method": "GET",
                    "headers": []
                },
                "sku": {
                    "uri": "/products/DG7GMGF0DWT0/skus/0001?country=US",
                    "method": "GET",
                    "headers": []
                },
                "availability": {
                    "uri": "/products/DG7GMGF0DWT0/skus/0001/availabilities/DG7GMGF0DSQR?country=US",
                    "method": "GET",
                    "headers": []
                }
            }
        }
    ],
    "creationDate": "2019-02-21T17:56:21.1335741Z",
    "status": "cancelled",
    "transactionType": "UserPurchase",
    "attributes": {
        "objectType": "Order"
    }
}