Membuat kelir dengan pesanan pelanggan
Berlaku untuk: Pusat Mitra | Pusat Mitra yang dioperasikan oleh 21Vianet | Pusat Mitra untuk Microsoft Cloud untuk Pemerintah AS
Anda dapat menambahkan pesanan untuk pelanggan di kelir. Untuk informasi selengkapnya tentang apa yang saat ini tersedia untuk dijual, lihat Penawaran mitra di program Penyedia Solusi Cloud.
Catatan
Keranjang kedaluwarsa 7 hari dari pembuatan awal.
Prasyarat
Kredensial seperti yang dijelaskan dalam autentikasi Pusat Mitra. Skenario ini mendukung autentikasi dengan kredensial Aplikasi mandiri dan Aplikasi+Pengguna.
ID pelanggan (
customer-tenant-id
). Jika Anda tidak mengetahui ID pelanggan, Anda dapat mencarinya di Pusat Mitra dengan memilih ruang kerja Pelanggan , lalu pelanggan dari daftar pelanggan, lalu Akun. Pada halaman Akun pelanggan, cari ID Microsoft di bagian Info Akun Pelanggan. ID Microsoft sama dengan ID pelanggan (customer-tenant-id
).
C#
Untuk membuat pesanan bagi pelanggan:
Membuat instans objek Cart.
Buat daftar objek CartLineItem , dan tetapkan daftar ke properti LineItems kelir. Setiap item garis kelistrikan berisi informasi pembelian untuk satu produk. Anda harus memiliki setidaknya satu item garis kelir.
Dapatkan antarmuka ke operasi keliru dengan memanggil metode IAggregatePartner.Customers.ById dengan ID pelanggan untuk mengidentifikasi pelanggan, lalu mengambil antarmuka dari properti Ke cart .
Panggil metode Buat atau BuatAsync untuk membuat kelir.
Untuk menyelesaikan pengesahan dan menyertakan pengecer lain, lihat sampel Sampel Permintaan dan Respons berikut:
Meminta sampel
{
"PartnerOnRecordAttestationAccepted":true, "lineItems": [
{
"id": 0,
"catalogItemId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
"quantity": 1,
"billingCycle": "monthly",
"termDuration": "P1M",
"renewsTo": null,
"provisioningContext": {},
"customTermEndDate": "2022-02-19T00:00:00Z"
},
{
"id": 1,
"catalogItemId": "CFQ7TTC0LFLS:0002:CFQ7TTC0KDLJ",
"quantity": 2,
"billingCycle": "monthly",
"termDuration": "P1Y",
"participants": [
{
"key": "transaction_reseller",
"value": "5357564"
},
{
"key": "additional_transaction_reseller",
"value": "517285"
},
{
"key": "additional_transaction_reseller",
"value": "5357563"
}
]
}
]
}
Sampel respons
{
"id": "3e22b548-647d-4223-9675-1fcb6cb57665",
"creationTimestamp": "2021-08-18T17:29:52.3517492Z",
"lastModifiedTimestamp": "2021-08-18T17:29:52.3517553Z",
"expirationTimestamp": "2021-08-25T17:30:11.2406416Z",
"lastModifiedUser": "da62a0dc-35e9-4601-b48e-a047bd3ec7c1",
"status": "Active",
"lineItems": [
{
"id": 0,
"catalogItemId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
"quantity": 1,
"currencyCode": "USD",
"billingCycle": "monthly",
"termDuration": "P1M",
"customTermEndDate": "2022-02-19T00:00:00Z";
"provisioningContext": {},
"orderGroup": "0"
},
{
"id": 1,
"catalogItemId": "CFQ7TTC0LFLS:0002:CFQ7TTC0KDLJ",
"quantity": 2,
"currencyCode": "USD",
"billingCycle": "monthly",
"termDuration": "P1Y",
"participants": [
{
"key": "transaction_reseller",
"value": "5357564"
},
{
"key": "additional_transaction_reseller",
"value": "517285"
},
{
"key": "additional_transaction_reseller",
"value": "5357563"
}
],
"provisioningContext": {},
"orderGroup": "0"
}
],
"links": {
"self": {
"uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/carts/3e22b548-647d-4223-9675-1fcb6cb57665",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Cart"
}
}
C# contoh
// IAggregatePartner partnerOperations;
// string customerId;
// string subscriptionId;
var cart = new Cart()
{
LineItems = new List<CartLineItem>()
{
new CartLineItem()
{
/* Microsoft Azure Subscription */
Id = 0,
CatalogItemId = "MS-AZR-0145P",
Quantity = 1,
BillingCycle = BillingCycleType.Monthly,
TermDuration = "P1Y"
},
new CartLineItem()
{
/* Azure Reserved Instance */
Id = 1,
CatalogItemId = "DZH318Z0BQ36:004G:DZH318Z08C0S",
Quantity = 1,
BillingCycle = BillingCycleType.OneTime,
TermDuration = "P1Y",
ProvisioningContext = new Dictionary<string, string>
{
{ "subscriptionId", subscriptionId },
{ "scope", "shared" }
}
},
new CartLineItem()
{
/* Azure Reserved Instance */
Id = 2,
CatalogItemId = "DZH318Z0BQ36:004J:DZH318Z08B8X",
Quantity = 1,
BillingCycle = BillingCycleType.OneTime,
TermDuration = "P3Y",
ProvisioningContext = new Dictionary<string, string>
{
{ "subscriptionId", subscriptionId },
{ "scope", "shared" }
}
},
new CartLineItem()
{
/* Perpetual Software */
Id = 3,
CatalogItemId = "DG7GMGF0DWM3:0002:DG7GMGF0DT1M",
Quantity = 1,
BillingCycle = BillingCycleType.OneTime
},
new CartLineItem()
{
/* SaaS */
Id = 4,
CatalogItemId = "DZH318Z0BXWC:0002:DZH318Z0BMRV",
Quantity = 1,
BillingCycle = BillingCycleType.Monthly,
TermDuration = "P1M"
},
new CartLineItem()
{
/* SaaS Free Trial */
Id = 5,
CatalogItemId = "DZH318Z0C0WF:0001:DZH318Z0BP69",
Quantity = 10,
BillingCycle = BillingCycleType.None,
TermDuration = "P1M",
RenewsTo = new RenewsTo
{
TermDuration = "P1Y"
}
}
}
};
cart = partnerOperations.Customers.ById(customerId).Carts.Create(cart);
Java
SDK Java Pusat Mitra dapat digunakan untuk mengelola sumber daya Pusat Mitra. Ini adalah proyek sumber terbuka yang dikelola oleh komunitas mitra dan tidak didukung secara resmi oleh Microsoft. Anda bisa mendapatkan bantuan dari komunitas atau membuka masalah di GitHub jika Anda mengalami masalah.
Untuk membuat pesanan bagi pelanggan:
Membuat instans objek Cart.
Buat daftar objek CartLineItem , dan tetapkan daftar ke item baris kelir. Setiap item garis kelistrikan berisi informasi pembelian untuk satu produk. Anda harus memiliki setidaknya satu item garis kelir.
Dapatkan antarmuka ke operasi keranjang dengan memanggil fungsi IAggregatePartner.getCustomers().byId dengan ID pelanggan untuk mengidentifikasi pelanggan, lalu mengambil antarmuka dari fungsi getCart .
Panggil fungsi buat untuk membuat kelir.
Contoh Java
// IAggregatePartner partnerOperations;
// String customerId;
// String subscriptionId;
// String catalogItemId;
CartLineItem lineItem = new CartLineItem();
lineItem.setBillingCycle(BillingCycleType.OneTime);
lineItem.setCatalogItemId(catalogItemId);
lineItem.setFriendlyName("Sample RI Purchase");
lineItem.setQuantity(1);
Map<String, String> provisioningContext = new HashMap<String,String>();
provisioningContext.put("duration", "3Years");
provisioningContext.put("scope", "shared");
provisioningContext.put("subscriptionId", subscriptionId);
lineItem.setProvisioningContext(provisioningContext);
List<CartLineItem> lineItemList = new ArrayList<CartLineItem>();
lineItemList.add(lineItem);
Cart cart = new Cart();
cart.setLineItems(lineItemList);
Cart cartCreated = partnerOperations.getCustomers().byId(customerId).getCarts().create(cart);
PowerShell
Modul Pusat Mitra PowerShell dapat digunakan untuk mengelola sumber daya Pusat Mitra. Ini adalah proyek sumber terbuka yang dikelola oleh komunitas mitra dan tidak didukung secara resmi oleh Microsoft. Anda bisa mendapatkan bantuan dari komunitas atau membuka masalah di GitHub jika Anda mengalami masalah.
Untuk membuat pesanan bagi pelanggan:
Membuat instans objek Cart.
Buat daftar objek CartLineItem , dan tetapkan daftar ke item baris kelir. Setiap item garis kelistrikan berisi informasi pembelian untuk satu produk. Anda harus memiliki setidaknya satu item garis kelir.
Jalankan perintah New-PartnerCustomerCart untuk membuat keranjang.
# $customerId
# $subscriptionId
# $catalogItemId
$lineItem = New-Object -TypeName Microsoft.Store.PartnerCenter.PowerShell.Models.Carts.PSCartLineItem
$lineItem.BillingCycle = 'OneTime'
$lineItem.CatalogItemId = $catalogItemId
$lineItem.FriendlyName = 'Sample RI Purchase'
$lineItem.ProvisioningContext.Add('duration', '1Year')
$lineItem.ProvisioningContext.Add('scope', 'shared')
$lineItem.ProvisioningContext.Add('subscriptionId', $subsciptionId)
$lineItem.Quantity = 10
New-PartnerCustomerCart -CustomerId $customerId -LineItems $lineItem
Permintaan REST
Minta sintaks
Metode | URI Permintaan |
---|---|
POST | {baseURL}/v1/customers/{customer-id}/carts HTTP/1.1 |
Parameter URI
Gunakan parameter jalur berikut untuk mengidentifikasi pelanggan.
Nama | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
id pelanggan | string | Ya | ID pelanggan berformat GUID yang mengidentifikasi pelanggan. |
Header permintaan
Untuk informasi selengkapnya, lihat Header REST Pusat Mitra.
Isi permintaan
Tabel ini menjelaskan properti Cart dalam isi permintaan.
Properti | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
id | string | No | Pengidentifikasi kelir yang disediakan setelah keberhasilan pembuatan kelir. |
creationTimeStamp | DateTime | No | Tanggal kelir dibuat, dalam format tanggal-waktu. Diterapkan setelah pembuatan kemudi yang berhasil. |
lastModifiedTimeStamp | DateTime | No | Tanggal kelir terakhir diperbarui, dalam format tanggal-waktu. Diterapkan setelah pembuatan kemudi yang berhasil. |
expirationTimeStamp | DateTime | No | Tanggal kedaluwarsa kedaluwarsa kedaluwarsa, dalam format tanggal-waktu. Diterapkan setelah keberhasilan pembuatan kerbau. |
lastModifiedUser | string | No | Pengguna yang terakhir memperbarui kelir. Diterapkan setelah keberhasilan pembuatan kerbau. |
lineItems | Array objek | Ya | Array sumber daya CartLineItem . |
PartnerOnRecordAttestationAccepted | Boolean | Ya | Mengonfirmasi penyelesaian Pengesahan |
Tabel ini menjelaskan properti CartLineItem dalam isi permintaan.
Properti | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
id | string | No | Pengidentifikasi unik untuk item garis kelistrikan. Diterapkan setelah keberhasilan pembuatan kerbau. |
catalogId | string | Ya | Pengidentifikasi item katalog. Pastikan ketersediaan item katalog adalah untuk segmen yang benar. |
friendlyName | string | No | Opsional. Nama yang mudah diingat untuk item yang ditentukan oleh mitra untuk membantu memisahkan. |
promotionId | string | No | Opsional. Sebagian besar promosi NCE akan berlaku secara otomatis, namun untuk promosi opsional (seperti Bridge to the Cloud 2) untuk diterapkan ke item baris kelir, mitra harus menyertakan ID promosi dalam permintaan tambahkan ke kelir. |
kuantitas | int | Ya | Jumlah lisensi atau instans. |
currencyCode | string | No | Kode mata uang. |
billingCycle | Objek | Ya | Jenis siklus penagihan yang ditetapkan untuk periode saat ini. |
customTermEndDate | DateTime | No | Tanggal akhir langganan yang sudah ada yang ingin Anda buat bersama langganan baru. |
peserta | Daftar pasangan String Objek | No | Kumpulan PartnerId on Record (PartnerID) pada pembelian. |
provisioningContext | String kamus<, string> | No | Informasi yang diperlukan untuk provisi untuk beberapa item dalam katalog. Properti provisioningVariables dalam SKU menunjukkan properti mana yang diperlukan untuk item tertentu dalam katalog. |
orderGroup | string | No | Grup untuk menunjukkan item mana yang dapat ditempatkan bersama-sama. |
kesalahan | Objek | No | Diterapkan setelah kelir dibuat jika ada kesalahan. |
renewsTo | Array objek | No | Array sumber daya RenewsTo . |
Pengesahan Diterima | Boolean | No | Menunjukkan perjanjian untuk menawarkan atau kondisi sku. Diperlukan hanya untuk penawaran atau sku di mana SkuAttestationProperties atau OfferAttestationProperties enforceAttestation adalah True. |
transaction_reseller | String | No | Ketika penyedia tidak langsung menempatkan pesanan atas nama reseller tidak langsung, isi bidang ini dengan PartnerID dari reseller tidak langsung saja (tidak pernah ID penyedia tidak langsung). Ini memastikan akuntansi yang tepat untuk insentif. |
additional_transaction_reseller | String | No | Ketika penyedia tidak langsung menempatkan pesanan atas nama reseller tidak langsung, isi bidang ini dengan PartnerID dari Reseller tidak langsung tambahan saja (tidak pernah ID penyedia tidak langsung). Insentif tidak berlaku untuk pengecer tambahan ini. Hanya maksimal 5 Reseller Tidak Langsung yang dapat dimasukkan. Ini hanya mitra yang berlaku yang bertransaksi dalam negara/wilayah UE / EFTA. |
Tabel ini menjelaskan properti RenewsTo dalam isi permintaan.
Properti | Tipe | Diperlukan | Deskripsi |
---|---|---|---|
termDuration | string | No | Representasi ISO 8601 dari durasi jangka waktu perpanjangan. Nilai yang didukung saat ini adalah P1M (1 bulan) dan P1Y (1 tahun). |
Contoh permintaan
POST /v1/customers/d6bf25b7-e0a8-4f2d-a31b-97b55cfc774d/carts HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 4fa6dad6-a89f-4875-8247-8294a10ae1cf
MS-CorrelationId: 0e93c70c-977a-4a88-9580-7cf084c73286
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 496
Expect: 100-continue
{
"lineItems": [
{
/* Microsoft Azure Subscription */
"id": 0,
"catalogItemId": "MS-AZR-0145P",
"quantity": 1,
"billingCycle": "monthly",
"termDuration": "P1Y"
},
{
/* Azure Reserved Instance */
"id": 1,
"catalogItemId": "DZH318Z0BQ36:004G:DZH318Z08C0S",
"quantity": 1,
"billingCycle": "one_time",
"termDuration": "P1Y",
"provisioningContext": {
"subscriptionId": "1C461A25-F729-4FA5-AADB-280947DD05E8",
"scope": "shared"
}
},
{
/* Azure Reserved Instance */
"id": 2,
"catalogItemId": "DZH318Z0BQ36:004J:DZH318Z08B8X",
"quantity": 1,
"billingCycle": "one_time",
"termDuration": "P3Y",
"provisioningContext": {
"subscriptionId": "1C461A25-F729-4FA5-AADB-280947DD05E8",
"scope": "single"
}
},
{
/* Perpetual Software */
"id": 3,
"catalogItemId": "DG7GMGF0DWTL:0001:DG7GMGF0DSFM",
"quantity": 1,
"billingCycle": "one_time"
},
{
/* SaaS */
"id": 4,
"catalogItemId": "DZH318Z0BXWC:0002:DZH318Z0BMRV",
"quantity": 1,
"billingCycle": "monthly",
"termDuration": "P1M"
},
{
/* SaaS Free Trial */
"id": 5,
"catalogItemId": "DZH318Z0C0WF:0001:DZH318Z0BP69",
"quantity": 10,
"billingCycle": "none",
"termDuration": "P1M",
"renewsTo": {
"termDuration": "P1Y"
}
}
]
}
Penting
Pada Juni 2023, Pusat Mitra terbaru .NET SDK rilis 3.4.0 sekarang diarsipkan. Anda dapat mengunduh rilis SDK dari GitHub, bersama dengan file readme yang berisi informasi yang berguna.
Mitra didorong untuk terus menggunakan REST API Pusat Mitra.
Respons REST
Jika berhasil, metode ini mengembalikan sumber daya Cart yang diisi dalam isi respons.
Kode kesalahan dan keberhasilan respons
Setiap respons dilengkapi dengan kode status HTTP yang menunjukkan informasi keberhasilan atau kegagalan dan penelusuran kesalahan. Gunakan alat pelacakan jaringan untuk membaca kode ini, jenis kesalahan, dan parameter lainnya. Untuk daftar lengkapnya, lihat Kode Kesalahan.
Contoh tanggapan
HTTP/1.1 201 Created
Content-Length: 764
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 0e93c70c-977a-4a88-9580-7cf084c73286
MS-RequestId: 4fa6dad6-a89f-4875-8247-8294a10ae1cf
X-Locale: en-US,en-US
MS-CV: sF/wRa2ih0CzbABc.0
MS-ServerId: 000001
Date: Thu, 15 Mar 2018 17:15:01 GMT
{
"id": "3655b1a0-b1c9-4268-9824-577fdbc4d0be",
"creationTimestamp": "2019-01-16T00:45:41.6062996Z",
"lastModifiedTimestamp": "2019-01-16T00:45:41.6062996Z",
"expirationTimestamp": "2019-01-16T01:00:54.4188497Z",
"lastModifiedUser": "1824b7fc-2fac-4478-b177-66823c40ab75",
"status": "Active",
"lineItems": [
{
"id": 0,
"catalogItemId": "MS-AZR-0145P",
"quantity": 1,
"currencyCode": "USD",
"billingCycle": "monthly",
"termDuration": "P1Y",
"orderGroup": "OMS-0"
},
{
"id": 1,
"catalogItemId": "DZH318Z0BQ36:004G:DZH318Z08C0S",
"quantity": 1,
"currencyCode": "USD",
"billingCycle": "one_time",
"termDuration": "P1Y",
"provisioningContext": {
"subscriptionId": "1C461A25-F729-4FA5-AADB-280947DD05E8",
"scope": "shared"
},
"orderGroup": "0"
},
{
"id": 2,
"catalogItemId": "DZH318Z0BQ36:004J:DZH318Z08B8X",
"quantity": 1,
"currencyCode": "USD",
"billingCycle": "one_time",
"termDuration": "P3Y",
"provisioningContext": {
"subscriptionId": "1C461A25-F729-4FA5-AADB-280947DD05E8",
"scope": "shared"
},
"orderGroup": "0"
},
{
"id": 3,
"catalogItemId": "DG7GMGF0DWM3:0002:DG7GMGF0DT1M",
"quantity": 1,
"currencyCode": "USD",
"billingCycle": "one_time",
"orderGroup": "0"
},
{
"id": 4,
"catalogItemId": "DZH318Z0BXWC:0002:DZH318Z0BMRV",
"quantity": 1,
"currencyCode": "USD",
"billingCycle": "monthly",
"termDuration": "P1M",
"orderGroup": "1"
},
{
"id": 5,
"catalogItemId": "DZH318Z0C0WF:0001:DZH318Z0BP69",
"quantity": 10,
"currencyCode": "USD",
"billingCycle": "none",
"termDuration": "P1M",
"renewsTo": {
"termDuration": "P1Y"
},
"orderGroup": "2"
}
],
"links": {
"self": {
"uri": "/customers/28045616-f6b9-462f-9701-0d89b5e65c44/carts/3655b1a0-b1c9-4268-9824-577fdbc4d0be",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Cart"
}
}
Contoh untuk layanan berbasis lisensi perdagangan baru
Catatan
Pengalaman perdagangan baru untuk layanan berbasis lisensi mencakup banyak kemampuan baru dan tersedia untuk semua Penyedia Solusi Cloud (CSP). Untuk informasi selengkapnya, lihat gambaran umum pengalaman perdagangan baru.
Contoh permintaan
POST /v1/customers/932c4101-dc08-461b-b4c1-75d80e905775/carts HTTP/1.1
Host: api.partnercenter.microsoft.com
Content-Type: application/json
Content-Length: 165
{
"LineItems": [
{
"CatalogItemId":"CFQ7TTC0LFLZ:0002:CFQ7TTC0K4TS",
"Quantity": 1,
"TermDuration": "P1M",
"BillingCycle": "Monthly"
}
]
}
Penting
Paket Azure dan item baris perangkat lunak abadi tidak mendukung properti termDuration. Hindari menyertakan ini saat mengasingkan jenis item ini.
Respons REST
Jika berhasil, metode ini mengembalikan sumber daya Cart yang diisi dalam isi respons.
Kode kesalahan dan keberhasilan respons
Setiap respons dilengkapi dengan kode status HTTP yang menunjukkan keberhasilan atau kegagalan dan informasi penelusuran kesalahan lainnya. Gunakan alat pelacakan jaringan untuk membaca kode ini, jenis kesalahan, dan parameter lainnya. Untuk daftar lengkapnya, lihat Kode Kesalahan.
Contoh tanggapan
{
"id": "2517c51b-58cd-4abe-87ed-3ab812401ab4",
"creationTimestamp": "2023-07-11T21:16:11.55149Z",
"lastModifiedTimestamp": "2023-07-11T21:16:11.5515713Z",
"expirationTimestamp": "2023-07-18T21:16:17.2480482Z",
"lastModifiedUser": "9db12087-fbc3-481c-8965-73d44ff88e27",
"status": "Active",
"lineItems": [
{
"id": 0,
"catalogItemId": "CFQ7TTC0LF8S:0001:CFQ7TTC0VZW5",
"quantity": 1,
"currencyCode": "USD",
"billingCycle": "monthly",
"termDuration": "P1Y",
"provisioningContext": {},
"orderGroup": "0",
"pricing": {
"listPrice": 30.4,
"discountedPrice": 30.4,
"proratedPrice": 30.4,
"price": 30.4,
"extendedPrice": 364.8
}
}
],
"links": {
"self": {
"uri": "/customers/ebd8b4c2-4069-46a8-bd70-123d6dec3e39/carts/2517c51b-58cd-4abe-87ed-3ab812401ab4",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Cart"
}
}
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk