Mengelola pengiriman add-on
API pengiriman Microsoft Store menyediakan metode yang dapat Anda gunakan untuk mengelola pengiriman add-on (juga dikenal sebagai produk dalam aplikasi atau IAP) untuk aplikasi Anda. Untuk pengenalan API pengiriman Microsoft Store, termasuk prasyarat untuk menggunakan API, lihat Membuat dan mengelola pengiriman menggunakan layanan Microsoft Store.
Penting
Jika Anda menggunakan API pengiriman Microsoft Store untuk membuat pengiriman untuk add-on, pastikan untuk membuat perubahan lebih lanjut pada pengiriman hanya dengan menggunakan API, daripada membuat perubahan di Pusat Mitra. Jika Anda menggunakan Pusat Mitra untuk mengubah pengiriman yang awalnya Anda buat dengan menggunakan API, Anda tidak akan dapat lagi mengubah atau menerapkan pengiriman tersebut dengan menggunakan API. Dalam beberapa kasus, pengiriman dapat dibiarkan dalam status kesalahan di mana pengiriman tidak dapat dilanjutkan. Jika ini terjadi, Anda harus menghapus pengiriman dan membuat pengiriman baru.
Metode untuk mengelola pengiriman add-on
Gunakan metode berikut untuk mendapatkan, membuat, memperbarui, menerapkan, atau menghapus pengiriman add-on. Sebelum Anda dapat menggunakan metode ini, add-on harus sudah ada di akun Pusat Mitra Anda. Anda dapat membuat add-on di Pusat Mitra dengan menentukan jenis produk dan ID produknya atau dengan menggunakan metode API pengiriman Microsoft Store dalam dijelaskan dalam Mengelola add-on.
Metode | URI | Deskripsi |
---|---|---|
GET | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId} | Mendapatkan pengiriman add-on yang sudah ada |
GET | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/status | Mendapatkan status pengiriman add-on yang sudah ada |
POST | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions | Membuat pengiriman add-on baru |
TARUH | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId} | Memperbarui pengiriman add-on yang sudah ada |
POST | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/commit | Menerapkan pengiriman add-on baru atau yang diperbarui |
DELETE | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId} | Menghapus pengiriman add-on |
Membuat pengiriman add-on
Untuk membuat pengiriman add-on, ikuti proses ini.
Jika Anda belum melakukannya, selesaikan prasyarat yang dijelaskan dalam Membuat dan mengelola pengiriman menggunakan layanan Microsoft Store, termasuk mengaitkan aplikasi Microsoft Azure ACTIVE Directory dengan akun Pusat Mitra Anda dan mendapatkan ID dan kunci klien Anda. Anda hanya perlu melakukan ini satu kali; setelah Anda memiliki ID dan kunci klien, Anda dapat menggunakannya kembali kapan saja Anda perlu membuat token akses Microsoft Azure AD baru.
Dapatkan token akses Azure ACTIVE Directory. Anda harus meneruskan token akses ini ke metode di API pengiriman Microsoft Store. Setelah mendapatkan token akses, Anda memiliki waktu 60 menit untuk menggunakan token akses sebelum masa berlakunya habis. Setelah token kedaluwarsa, Anda dapat memperoleh yang baru.
Jalankan metode berikut di API pengiriman Microsoft Store. Metode ini membuat pengiriman baru yang sedang berlangsung, yang merupakan salinan pengiriman terakhir Anda yang diterbitkan. Untuk informasi selengkapnya, lihat Membuat pengiriman add-on.
POST https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions
Isi respons berisi sumber daya pengiriman add-on yang menyertakan ID pengiriman baru, URI tanda tangan akses bersama (SAS) untuk mengunggah ikon add-on apa pun untuk pengiriman ke Azure Blob Storage, dan semua data untuk pengiriman baru (seperti daftar dan informasi harga).
Catatan
SAS URI menyediakan akses ke sumber daya aman di penyimpanan Azure tanpa memerlukan kunci akun. Untuk informasi latar belakang tentang URI SAS dan penggunaannya dengan Azure Blob Storage, lihat Tanda Tangan Akses Bersama, Bagian 1: Memahami model SAS dan Tanda Tangan Akses Bersama, Bagian 2: Membuat dan menggunakan SAS dengan penyimpanan Blob.
Jika Anda menambahkan ikon baru untuk pengiriman, siapkan ikon dan tambahkan ke arsip ZIP.
Perbarui data pengiriman add-on dengan perubahan yang diperlukan untuk pengiriman baru, dan jalankan metode berikut untuk memperbarui pengiriman. Untuk informasi selengkapnya, lihat Memperbarui pengiriman add-on.
PUT https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}
Catatan
Jika Anda menambahkan ikon baru untuk pengiriman, pastikan Anda memperbarui data pengiriman untuk merujuk ke nama dan jalur relatif file-file ini di arsip ZIP.
Jika Anda menambahkan ikon baru untuk pengiriman, unggah arsip ZIP ke Azure Blob Storage menggunakan URI SAS yang disediakan dalam isi respons metode POST yang Anda panggil sebelumnya. Ada berbagai pustaka Azure yang dapat Anda gunakan untuk melakukan ini di berbagai platform, termasuk:
Contoh kode C# berikut menunjukkan cara mengunggah arsip ZIP ke Azure Blob Storage menggunakan kelas CloudBlockBlob di Pustaka Klien Azure Storage untuk .NET. Contoh ini mengasumsikan bahwa arsip ZIP telah ditulis ke objek stream.
string sasUrl = "https://productingestionbin1.blob.core.windows.net/ingestion/26920f66-b592-4439-9a9d-fb0f014902ec?sv=2014-02-14&sr=b&sig=usAN0kNFNnYE2tGQBI%2BARQWejX1Guiz7hdFtRhyK%2Bog%3D&se=2016-06-17T20:45:51Z&sp=rwl"; Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob blockBob = new Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob(new System.Uri(sasUrl)); await blockBob.UploadFromStreamAsync(stream);
Terapkan pengiriman dengan menjalankan metode berikut. Ini akan memperingatkan Pusat Mitra bahwa Anda selesai dengan pengiriman Anda dan bahwa pembaruan Anda sekarang harus diterapkan ke akun Anda. Untuk informasi selengkapnya, lihat Menerapkan pengiriman add-on.
POST https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/commit
Periksa status penerapan dengan menjalankan metode berikut. Untuk informasi selengkapnya, lihat Mendapatkan status pengiriman add-on.
GET https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/status
Untuk mengonfirmasi status pengiriman, tinjau nilai status dalam isi respons. Nilai ini harus berubah dari CommitStarted menjadi PreProcessing jika permintaan berhasil atau ke CommitFailed jika ada kesalahan dalam permintaan. Jika ada kesalahan, bidang statusDetails berisi detail lebih lanjut tentang kesalahan tersebut.
Setelah penerapan berhasil diselesaikan, pengiriman dikirim ke Store untuk diserap. Anda dapat terus memantau kemajuan pengiriman dengan menggunakan metode sebelumnya, atau dengan mengunjungi Pusat Mitra.
Contoh kode
Artikel berikut ini menyediakan contoh kode terperinci yang menunjukkan cara membuat pengiriman add-on dalam beberapa bahasa pemrograman yang berbeda:
Modul StoreBroker PowerShell
Sebagai alternatif untuk memanggil API pengiriman Microsoft Store secara langsung, kami juga menyediakan modul PowerShell sumber terbuka yang mengimplementasikan antarmuka baris perintah di atas API. Modul ini disebut StoreBroker. Anda dapat menggunakan modul ini untuk mengelola pengiriman aplikasi, penerbangan, dan add-on dari baris perintah alih-alih memanggil API pengiriman Microsoft Store secara langsung, atau Anda cukup menelusuri sumber untuk melihat contoh selengkapnya tentang cara memanggil API ini. Modul StoreBroker secara aktif digunakan dalam Microsoft sebagai cara utama bahwa banyak aplikasi pihak pertama dikirimkan ke Store.
Untuk informasi selengkapnya, lihat halaman StoreBroker kami di GitHub.
Sumber daya data
Metode API pengiriman Microsoft Store untuk mengelola pengiriman add-on menggunakan sumber daya data JSON berikut.
Sumber daya pengiriman add-on
Sumber daya ini menjelaskan pengiriman add-on.
{
"id": "1152921504621243680",
"contentType": "EMagazine",
"keywords": [
"books"
],
"lifetime": "FiveDays",
"listings": {
"en": {
"description": "English add-on description",
"icon": {
"fileName": "add-on-en-us-listing2.png",
"fileStatus": "Uploaded"
},
"title": "Add-on Title (English)"
},
"ru": {
"description": "Russian add-on description",
"icon": {
"fileName": "add-on-ru-listing.png",
"fileStatus": "Uploaded"
},
"title": "Add-on Title (Russian)"
}
},
"pricing": {
"marketSpecificPricings": {
"RU": "Tier3",
"US": "Tier4",
},
"sales": [],
"priceId": "Free",
"isAdvancedPricingModel": true
},
"targetPublishDate": "2016-03-15T05:10:58.047Z",
"targetPublishMode": "Immediate",
"tag": "SampleTag",
"visibility": "Public",
"status": "PendingCommit",
"statusDetails": {
"errors": [
{
"code": "None",
"details": "string"
}
],
"warnings": [
{
"code": "ListingOptOutWarning",
"details": "You have removed listing language(s): []"
}
],
"certificationReports": [
{
}
]
},
"fileUploadUrl": "https://productingestionbin1.blob.core.windows.net/ingestion/26920f66-b592-4439-9a9d-fb0f014902ec?sv=2014-02-14&sr=b&sig=usAN0kNFNnYE2tGQBI%2BARQWejX1Guiz7hdFtRhyK%2Bog%3D&se=2016-06-17T20:45:51Z&sp=rwl",
"friendlyName": "Submission 2"
}
Sumber daya ini memiliki nilai berikut.
Value | Jenis | Deskripsi |
---|---|---|
id | string | ID pengiriman. ID ini tersedia dalam data respons untuk permintaan untuk membuat pengiriman add-on, mendapatkan semua add-on, dan mendapatkan add-on. Untuk pengiriman yang dibuat di Pusat Mitra, ID ini juga tersedia di URL untuk halaman pengiriman di Pusat Mitra. |
contentType | string | Jenis konten yang disediakan dalam add-on. Ini bisa menjadi salah satu nilai berikut:
|
kata kunci | array | Array string yang berisi hingga 10 kata kunci untuk add-on. Aplikasi Anda dapat mengkueri add-on menggunakan kata kunci ini. |
lifetime | string | Masa pakai add-on. Ini bisa menjadi salah satu nilai berikut:
|
Daftar | object | Kamus pasangan kunci dan nilai, di mana setiap kunci adalah kode negara ISO 3166-1 alpha-2 dua huruf dan setiap nilai adalah sumber daya daftar yang berisi info daftar untuk add-on. |
harga | object | Sumber daya harga yang berisi info harga untuk add-on. |
targetPublishMode | string | Mode penerbitan untuk pengiriman. Ini bisa menjadi salah satu nilai berikut:
|
targetPublishDate | string | Tanggal penerbitan untuk pengiriman dalam format ISO 8601, jika targetPublishMode diatur ke SpecificDate. |
tag | string | Data pengembang kustom untuk add-on (informasi ini sebelumnya disebut tag). |
Visibilitas | string | Visibilitas add-on. Ini bisa menjadi salah satu nilai berikut:
|
status | string | Status pengiriman. Ini bisa menjadi salah satu nilai berikut:
|
statusDetails | object | Sumber daya detail status yang berisi detail tambahan tentang status pengiriman, termasuk informasi tentang kesalahan apa pun. |
fileUploadUrl | string | URI tanda tangan akses bersama (SAS) untuk mengunggah paket apa pun untuk pengiriman. Jika Anda menambahkan paket baru untuk pengiriman, unggah arsip ZIP yang berisi paket ke URI ini. Untuk informasi selengkapnya, lihat Membuat pengiriman add-on. |
friendlyName | string | Nama pengiriman yang mudah diingat, seperti yang ditunjukkan di Pusat Mitra. Nilai ini dihasilkan untuk Anda saat Anda membuat pengiriman. |
Mencantumkan sumber daya
Sumber daya ini berisi info daftar untuk add-on. Sumber daya ini memiliki nilai berikut.
Value | Jenis | Deskripsi |
---|---|---|
description | string | Deskripsi untuk daftar add-on. |
ikon | object | Sumber daya ikon yang berisi data untuk ikon untuk daftar add-on. |
title | string | Judul untuk daftar add-on. |
Sumber daya ikon
Sumber daya ini berisi data ikon untuk daftar add-on. Sumber daya ini memiliki nilai berikut.
Value | Jenis | Deskripsi |
---|---|---|
fileName | string | Nama file ikon dalam arsip ZIP yang Anda unggah untuk pengiriman. Ikon harus berupa file .png yang berukuran tepat 300 x 300 piksel. |
fileStatus | string | Status file ikon. Ini bisa menjadi salah satu nilai berikut:
|
Sumber daya harga
Sumber daya ini berisi info harga untuk add-on. Sumber daya ini memiliki nilai berikut.
Value | Jenis | Deskripsi |
---|---|---|
marketSpecificPricings | object | Kamus pasangan kunci dan nilai, di mana setiap kunci adalah kode negara ISO 3166-1 alpha-2 dua huruf dan setiap nilai adalah tingkat harga. Item-item ini mewakili harga kustom untuk add-on Anda di pasar tertentu. Setiap item dalam kamus ini mengambil alih harga dasar yang ditentukan oleh nilai priceId untuk pasar yang ditentukan. |
penjualan | array | Ditolak. Array sumber daya penjualan yang berisi informasi penjualan untuk add-on. |
priceId | string | Tingkat harga yang menentukan harga dasar untuk add-on. |
isAdvancedPricingModel | Boolean | Jika true, akun pengembang Anda memiliki akses ke set tingkat harga yang diperluas dari .99 USD ke 1999,99 USD. Jika false, akun pengembang Anda memiliki akses ke set tingkat harga asli dari .99 USD hingga 999,99 USD. Untuk informasi selengkapnya tentang berbagai tingkatan, lihat tingkat harga. Catatan Bidang ini bersifat baca-saja. |
Jual sumber daya
Sumber daya ini berisi info penjualan untuk add-on.
Penting
Sumber daya Penjualan tidak lagi didukung, dan saat ini Anda tidak dapat mendapatkan atau memodifikasi data penjualan untuk pengiriman add-on menggunakan API pengiriman Microsoft Store. Di masa mendatang, kami akan memperbarui API pengiriman Microsoft Store untuk memperkenalkan cara baru untuk mengakses informasi penjualan secara terprogram untuk pengiriman add-on.
- Setelah memanggil metode GET untuk mendapatkan pengiriman add-on, nilai penjualan akan kosong. Anda dapat terus menggunakan Pusat Mitra untuk mendapatkan data penjualan untuk pengiriman add-on Anda.
- Saat memanggil metode PUT untuk memperbarui pengiriman add-on, informasi dalam nilai penjualan diabaikan. Anda dapat terus menggunakan Pusat Mitra untuk mengubah data penjualan untuk pengiriman add-on Anda.
Sumber daya ini memiliki nilai berikut.
Value | Jenis | Deskripsi |
---|---|---|
nama | string | Nama penjualan. |
basePriceId | string | Tingkat harga yang digunakan untuk harga dasar penjualan. |
startDate | string | Tanggal mulai untuk penjualan dalam format ISO 8601. |
endDate | string | Tanggal akhir untuk penjualan dalam format ISO 8601. |
marketSpecificPricings | object | Kamus pasangan kunci dan nilai, di mana setiap kunci adalah kode negara ISO 3166-1 alpha-2 dua huruf dan setiap nilai adalah tingkat harga. Item-item ini mewakili harga kustom untuk add-on Anda di pasar tertentu. Setiap item dalam kamus ini mengambil alih harga dasar yang ditentukan oleh nilai basePriceId untuk pasar yang ditentukan. |
Sumber daya detail status
Sumber daya ini berisi detail tambahan tentang status pengiriman. Sumber daya ini memiliki nilai berikut.
Value | Jenis | Deskripsi |
---|---|---|
errors | object | Array sumber daya detail status yang berisi detail kesalahan untuk pengiriman. |
peringatan | object | Array sumber daya detail status yang berisi detail peringatan untuk pengiriman. |
certificationReports | object | Array sumber daya laporan sertifikasi yang menyediakan akses ke data laporan sertifikasi untuk pengiriman. Anda dapat memeriksa laporan ini untuk informasi lebih lanjut jika sertifikasi gagal. |
Sumber daya detail status
Sumber daya ini berisi informasi tambahan tentang kesalahan atau peringatan terkait untuk pengiriman. Sumber daya ini memiliki nilai berikut.
Value | Jenis | Deskripsi |
---|---|---|
kode | string | Kode status pengiriman yang menjelaskan jenis kesalahan atau peringatan. |
detail | string | Pesan dengan detail selengkapnya tentang masalah ini. |
Sumber daya laporan sertifikasi
Sumber daya ini menyediakan akses ke data laporan sertifikasi untuk pengiriman. Sumber daya ini memiliki nilai berikut.
Value | Jenis | Deskripsi |
---|---|---|
date | string | Tanggal dan waktu laporan dibuat, dalam format ISO 8601. |
reportUrl | string | URL tempat Anda dapat mengakses laporan. |
Enum
Metode ini menggunakan enum berikut.
Tingkat harga
Nilai berikut mewakili tingkat harga yang tersedia di sumber daya sumber daya harga untuk pengiriman add-on.
Nilai | Deskripsi |
---|---|
Base | Tingkat harga tidak ditetapkan; gunakan harga dasar untuk add-on. |
Tidak Tersedia | Add-on tidak tersedia di wilayah yang ditentukan. |
Gratis | Add-on gratis. |
Tingkat xxxx | String yang menentukan tingkat harga untuk add-on, dalam format Tierxxxx. Saat ini, rentang tingkat harga berikut didukung:
|
Kode status pengiriman
Nilai berikut mewakili kode status pengiriman.
Nilai | Deskripsi |
---|---|
Tidak | Tidak ada kode yang ditentukan. |
InvalidArchive | Arsip ZIP yang berisi paket tidak valid atau memiliki format arsip yang tidak dikenal. |
MissingFiles | Arsip ZIP tidak memiliki semua file yang tercantum dalam data pengiriman Anda, atau berada di lokasi yang salah dalam arsip. |
PackageValidationFailed | Satu atau beberapa paket dalam pengiriman Anda gagal divalidasi. |
InvalidParameterValue | Salah satu parameter dalam isi permintaan tidak valid. |
InvalidOperation | Operasi yang Anda coba tidak valid. |
InvalidState | Operasi yang Anda coba tidak valid untuk status penerbangan paket saat ini. |
ResourceNotFound | Penerbangan paket yang ditentukan tidak dapat ditemukan. |
ServiceError | Kesalahan layanan internal mencegah permintaan berhasil. Coba permintaan lagi. |
ListingOptOutWarning | Pengembang menghapus daftar dari pengiriman sebelumnya, atau tidak menyertakan informasi daftar yang didukung oleh paket. |
ListingOptInWarning | Pengembang menambahkan daftar. |
UpdateOnlyWarning | Pengembang mencoba menyisipkan sesuatu yang hanya memiliki dukungan pembaruan. |
Lainnya | Pengiriman dalam status tidak dikenali atau tidak dikategorikan. |
PackageValidationWarning | Proses validasi paket menghasilkan peringatan. |
Topik terkait
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