Aracılığıyla paylaş


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

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

İpucu

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 abonelikler için faturalama sıklığınızı değiştirmek için, Aboneliği Kimliğe göre güncelleştirme - İş ortağı uygulama geliştiricisi | Microsoft Learn API'sini seçin.

Bir Siparişi 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 makalenin kapsamı dışında:

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

Önkoşullar

  • İş Ortağı Merkezi kimlik doğrulamasında açıklandığı gibi kimlik bilgileri. Bu senaryo hem tek başına Uygulama hem de Uygulama+Kullanıcı kimlik bilgileriyle kimlik doğrulamayı destekler.

  • Müşteri kimliği (customer-tenant-id). Müşterinin kimliğini bilmiyorsanız, İş Ortağı Merkezi'nde Müşteriler çalışma alanını, ardından müşteri listesinden müşteriyi ve ardından Hesap'ı seçerek bunu arayabilirsiniz. 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ğ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

Metot İ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 Zorunlu Açıklama
customer-tenant-id GUID Y Müşteriyi tanımlayan GUID biçimli customer-tenant-id
order-id GUID Y Sipariş tanımlayıcısı

İstek üst bilgileri

Daha fazla bilgi için bkz . İş Ortağı Merkezi REST üst bilgileri.

Request body

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

Sipariş

Özellik Type Zorunlu Açıklama
Kimlik dize N Siparişin başarıyla oluşturulmasından sonra sağlanan sipariş tanımlayıcısı
ReferenceCustomerId Dize Y Müşteri tanımlayıcısı
BillingCycle Dize Y İş ortağının bu sipariş için faturalandırıldığı sıklığı gösterir. Desteklenen değerler BillingCycleType içinde bulunan üye adlarıdır.
LineItems nesne dizisi Y OrderLineItem kaynakları dizisi
CreationDate datetime N Siparişin oluşturulduğu tarih, tarih-saat biçiminde
Özellikler Object N contains "ObjectType": "OrderLineItem"

OrderLineItem

Özellik Type Zorunlu Açıklama
LineItemNumber Numara Y 0 ile başlayan satır öğesi numarası
OfferId Dize Y Teklifin kimliği
SubscriptionId Dize Y Aboneliğin kimliği
FriendlyName Dize N Belirsizliğe yardımcı olmak için iş ortağı tarafından tanımlanan aboneliğin kolay adı
Miktar Numara Y Lisans veya örnek sayısı
PartnerIdOnRecord Dize N Kayıt ortağının İş Ortağı Kimliği
Özellikler Object N contains "ObjectType": "OrderLineItem"

İstek örneği

Yıllık faturalamaya güncelleştirme

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