Aracılığıyla paylaş


Müşteri aboneliği faturalama döngüsünü değiştirme

için geçerlidir: İş Ortağı Merkezi | 21Vianet tarafından işletilen İş Ortağı Merkezi | ABD Kamu için Microsoft Bulut İş Ortağı Merkezi

Bahşiş

Bu API, yalnızca eski abonelikler için faturalama sıklığınızı değiştirmenize olanak tanır.

Yeni Ticaret Deneyimi (NCE) abonelikleri ve eski aboneliklerinin fatura sıklığını değiştirmek için Aboneliği Kimliğe göre güncelleştirme - İş ortağı uygulama geliştiricisi | Microsoft Learn API'sini kullanabilirsiniz.

Sipariş aylık faturalamadan yıllık faturalamaya veya yıllık faturalamadan aylık faturalamaya güncelleştirir.

İş Ortağı Merkezi'nde bu işlem, müşterinin abonelik ayrıntıları sayfasına giderek gerçekleştirilebilir. Oraya vardığınızda, abonelik için geçerli faturalama döngüsünün değiştirilip gönderilebilmesini tanımlayan bir seçenek görürsünüz.

Bu makale için kapsam dışı:

  • Denemeler için faturalama döngüsünü değiştirme
  • Azure abonelikleri & yıllık olmayan dönem teklifleri (aylık, altı yıllık) için faturalama döngülerini değiştirme
  • Etkin olmayan abonelikler için faturalama döngülerini değiştirme
  • Microsoft çevrimiçi hizmetleri lisans tabanlı abonelikler için faturalama döngülerini değiştirme

Önkoşullar

  • İş Ortağı Merkezi kimlik doğrulaması'nde açı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, İş Ortağı Merkezi 'de Müşteriler çalışma alanını seçerek, ardından müşteri listesinden müşteriyi ve daha sonra Hesap'ı seçerek arayabilirsiniz. Müşterinin Hesap sayfasında, Müşteri Hesabı Bilgileri bölümünde Microsoft Kimliği bulun. Microsoft kimliği, müşteri kimliğiyle (customer-tenant-id) aynıdır.

  • Sipariş kimliği.

C#

Faturalama döngüsünün sıklığını değiştirmek için Order.BillingCycle özelliğini güncelleştirin.

// IAggregatePartner partnerOperations;
// string customerId;
// string offerId;
// string orderId;

var order = new Order()
{
    ReferenceCustomerId = customerId,
    BillingCycle = BillingCycleType.Annual,
    LineItems = new List<OrderLineItem>()
    {
        new OrderLineItem()
        {
            LineItemNumber = 0,
            OfferId = offerId,
            SubscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
            Quantity = 1
        }
    }
};

var createdOrder = partnerOperations.Customers.ById(customerId).Orders.ById(orderId).Patch(order);

REST isteği

İstek söz dizimi

Yöntem İstek URI'si
PATCH {baseURL}/v1/customers/{customer-tenant-id}/orders/{order-id} HTTP/1.1

URI parametresi

Bu tabloda, aboneliğin miktarını değiştirmek için gerekli sorgu parametresi listelenir.

Ad Tür Gerekli Açıklama
customer-tenant-id GUID Y Bir müşteri tanımlayıcı olarak biçimlendirilmiş GUID müşteri-kiracı-id
sipariş kimliği GUID Y Sipariş tanımlayıcısı

İstek başlıkları

Daha fazla bilgi için bkz. İş Ortağı Merkezi REST başlıkları.

İstek gövdesi

Aşağıdaki tablolarda istek gövdesindeki özellikler açıklanmaktadır.

Sipariş

Mülk Tür Gerekli Açıklama
Kimlik dizgi N Siparişin başarıyla oluşturulmasından sonra sağlanan sipariş tanımlayıcısı
ReferansMüşteriKimliği dizgi Y Müşteri tanımlayıcısı
BillingCycle dizgi Y İş ortağının bu sipariş için faturalandırıldığı sıklığı gösterir. Desteklenen değerler, BillingCycleTypeiçinde bulunan üye adlarıdır.
LineItems nesne dizisi Y OrderLineItem kaynaklar dizisi
OluşturmaTarihi tarih saat N Siparişin oluşturulduğu tarih, tarih-saat biçiminde
Öznitelik Nesne N İçerir "ObjectType": "OrderLineItem"

SiparişKalemÖğesi

Mülk Tür Gerekli Açıklama
KalemNumarası sayı Y 0 ile başlayan satır öğesi numarası
OfferId dizgi Y Teklifin kimliği
Abonelik Kimliği (SubscriptionId) dizgi Y Abonelik Kimliği
Dostça Ad dizgi N İş ortağı tarafından belirsizliği gidermeye yardımcı olmak için tanımlanan aboneliğin kullanıcı dostu adı.
Miktar sayı Y Lisans veya örnek sayısı
PartnerIdOnRecord dizgi N Kaydedilen ortağın İş Ortağı Kimliği
Öznitelik Nesne N İçerir "ObjectType": "OrderLineItem"

İstek örneği

Yıllık faturalamaya geçiş

PATCH https://api.partnercenter.microsoft.com/v1/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/orders/CF3B0E37-BE0B-4CDD-B584-D1A97D98A922 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 17a2658e-d2cc-439b-a2f0-2aefd9344fbc
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 414
Expect: 100-continue

{
    "Id": null,
    "ReferenceCustomerId": "4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04",
    "BillingCycle" : "Annual",
    "LineItems": [{
            "LineItemNumber": 0,
            "OfferId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
            "SubscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
            "FriendlyName": "Some friendly name",
            "Quantity": 2,
            "PartnerIdOnRecord": null,
            "Attributes": {
                "ObjectType": "OrderLineItem"
            }
        }
    ],
    "CreationDate": null,
    "Attributes": {
        "ObjectType": "Order"
    }
}

REST yanıtı

Başarılı olursa, bu yöntem yanıt gövdesinde güncelleştirilmiş abonelik sırasını döndürür.

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

Her yanıt, başarılı veya başarısız olduğunu belirten bir HTTP durum kodu ve ek hata ayıklama bilgileriyle birlikte 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: 1135
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 17a2658e-d2cc-439b-a2f0-2aefd9344fbc
MS-CV: WtFy3zI8V0u2lnT9.0
MS-ServerId: 020021921
Date: Wed, 25 Jan 2017 23:01:08 GMT

{
    "id": "cf3b0e37-be0b-4cdd-b584-d1a97d98a922",
    "referenceCustomerId": "4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04",
    "billingCycle": "Annual",
    "lineItems": [{
            "lineItemNumber": 0,
            "offerId": "195416C1-3447-423A-B37B-EE59A99A19C4",
            "subscriptionId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
            "friendlyName": "new offer purchase",
            "quantity": 5,
            "links": {
                "subscription": {
                    "uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f",
                    "method": "GET",
                    "headers": []
                }
            }
        },
        {
            "lineItemNumber": 1,
            "offerId": "2828BE95-46BA-4F91-B2FD-0BEF192ECF60",
            "subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
            "friendlyName": "Some friendly name",
            "quantity": 2,
            "links": {
                "subscription": {
                    "uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
                    "method": "GET",
                    "headers": []
                }
            }
        }
    ],
    "creationDate": "2017-01-25T14:53:12.093-08:00",
    "links": {
        "self": {
            "uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/orders/cf3b0e37-be0b-4cdd-b584-d1a97d98a922",
            "method": "GET",
            "headers": []
        }
    },
    "attributes": {
        "etag": "eyJpZCI6ImNmM2IwZTM3LWJlMGItNGNkZC1iNTg0LWQxYTk3ZDk4YTkyMiIsInZlcnNpb24iOjJ9",
        "objectType": "Order"
    }
}