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