Iş Ortağı Merkezi API 'Lerini kullanarak ticari Market veya yeni ticaret aboneliğini iptal etme

Uygulama hedefi: Iş Ortağı Merkezi

Bu makalede, müşteri ve abonelik KIMLIĞIYLE eşleşen bir ticari Market veya yeni ticaret abonelik kaynağını iptal etmek Için Iş Ortağı Merkezi API 'sini nasıl kullanabileceğiniz açıklanmaktadır.

Not

Yeni ticaret değişiklikleri şu anda yalnızca M365/D365 yeni ticaret deneyimi teknik önizlemesinin parçası olan iş ortakları tarafından kullanılabilir.

Yeni ticaret abonelikleri, 72 saat içinde satın alma veya yenileme işlemleri için iptal edilebilir. 72 saat sonra, abonelikler artık iptal edilemez ve API bir hata oluşturur.

Önkoşullar

  • Iş ortağı merkezi kimlik doğrulamasındaaçıklandığı gibi kimlik bilgileri. Bu senaryo, hem tek başına uygulama hem de uygulama + kullanıcı kimlik bilgileriyle kimlik doğrulamayı destekler.

  • Bir müşteri KIMLIĞI ( customer-tenant-id ). Müşterinin KIMLIĞINI bilmiyorsanız Iş Ortağı Merkezi panosundabulabilirsiniz. Iş Ortağı Merkezi menüsünden CSP ' yi ve ardından müşteriler' i seçin. Müşteri listesinden müşteriyi seçin ve ardından Hesap' ı seçin. Müşterinin hesap sayfasında, müşteri hesabı bilgileri bölümünde Microsoft kimliği ' ni arayın. Microsoft KIMLIĞI, müşteri KIMLIĞI () ile aynıdır customer-tenant-id .

  • Abonelik KIMLIĞI.

İş Ortağı Merkezi Pano yöntemi

Iş Ortağı Merkezi panosunda bir ticari Market aboneliğini iptal etmek için:

  1. Bir müşteri seçin.

  2. İptal etmek istediğiniz aboneliği seçin.

  3. Aboneliği Iptal et seçeneğini belirleyip Gönder' i seçin.

C#

Bir müşterinin aboneliğini iptal etmek için:

  1. ABONELIĞI kimliğe göre alın.

  2. Aboneliğin Status özelliğini değiştirin. Durum kodları hakkında bilgi için bkz. subscriptionstatus numaralandırması.

  3. Değişiklik yapıldıktan sonra, IAggregatePartner.Customers koleksiyonunuzu kullanın ve IAggregatePartner.Customers yöntemini çağırın.

  4. Abonelik özelliğini çağırın, ardından byıd () yöntemi.

  5. Patch () yöntemini çağırın.

// IAggregatePartner partnerOperations;
// var selectedCustomerId as string;
// Subscription selectedSubscription;

selectedSubscription.Status = SubscriptionStatus.Deleted;
var updatedSubscription = partnerOperations.Customers.ById(selectedCustomerId).Subscriptions.ById(selectedSubscription.Id).Patch(selectedSubscription);

Örnek konsol test uygulaması

Örnek: konsol test uygulaması. Project: partnersdk. featuresample sınıfı: updatesubscription. cs

REST isteği

İstek sözdizimi

Yöntem İstek URI'si
DÜZELTMESI {BaseUrl}/v1/Customers/{Customer-Tenant-ID}/Subscriptions/{Subscription-ID} http/1.1

URI parametresi

Bu tabloda, aboneliği askıya almak için gerekli sorgu parametresi listelenmektedir.

Ad Tür Gerekli Açıklama
Müşteri-Kiracı kimliği guid Y Müşteriye karşılık gelen bir GUID.
abonelik kimliği guid Y Aboneliğe karşılık gelen bir GUID.

İstek üst bilgileri

Daha fazla bilgi için bkz. Iş ortağı MERKEZI Rest üstbilgileri.

İstek gövdesi

İstek gövdesinde tam bir abonelik kaynağı gereklidir. Aboneliğinizi iptal etmek için Status özelliğinin değerine güncelleştirildiğinden emin olun .

Alan Tür Gerekli Açıklama
durum string Y Aboneliklerin durumu. Seçenekler- active , suspended , deleted

İstek örneği

PATCH https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/subscriptions/<subscription-id> HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: ec8f62e5-1d92-47e9-8d5d-1924af105f2c
If-Match: <etag>
Content-Type: application/json
Content-Length: 1029
Expect: 100-continue
Connection: Keep-Alive

{
    "id": "6e7aa601-629e-461b-8933-0898c3cc3c7c",
    "offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
    "offerName": "offer Name",
    "friendlyName": "friendly Name",
    "quantity": 1,
    "unitType": "License(s)",
    "hasPurchasableAddons": false,
    "creationDate": "2019-01-04T01:00:12.6647304Z",
    "effectiveStartDate": "2019-01-09T00:21:45.9263727+00:00",
    "commitmentEndDate": "2019-02-08T00:21:45.9263727+00:00",
    "status": "deleted",
    "autoRenewEnabled": false,
    "isTrial": false,
    "billingType": "license",
    "billingCycle": "monthly",
    "termDuration": "P1M",
    "refundOptions": [{
        "type": "Full",
        "expiresAt": "2019-01-10T00:21:45.9263727+00:00"
    }],
    "isMicrosoftProduct": false,
    "partnerId": "",
    "contractType": "subscription",
    "publisherName": "publisher Name",
    "orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
    "attributes": {"objectType": "Subscription"},
}

REST yanıtı

İstek başarılı olursa, bu yöntem yanıt gövdesinde silinen abonelik kaynak özelliklerini döndürür.

Yanıt başarısı ve hata kodları

Her yanıt başarı veya başarısızlık ve ek hata ayıklama bilgilerini gösteren bir HTTP durum kodu ile gelir. Bu kodu, hata türünü ve ek parametreleri okumak için bir ağ izleme aracı kullanın. Tam liste için bkz. hata kodları.

Yanıt örneği

HTTP/1.1 200 OK
Content-Length: 1322
Content-Type: application/json; charset=utf-8
MS-RequestId: ca7c39f7-1a80-43bc-90d8-ee7d1cad3831
MS-CorrelationId: ec8f62e5-1d92-47e9-8d5d-1924af105f2c
X-Locale: en-US

{
    "id": "6e7aa601-629e-461b-8933-0898c3cc3c7c",
    "offerId": "DZH318Z0BXWC:0001:DZH318Z0BMJX",
    "offerName": "offer Name",
    "friendlyName": "friendly Name",
    "quantity": 1,
    "unitType": "License(s)",
    "hasPurchasableAddons": false,
    "creationDate": "2019-01-04T01:00:12.6647304Z",
    "effectiveStartDate": "2019-01-09T00:21:45.9263727+00:00",
    "commitmentEndDate": "2019-02-08T00:21:45.9263727+00:00",
    "status": "deleted",
    "autoRenewEnabled": false,
    "isTrial": false,
    "billingType": "license",
    "billingCycle": "monthly",
    "termDuration": "P1M",
    "refundOptions": [
        {
            "type": "Full",
            "expiresAt": "2019-01-10T00:21:45.9263727+00:00"
        }
    ],
    "isMicrosoftProduct": false,
    "partnerId": "",
    "contractType": "subscription",
    "links": {
        "product": {
            "uri": "/products/DZH318Z0BXWC?country=US",
            "method": "GET",
            "headers": []
        },
        "sku": {
            "uri": "/products/DZH318Z0BXWC/skus/0001?country=US",
            "method": "GET",
            "headers": []
        },
        "availability": {
            "uri": "/products/DZH318Z0BXWC/skus/0001/availabilities/DZH318Z0BMJX?country=US",
            "method": "GET",
            "headers": []
        },
        "self": {
            "uri": "/customers/5921f00a-32c0-4457-aaa1-e8018c650895/subscriptions/6e7aa601-629e-461b-8933-0898c3cc3c7c",
            "method": "GET",
            "headers": []
        }
    },
    "publisherName": "publisher Name",
    "orderId": "ImxjLNL4_fOc-2KoyOxGTZcrlIquzls11",
    "attributes": {
        "etag": "",
        "objectType": "Subscription"
    }
}