Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Pusat Mitra | Pusat Mitra yang dioperasikan oleh 21Vianet | Pusat Mitra untuk Microsoft Cloud untuk Pemerintah AS
Membuat pesanan untuk produk instans VM yang dipesan Azurehanya berlaku untuk:
- Pusat Mitra
Untuk informasi tentang apa yang saat ini tersedia untuk dijual, lihat Penawaran mitra di program Penyedia Solusi Cloud.
Prasyarat
Detail login sebagaimana dijelaskan pada autentikasi Partner Center. 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).Pengidentifikasi penawaran.
C#
Untuk membuat pesanan bagi pelanggan:
Buat instans objek Pesanan dan atur properti ReferenceCustomerID ke ID pelanggan untuk merekam pelanggan.
Buat daftar objek OrderLineItem , dan tetapkan daftar ke properti LineItems pesanan . Setiap item baris pesanan berisi informasi pembelian untuk satu penawaran. Anda harus memiliki setidaknya satu item baris pesanan.
Dapatkan antarmuka untuk memesan operasi. Pertama, panggil metode IAggregatePartner.Customers.ById dengan ID pelanggan untuk mengidentifikasi pelanggan. Selanjutnya, ambil antarmuka dari properti Pesanan .
Panggil metode Buat atau BuatAsync dan teruskan objek Pesanan .
Untuk menyelesaikan pengesahan dan menyertakan pengecer lain, lihat sampel Sampel Permintaan dan Respons berikut:
Permintaan contoh
{
"PartnerOnRecordAttestationAccepted":true,
"lineItems": [
{
"offerId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
"quantity": 1,
"lineItemNumber": 0,
"PartnerIdOnRecord": "873452",
"AdditionalPartnerIdsOnRecord":["4847383","873452"]
}
],
"billingCycle": "monthly"
}
Contoh tanggapan
{
"id": "5cf72f146967",
"alternateId": "5cf72f146967",
"referenceCustomerId": "f81d98dd-c2f4-499e-a194-5619e260344e",
"billingCycle": "monthly",
"currencyCode": "USD",
"currencySymbol": "$",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "CFQ7TTC0LH0Z:0001:CFQ7TTC0K18P",
"subscriptionId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"termDuration": "P1M",
"transactionType": "New",
"friendlyName": "AI Builder Capacity add-on",
"quantity": 1,
"partnerIdOnRecord": "873452",
"additionalPartnerIdsOnRecord": [
"4847383",
"873452"
],
"links": {
"product": {
"uri": "/products/CFQ7TTC0LH0Z?country=US",
"method": "GET",
"headers": []
},
"sku": {
"uri": "/products/CFQ7TTC0LH0Z/skus/0001?country=US",
"method": "GET",
"headers": []
},
"availability": {
"uri": "/products/CFQ7TTC0LH0Z/skus/0001/availabilities/CFQ7TTC0K18P?country=US",
"method": "GET",
"headers": []
}
}
}
],
"creationDate": "2021-08-17T18:13:11.3122226Z",
"status": "pending",
"transactionType": "UserPurchase",
"links": {
"self": {
"uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/5cf72f146967",
"method": "GET",
"headers": []
},
"provisioningStatus": {
"uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/5cf72f146967/provisioningstatus",
"method": "GET",
"headers": []
},
"patchOperation": {
"uri": "/customers/f81d98dd-c2f4-499e-a194-5619e260344e/orders/5cf72f146967",
"method": "PATCH",
"headers": []
}
},
"client": {},
"attributes": {
"objectType": "Order"
}
}
IAggregatePartner partnerOperations;
string customerId;
string offerId;
var order = new Order()
{
ReferenceCustomerId = customerId,
LineItems = new List<OrderLineItem>()
{
new OrderLineItem()
{
OfferId = offerId,
FriendlyName = "new offer purchase",
Quantity = 1,
ProvisioningContext = new Dictionary<string, string>
{
{ "subscriptionId", "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f" },
{ "scope", "shared" },
{ "duration", "3Years" }
}
}
}
};
var createdOrder = partnerOperations.Customers.ById(customerId).Orders.Create(order);
Sampel: Aplikasi pengujian konsol. Proyek: Kelas Sampel SDK Pusat Mitra: CreateOrder.cs
Permintaan layanan REST
Sintaksis permintaan
| Metode | Memohon URI |
|---|---|
| POST | {baseURL}/v1/customers/{customer-id}/orders HTTP/1.1 |
Parameter URI
Gunakan parameter jalur berikut untuk mengidentifikasi pelanggan.
| Nama | Tipe | Diperlukan | Description |
|---|---|---|---|
| id pelanggan | string | Yes | ID pelanggan berformat GUID yang mengidentifikasi pelanggan. |
Tajuk permintaan
Untuk informasi selengkapnya, lihat REST header di Partner Center.
Isi dari permintaan
Pesanan
Tabel ini menjelaskan properti Pesanan dalam isi permintaan.
| Harta benda | Tipe | Diperlukan | Description |
|---|---|---|---|
| id | string | Tidak. | Pengidentifikasi pesanan yang disediakan setelah pembuatan pesanan berhasil. |
| referenceCustomerId | string | Tidak. | Pengidentifikasi pelanggan. |
| billingCycle | string | Tidak. | Menunjukkan frekuensi yang ditagih mitra untuk pesanan ini. Nilai yang didukung adalah nama anggota yang ditemukan di BillingCycleType. Defaultnya adalah "Bulanan" atau "OneTime" pada pembuatan pesanan. Bidang ini diterapkan setelah pembuatan pesanan berhasil. |
| lineItems | array sumber daya OrderLineItem | Yes | Daftar item penawaran yang dibeli pelanggan termasuk kuantitas. |
| kode mata uang | string | Tidak. | Baca-saja. Mata uang yang digunakan saat menempatkan pesanan. Diterapkan setelah pembuatan pesanan berhasil. |
| creationDate | tanggalwaktu | Tidak. | Baca-saja. Tanggal pesanan dibuat, dalam format tanggal-waktu. Diterapkan setelah pembuatan pesanan berhasil. |
| status | string | Tidak. | Baca-saja. Status pesanan. Nilai yang didukung adalah nama anggota yang ditemukan di OrderStatus. |
| links | OrderLinks | Tidak. | Tautan sumber daya yang sesuai dengan Pesanan. |
| attributes | ResourceAttributes | Tidak. | Atribut metadata yang sesuai dengan Pesanan. |
| PartnerOnRecordAttestationAccepted | Boolean | Yes | Mengonfirmasi penyelesaian Pengesahan |
OrderLineItem
Tabel ini menjelaskan properti OrderLineItem di isi permintaan.
Nota
Saat memeriksa keranjang melalui API, barang-barang diproses sesuai urutan mereka dimasukkan ke dalam keranjang. Pesanan dapat memengaruhi kelayakan untuk promosi dengan batasan New To Offer jika ada dua produk dengan jenis yang sama di keranjang, satu dengan ID promo dan yang lainnya tanpa ID promo (misalnya, dengan syarat yang berbeda). Pastikan untuk menempatkan item apa pun yang memenuhi syarat untuk promosi terlebih dahulu di keranjang jika Anda membeli beberapa item.
| Nama | Tipe | Diperlukan | Description |
|---|---|---|---|
| lineItemNumber | int | Yes | Setiap item baris dalam koleksi mendapatkan nomor baris unik, menghitung dari 0 hingga hitungan-1. |
| offerId | string | Yes | Pengidentifikasi penawaran. Pastikan ketersediaan penawaran adalah untuk segmen yang benar. |
| subscriptionId | string | Tidak. | Pengidentifikasi langganan. |
| parentSubscriptionId | string | Tidak. | Optional. ID langganan induk dalam penawaran add-on. Hanya berlaku untuk PATCH. |
| friendlyName | string | Tidak. | Optional. Nama yang mudah diingat untuk langganan yang ditentukan oleh mitra untuk membantu memisahkan. |
| jumlah | int | Yes | Jumlah lisensi untuk langganan berbasis lisensi. |
| customTermEndDate | DateTime | Tidak. | Tanggal akhir jangka waktu penagihan pertama langganan baru. |
| partnerIdOnRecord | string | Tidak. | 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. |
| provisioningContext | String kamus<, string> | Tidak. | Informasi yang diperlukan untuk provisi untuk beberapa item dalam katalog. Properti provisioningVariables dalam SKU menunjukkan properti mana yang diperlukan untuk item tertentu dalam katalog. |
| links | OrderLineItemLinks | Tidak. | Baca-saja. Tautan sumber daya yang sesuai dengan item baris Pesanan. |
| attributes | ResourceAttributes | Tidak. | Atribut metadata yang sesuai dengan OrderLineItem. |
| renewsTo | Array objek | Tidak. | Array sumber daya RenewsTo . |
| Pengesahan Diterima | bool | Tidak. | Menunjukkan perjanjian untuk menawarkan atau kondisi sku. Diperlukan hanya untuk penawaran atau sku di mana SkuAttestationProperties atau OfferAttestationProperties enforceAttestation adalah True. |
| AdditionalPartnerIdsOnRecord | String | Tidak. | 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 lain ini. Hanya maksimal lima Reseller Tidak Langsung yang dapat dimasukkan. Nilai ini hanya berlaku mitra yang bertransaksi dalam negara/wilayah Eropa. |
| scheduledNextTermInstructions | objek | Tidak. | Menentukan instruksi istilah berikutnya untuk langganan uji coba. Mitra dapat menentukan durasi jangka waktu, frekuensi penagihan, dan jumlah yang dimiliki langganan berbayar terkait saat perpanjangan. |
Nota
PartnerIdOnRecord hanya boleh disediakan ketika penyedia tidak langsung melakukan pemesanan atas nama penjual tidak langsung. Ini digunakan untuk menyimpan PartnerID dari reseller tidak langsung saja (tidak pernah ID penyedia tidak langsung).
Perpanjang Ke
Tabel ini menjelaskan properti RenewsTo di isi permintaan untuk penawaran Microsoft Marketplace.
| Harta benda | Tipe | Diperlukan | Description |
|---|---|---|---|
| termDuration | string | Tidak. | Representasi ISO 8601 dari durasi jangka waktu perpanjangan. Nilai yang didukung saat ini adalah P1M (1 bulan) dan P1Y (1 tahun). |
ScheduledNextTermInstructions
Tabel ini menjelaskan properti scheduledNextTermInstructions di badan permintaan untuk penawaran uji coba berbasis lisensi New Commerce Experience (NCE). Jika tidak ada nilai yang ditentukan, uji coba diperpanjang menjadi langganan berbayar dengan jangka waktu tahunan, penagihan bulanan, dan 25 lisensi.
| Harta benda | Tipe | Diperlukan | Description |
|---|---|---|---|
| produk | array | Tidak. | Array yang menentukan penawaran langganan uji coba diperpanjang ke dalam dan istilah dan frekuensi penagihan yang dimiliki langganan berbayar. |
| jumlah | int | Tidak. | Kuantitas lisensi yang dimiliki langganan berbayar yang sesuai setelah penawaran uji coba diperpanjang. |
Produk
Tabel ini menjelaskan properti productTerm dalam isi permintaan untuk penawaran uji coba berbasis lisensi NCE. Jika tidak ada nilai yang ditentukan dalam array ini, uji coba diperpanjang menjadi langganan berbayar dengan jangka waktu tahunan, tagihan bulanan.
| Harta benda | Tipe | Diperlukan | Description |
|---|---|---|---|
| ID produk | string | Tidak. | GUID yang diformat untuk mewakili produk dari langganan berbayar yang akan diteruskan oleh masa uji coba. |
| skuId | string | Tidak. | GUID yang diformat untuk mewakili SKU langganan berbayar ke mana uji coba diperbarui. |
| availabilityId | string | Tidak. | GUID yang diformat untuk mewakili ketersediaan langganan berbayar yang akan diperbarui oleh uji coba. |
| billingCycle | string | Tidak. | Frekuensi penagihan yang dimiliki langganan berbayar yang sesuai setelah penawaran uji coba diperpanjang. |
| termDuration | string | Tidak. | Jangka waktu langganan berbayar setelah perpanjangan penawaran uji coba. |
Permintaan contoh
POST https://api.partnercenter.microsoft.com/v1/customers/b0d70a69-4c42-4b27-b17b-91a835d8686a/orders HTTP/1.1
Authorization: Bearer <token>
Host: api.partnercenter.microsoft.com
Content-Length: 691
Content-Type: application/json
{
"BillingCycle": "one_time",
"CurrencyCode": "USD",
"LineItems": [
{
"LineItemNumber": 0,
"ProvisioningContext": {
"subscriptionId": "cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a",
"scope": "shared",
"duration": "1Year"
},
"OfferId": "DZH318Z0BQ4B:0047:DZH318Z0DSM8",
"FriendlyName": "A_sample_Azure_RI",
"Quantity": 1
}
]
}
// request example where some renewal values for an NCE license-based trial are specified
http
POST https://api.partnercenter.microsoft.com/v1/customers/b0d70a69-4c42-4b27-b17b-91a835d8686a/orders HTTP/1.1
Authorization: Bearer <token>
Host: api.partnercenter.microsoft.com
Content-Length: 486
Content-Type: application/json
{
"lineItems": [
{
"id": 0,
"catalogItemId": "CFQ7TTC0LCHC:0003:CFQ7TTC0XCQC",
"quantity": 25,
"currencyCode": "USD",
"billingCycle": "none",
"termDuration": "P1M",
"promotionId": null,
"provisioningContext": {},
"customTermEndDate": null,
"scheduledNextTermInstructions": {
"product": {
"billingCycle": "monthly",
"termDuration": "P1M"
}
}
}
],
"partnerOnRecordAttestationAccepted": true
}
Respons terhadap REST
Jika berhasil, metode mengembalikan sumber daya Pesanan dalam isi respons.
Jika pesanan berisi satu atau beberapa langganan, nilai ID langganan masing-masing hanya muncul di respons REST jika langganan yang sesuai disediakan pada saat panggilan API. Langganan provisi terjadi secara asinkron, dan oleh karena itu, nilai ID langganan mungkin tidak selalu terlihat dalam respons REST dari panggilan Buat Pesanan. Namun, setelah langganan masing-masing disediakan, nilai ID langganan mereka dapat diakses melalui panggilan Get Orders dan Get Order by ID API.
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 Pusat Mitra.
Contoh tanggapan
{
"id": "Cs_jyTxubLpvdJXdo8xcQZN6I2RsLrgZ1",
"referenceCustomerId": "b0d70a69-4c42-4b27-b17b-91a835d8686a",
"billingCycle": "one_time",
"currencyCode": "USD",
"lineItems": [
{
"lineItemNumber": 0,
"offerId": "84A03D81-6B37-4D66-8D4A-FAEA24541538",
"friendlyName": "A_sample_Azure_RI",
"quantity": 1,
"links": {
"sku": {
"uri": "/products/DZH318Z0BQ4B/skus/0047?country=US",
"method": "GET",
"headers": []
}
}
} ],
"creationDate": "2018-03-15T22:30:02.085152Z",
"status": "pending",
"links": {
"provisioningStatus": {
"uri": "/customers/b0d70a69-4c42-4b27-b17b-91a835d8686a/orders/Cs_jyTxubLpvdJXdo8xcQZN6I2RsLrgZ1/provisioningstatus",
"method": "GET",
"headers": []
},
"self": {
"uri": "/customers/b0d70a69-4c42-4b27-b17b-91a835d8686a/orders/Cs_jyTxubLpvdJXdo8xcQZN6I2RsLrgZ1",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Order"
}
}
// response content for an order containing an NCE license-based trial
{
"id": "99d3777b-61da-4c95-aefa-203c248c4180",
"creationTimestamp": "2025-02-04T22:22:36.7924103Z",
"lastModifiedTimestamp": "2025-02-04T22:22:36.7924109Z",
"expirationTimestamp": "2025-02-11T22:23:34.5190698Z",
"lastModifiedUser": "b5109661-56c5-45ed-9447-f67463458a97",
"status": "Active",
"lineItems": [
{
"id": 0,
"catalogItemId": "CFQ7TTC0LCHC:0003:CFQ7TTC0XCQC",
"quantity": 25,
"currencyCode": "USD",
"billingCycle": "none",
"termDuration": "P1M",
"provisioningContext": {},
"orderGroup": "0",
"pricing": {
"listPrice": 0.0,
"discountedPrice": 0.0,
"proratedPrice": 0.0,
"price": 0.0,
"extendedPrice": 0.0
},
"scheduledNextTermInstructions": {
"product": {
"productId": "CFQ7TTC0LCHC",
"skuId": "0002",
"availabilityId": "CFQ7TTC0XL82",
"billingCycle": "monthly",
"termDuration": "P1M"
},
"quantity": 25
}
}
],
"links": {
"self": {
"uri": "/customers/81e78b53-9aa8-44e7-a041-3b15272d8f84/carts/99d3777b-61da-4c95-aefa-203c248c4180",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Cart"
}
}