Teknologi platform-Pengenalan kepada penggunaan perkhidmatan pemesejan
Perkhidmatan mesej ialah perkhidmatan tolak aktif (Dari Taobao) yang dilancarkan oleh platform terbuka untuk meningkatkan kecekapan panggilan API aplikasi termasuk (urus niaga Taobao, produk, bayaran balik dan maklumat lain). , aplikasi memperoleh data Taobao tidak lagi perlu sentiasa meninjau API Anda hanya perlu menghubungi API untuk mendapatkannya apabila menerima mesej yang ditolak oleh Taobao, yang meningkatkan kecekapan panggilan API dan mengurangkan kos penggunaan API. Pada masa yang sama, ia juga menyediakan perkhidmatan pemulangan mesej (Kepada Taobao Aplikasi ini boleh mengembalikan maklumat kepada Taobao dan menyediakan perkhidmatan sumber data produk, dsb.
Dari Taobao: Taobao menolak berita rasmi tentang transaksi, produk, bayaran balik Taobao (termasuk Tmall), dll.
Kepada Taobao: Kembalikan mesej kepada Taobao.
Jadi bagaimana untuk menggunakan perkhidmatan pemesejan? Sila lihat arahan terperinci berikut untuk menggunakan perkhidmatan pemesejan Dari Taobao dan Ke Taobao.
Daripada perkhidmatan mesej Taobao, gunakan
mesej langganan apl
Masukkan ISV console, pada halaman "Pengurusan Aplikasi->Perkhidmatan Mesej->Mesej", pilih mesej yang diperlukan untuk melanggan, Klik "Langgan" di belakang mesej yang sepadan untuk berjaya melanggan mesej Anda boleh melihat mesej yang berjaya dilanggan dalam "Langganan Saya". Jika anda perlu membatalkan langganan mesej, klik "Batalkan Langganan" terus. Klik nama mesej untuk melihat maklumat medan terperinci yang dikembalikan oleh setiap mesej.
Nota: Jika mesej tidak mempunyai kebenaran, ini bermakna aplikasi belum membuka kebenaran panggilan API yang berkaitan Klik "Mohon Kebenaran" untuk memohon pakej kebenaran yang sepadan. Di samping itu, jika anda perlu mengaktifkan perkhidmatan mesej dalam kotak pasir, anda boleh merujuk kepada bab [Pengaktifan Perkhidmatan Mesej Kotak Pasir] artikel ini
untuk mengaktifkan mesej untuk pengguna
dan hubungitaobao.tmc antara muka .user.permit kepada pengguna (iaitu peniaga Taobao atau Tmall), anda boleh memilih untuk mendayakan beberapa jenis mesej sahaja untuk pengguna, atau anda boleh mendayakan kesemuanya. Untuk butiran, sila lihat perihalan parameter API.
- Prasyarat untuk mengaktifkan mesej untuk pengguna ialah pengguna telah membenarkan aplikasi Jika tidak, sila rujuk arahan Dapatkan kebenaran pengguna.
- Untuk membatalkan perkhidmatan mesej pengguna, hubungi antara muka taobao.tmc.user.cancel.
- Anda boleh mendapatkan mesej yang diaktifkan pengguna melalui antara muka taobao.tmc.user.get. Parameter input mestilah_valid, topik, diubah suai untuk menentukan sama ada mesej kebenaran pengguna berjaya
- Dokumen API perkhidmatan mesej: Klik di sini untuk melihat
Kod melaksanakan penerimaan mesej
Alamat perkhidmatan persekitaran formal: ws://mc.api.taobao.com/
Alamat perkhidmatan persekitaran kotak pasir: ws://mc.api.tbsandbox.com/
Menerima mesej, kaedah pelaksanaannya ialah: Dua jenis: Terima mesej melalui SDK, Terima mesej melalui API Adalah disyorkan untuk menggunakan SDK untuk menerima mesej.
Terima mesej melalui SDK
Pada masa ini menyokong bahasa JAVA dan .NET Untuk bahasa lain, adalah disyorkan untuk menggunakan API untuk menerima mesej. Apabila menerima mesej melalui SDK, anda hanya perlu menumpukan pada pemprosesan perniagaan Anda tidak perlu risau tentang penghantaran semula mesej, pengesahan, penyambungan semula sambungan yang panjang, dsb. SDK akan mengendalikan segala-galanya secara automatik.
Arahan penggunaan antara muka JAVA
public interface MessageHandler { /** * 消息通道客户端收到消息后,会回调该方法处理具体的业务,处理结果可以通过以下两种方式来表述: * <ul> * <li>抛出异常或设置status.fail()表明消息处理失败,需要消息通道服务端重发 * <li>不抛出异常,也没有设置status信息,则表明消息处理成功,消息通道服务端不会再投递此消息 * * @param message 消息内容 * @param status 处理结果,如果调用status.fail(),消息通道将会择机重发消息;否则,消息通道认为消息处理成功 * @throws Exception 消息处理失败,消息通道将会择机重发消息 */ public void onMessage(Message message, MessageStatus status) throws Exception; }
contoh kod penggunaan JAVA
TmcClient client = new TmcClient("app_key", "app_secret", "default"); // 关于default参考消息分组说明 client.setMessageHandler(new MessageHandler() { public void onMessage(Message message, MessageStatus status) { try { System.out.println(message.getContent()); System.out.println(message.getTopic()); } catch (Exception e) { e.printStackTrace(); status.fail(); // 消息处理失败回滚,服务端需要重发 // 重试注意:不是所有的异常都需要系统重试。 // 对于字段不全、主键冲突问题,导致写DB异常,不可重试,否则消息会一直重发 // 对于,由于网络问题,权限问题导致的失败,可重试。 // 重试时间 5分钟不等,不要滥用,否则会引起雪崩 } } }); client.connect("ws://mc.api.taobao.com"); // 消息环境地址:ws://mc.api.tbsandbox.com/Nota: Apabila menggunakan kaedah utama Java untuk menjalankan ujian kod di atas dalam Eclipse, sila tambahkan Thread.sleep selepas client..connect(). utas utama menunggu tempoh masa untuk memerhatikan penerimaan mesej masa nyata Jika tidak, selepas utas utama tamat, sambungan panjang TMC juga akan terputus. Jika anda menjalankan kod di atas pada pelayan web, anda tidak perlu menambah sebarang kod Thread.sleep selepas client.connect(), dan anda juga tidak perlu membungkus gelung sementara (benar) di luar, kerana utas utama pada pelayan web hanya memerlukan pelayan untuk Penutupan tidak akan berakhir, dan sambungan panjang TMC akan sentiasa dikekalkan.
Kod contoh penggunaan C#
TmcClient client = new TmcClient("appkey", "appsecret", "default"); // 关于default参考消息分组说明 client.OnMessage += (s, e) => { try { Console.WriteLine(e.Message.Topic); Console.WriteLine(e.Message.Content); // 默认不抛出异常则认为消息处理成功 } catch (Exception exp) { Console.WriteLine(exp.StackTrace); e.Fail(); // 消息处理失败回滚,服务端需要重发 // 重试注意:不是所有的异常都需要系统重试。 //对于字段不全、主键冲突问题,导致写DB异常,不可重试,否则消息会一直重发 // 对于,由于网络问题,权限问题导致的失败,可重试。 // 重试时间 5分钟不等,不要滥用,否则会引起雪崩 } }; client.Connect("ws://mc.api.taobao.com/"); // 消息环境地址:ws://mc.api.tbsandbox.com/Nota: Apabila menggunakan kaedah Utama C# untuk menjalankan ujian kod di atas dalam projek konsol VS, sila tambahkan Console.Read() atau Thread.Sleep selepas klien.Sambung untuk memastikan utas utama daripada tamat buat sementara waktu supaya anda boleh memerhati Mesej masa nyata status Penerimaan, jika tidak selepas utas Utama tamat, sambungan panjang TMC juga akan terputus. Jika anda menjalankan kod di atas dalam pelayan IIS atau aplikasi C#, anda tidak perlu menambah sebarang kod menunggu selepas klien. Sambung, anda juga tidak perlu membungkus gelung sementara (benar) di luar selagi pelayan IIS atau Aplikasi C# tidak Apabila ditutup, sambungan panjang TMC akan dikekalkan.
Terima mesej melalui API
Tujuan menyediakan API untuk menerima mesej adalah untuk bahasa yang menyusahkan untuk pemprosesan sambungan berbilang benang dan panjang, seperti PHP dan Python Bahasa ini tidak mempunyai SDK rasmi buat masa ini. Anda boleh menggunakan dua kaedah berikut API juga boleh digunakan bersama untuk mencapai tujuan menerima dan mengesahkan mesej. Adalah disyorkan untuk menggunakan kaedah SDK sebanyak mungkin Jika API mesti digunakan, adalah disyorkan bahawa antara muka taobao.tmc.messages.consume dipanggil tanpa konkurensi atau terlalu banyak konkurensi. prestasi masa API tidak begitu tinggi Jika keperluan masa nyata adalah tinggi, ia masih disyorkan.
Langkah asas:
- Mula-mula gunakan mesej: Nama API: taobao.tmc.messages.consumeSelepas mesej digunakan, penunjuk secara automatik bergerak ke belakang, dan panggilan seterusnya akan memperoleh mesej yang tidak digunakan secara automatik, tetapi selepas pengesahan penggunaan Mesej tidak boleh diambil semula.
- Kemudian sahkan mesej: Nama API: taobao.tmc.messages.confirmSelepas mendapat mesej, jika ia tidak disahkan, perkhidmatan mesej akan memilih masa untuk menghantarnya semula Jumlah penghantaran semula dikawal oleh mesej perkhidmatan jika mesej tidak disahkan dalam masa 3 hari akan dipadamkan.
JAVA contoh kod
TaobaoClient client = new DefaultTaobaoClient("http://gw.api.taobao.com/router/rest", "app_key", "app_secret", "json"); do { long quantity = 100L; TmcMessagesConsumeResponse rsp = null; do { TmcMessagesConsumeRequest req = new TmcMessagesConsumeRequest(); req.setQuantity(quantity); req.setGroupName("default"); rsp = client.execute(req); if (rsp.isSuccess() && rsp.getMessages() != null) { for (TmcMessage msg : rsp.getMessages()) { // handle message System.out.println(msg.getContent()); System.out.println(msg.getTopic()); // confirm message TmcMessagesConfirmRequest cReq = new TmcMessagesConfirmRequest(); cReq.setGroupName("default"); cReq.setsMessageIds(String.valueOf(msg.getId())); TmcMessagesConfirmResponse cRsp = client.execute(cReq); System.out.println(cRsp.getBody()); } } System.out.println(rsp.getBody()); } while (rsp != null && rsp.isSuccess() && rsp.getMessages() != null && rsp.getMessages().size() == quantity); Thread.sleep(1000L); } while (true);
C# kod sampel
ITopClient client = new DefaultTopClient("http://gw.api.taobao.com/router/rest", "app_key", "app_secret", "json"); do { long quantity = 100L; TmcMessagesConsumeResponse rsp = null; do { TmcMessagesConsumeRequest req = new TmcMessagesConsumeRequest(); req.GroupName = "default"; req.Quantity = quantity; rsp = client.Execute(req); if (!rsp.IsError && rsp.Messages != null) { foreach (TmcMessage msg in Messages) { // handle message Console.WriteLine(msg.Topic); Console.WriteLine(msg.Content); // confirm message TmcMessagesConfirmRequest cReq = new TmcMessagesConfirmRequest(); cReq.GroupName = "default"; cReq.SMessageIds = msg.Id.ToString(); TmcMessagesConfirmResponse cRsp = client.Execute(cReq); Console.WriteLine(cRsp.Body); } } Console.WriteLine(rsp.Body); } while (rsp != null && !rsp.IsError && rsp.Messages != null && rsp.Messages.Count == quantity); Thread.Sleep(new TimeSpan(0, 0, 1)); } while (true);Nota: Purata RT menarik mesej melalui API boleh mencapai kira-kira 10 milisaat apabila rangkaian baik, dan mesej yang diperolehi setiap kali kosong. , pastikan anda menjeda sekurang-kurangnya 1 saat sebelum melaksanakan gelung seterusnya untuk menarik mesej, jika tidak, ia akan menjana banyak permintaan yang tidak perlu, pembaziran sumber pelayan dan paket trafik API aplikasi itu sendiri.
Pengenalan kepada penggunaan pengelompokan mesej
Apabila bilangan pengguna ramai, berbilang mesin perlu membentuk gugusan untuk menerima mesej, atau peniaga diasingkan untuk menerima mesej secara berasingan. Kedua-dua SDK dan API boleh menerima mesej melalui berbilang sambungan.
Perkhidmatan pemesejan menyokong berbilang sambungan dalam dua cara: Ⅰ Buat berbilang kumpulan pengguna dan setiap kumpulan pengguna mewujudkan sambungan. Ⅱ Wujudkan berbilang sambungan dalam kumpulan yang sama
- Buat kumpulan: Panggil antara muka taobao.tmc.group.add untuk membuat kumpulan tersuai. Nota: Perkhidmatan pemesejan akan membuat kumpulan lalai untuk aplikasi sambungan kumpulan digunakan.
- Padamkan kumpulan: Panggil antara muka taobao.tmc.group.delete untuk memadamkan kumpulan atau pengguna yang ditentukan di bawah kumpulan itu. Nota: Setiap aplikasi boleh mencipta sehingga 50 kumpulan, dan tiada had kepada bilangan pengguna dalam setiap kumpulan.
Untuk menggunakan perkhidmatan mesej Taobao
Mesej pulangan data langganan
Dalam latar belakang pengurusan aplikasi, klik "Mesej Langganan". sepadan Pakej nilai tambah
kod melaksanakan mesej tolak
Untuk pemulangan mesej, terdapat dua cara: Menerbitkan mesej melalui API, Menerbitkan mesej melalui API untuk menerbitkan mesej.
Terbitkan mesej melalui API
Untuk arahan khusus, sila rujuk dokumen API:Terbitkan mesej melalui SDK (tidak disyorkan) Currently JAVC
bahasa, Untuk bahasa lain, adalah disyorkan untuk menggunakan API untuk menerbitkan mesej.
contoh kod JAVA
TmcClient client = new TmcClient("app_key", "app_secret", "default"); client.connect("ws://mc.api.taobao.com/"); for (int i = 0; i < 10; i++) { client.send("helloworld-topic", "{helloworld-content}", "session_key"); }
Contoh kod C#
TmcClient client = new TmcClient("app_key", "app_secret", "default"); client.Connect("ws://mc.api.taobao.com/"); for (int i = 0; i < 10; i++) { client.Send("helloworld-topic", "{helloworld-content}", "session_key"); }
Penerangan jenis mesej biasa
Platform telah menyediakan dokumen penerangan mesej berstruktur, klik di sini untuk memasukkan dokumen masukkan kawalan Langgan dan nyahlanggan perkhidmatan pemesejan stesen.
Perkhidmatan pemesejan kotak pasir diaktifkan1 Lawatihttp://mini.tbsandbox.com/ dan log masuk ke kotak pasir [Anda boleh mendaftar akaun kotak pasir sendiri atau gunakan akaun lalai. www.tbsandbox.com /doc/Pengenalan kepada "Uji Penciptaan Akaun"】Kedua, pilih alat ujian kotak pasir-pengurusan saluran mesej
Masukkan kekunci aplikasi kotak pasir untuk melanggan mesej [Pengujian kotak pasir menggunakan item ujian pengubahsuaian inventori sebagai contoh untuk melanggan taobao_item_ItemStockChanged]
3. Kotak pasir untuk mendapatkan operasi pintasan SessionKey, masukkan AppKey kotak pasir dan klik carian untuk mendapatkan SessionKey. Seperti yang ditunjukkan dalam rajah di bawah, aplikasi sandbox_c_1 kebenaran 1021719331 boleh mendapatkan datanya Kod kebenaran ialah nilai yang sepadan dengan SessionKey. Kemudian hubungi antara muka taobao.tmc.user.permit untuk membenarkan 1021719331 menerima mesejnya.
4. Jalankan kod (minta ke ws://mc.api.tbsandbox.com/, gunakan sandbox appkey, secret, sandbox account, rujuk persekitaran rasmi di atas untuk bahagian kod). bermula, anda boleh pergi ke Pengesahan Ujian Inventori Pengubahsuaian Pusat penjual kotak pasir.
Soalan Lazim perkhidmatan mesej
Apakah pengumpulan dan sama ada pengelompokan diperlukan
Pengumpulan mesej ialah cara untuk mengasingkan mesej pengguna dalam kumpulan hanya akan dihantar kepada sambungan dengan nama kumpulan yang sama. Kumpulan yang sama menyokong berbilang sambungan, dan mesej dalam kumpulan yang sama dihantar secara rawak ke sambungan tertentu dalam kumpulan. Jika anda ingin melayan mesej secara berbeza berdasarkan jenis pengguna, seperti memberi keutamaan kepada pengguna berbayar dan kemudian pengguna percuma, anda boleh menerima mesej daripada pengguna yang berbeza melalui pengumpulan mesej. Setiap aplikasi boleh mencipta sehingga 50 kumpulan, dan tiada had kepada bilangan pengguna dalam setiap kumpulan.
Apakah penerimaan mesej berbilang sambungan dan cara mewujudkan berbilang sambungan
Penerimaan mesej berbilang sambungan bermakna pelayan ISV dalam kumpulan yang sama mewujudkan berbilang sambungan dengan pelayan mesej TOP untuk menerima mesej. Berbilang pautan bermaksud bahawa untuk kumpulan yang sama, apabila mesej dihantar, satu sambungan dipilih secara rawak daripada berbilang sambungan dalam kumpulan untuk menyampaikan mesej. Berbilang pautan mempunyai fungsi menghantar mesej secara rawak, dan berbilang sambungan dalam kumpulan yang sama boleh digunakan untuk melaksanakan fungsi pengelompokan dan pemuatan.
Mewujudkan berbilang pautan hanya memerlukan memulakan semula contoh TmcClient dengan kod yang sama. Berbilang pautan kumpulan yang sama boleh diwujudkan pada pelayan ISV yang sama atau pada pelayan ISV yang berbeza.
Apabila menggunakan pelbagai sambungan? tidak boleh diproses, ia akan ditimbun pada pelayan Secara amnya Dalam kes ini, tidak perlu membuat sambungan berbilang Satu sambungan boleh mengisi kad rangkaian mesin. Sambungan berbilang perkhidmatan pemesejan baharu lebih biasa digunakan dalam kumpulan pengguna atau senario penggunaan kelompok.
Dalam kes terputus sambungan (seperti aplikasi tergantung), pelayan akan mengumpul mesej, dan selepas aplikasi menyambung semula, mesej terkumpul akan ditolak kepada klien mengikut urutan. Dari masa mesej dilahirkan, jika permohonan tidak menerimanya, masa pengekalan maksimum pada pelayan ialah 3 hari Jika melebihi 3 hari, ia akan dikosongkan secara automatik. Jika sambungan adalah normal tetapi pemprosesan mesej gagal, pelayan akan menghantar semula mesej untuk kali pertama setiap 10 minit paling awal Jika aplikasi terus gagal untuk memproses, pelayan akan menghantar semula mesej dengan kerap sehingga mesej itu dikosongkan.
Masalah limpahan integer bagi json_decode dalam PHP
Di bawah PHP versi 5.3, json_decode bergantung pada bilangan digit sistem pengendalian untuk mentafsir nombor Pada sistem 32-bit, ia hanya menyokong maksimum 2^32 tafsiran nombor dan pada sistem 64-bit, ia menyokong maksimum 2^32 Penjelasan nombor 2^64. Memandangkan ID mesej perkhidmatan mesej melebihi nilai maksimum sistem 32-bit, jika ia tidak dinaik taraf kepada PHP versi 5.3 atau lebih tinggi, ID mesej yang salah akan disahkan, mengakibatkan penghantaran mesej berulang. Penyelesaiannya ialah: 1. Naik taraf PHP kepada 5.3 atau lebih tinggi 2. Sebarkan aplikasi kepada sistem 64-bit 3. Gantikan nombor dalam mesej JSON dengan rentetan melalui ungkapan biasa dan cara lain. . Bayaran balik Tmall hanya termasuk pesanan daripada Tmall, manakala bayaran balik Taobao termasuk pesanan daripada Taobao dan Tmall Walau bagaimanapun, status bayaran balik Tmall adalah lebih kaya dan memerlukan lebih banyak proses. Jika ia tidak digunakan, adalah disyorkan untuk menggunakan mesej bayaran balik Taobao Jika perlu, anda perlu memohon kebenaran API bayaran balik Tmall, yang boleh diaktifkan selepas permohonan.
Adakah terdapat kelewatan dalam perkhidmatan pemesejan
Ia mengambil masa 10 saat untuk mengaktifkan perkhidmatan pemesejan taobao.tmc.user.permit untuk pengguna berkuat kuasa. Pada asasnya tiada kelewatan dalam menggunakan mesej dan semuanya akan diterima dalam masa 1 saat. Jika terdapat mesej terkumpul atau program tidak diproses dalam masa, akan berlaku kelewatan. Masa kelewatan adalah berkaitan dengan keupayaan pemprosesan program. Membatalkan perkhidmatan mesej untuk pengguna akan berkuat kuasa dalam masa 1 saat selepas taobao.tmc.user.cancel Selepas pembatalan, mesej terkumpul akan terus dihantar dan mesej baharu tidak akan dihantar.
Adakah biasa untuk nama samaran dalam mesej produk message.getContent() kosong? Bagaimanakah saya boleh mengetahui kepunyaan kedai mana mesej itu?
Dalam maklumat produk, ada kes di mana nick kosong. Anda boleh menggunakan lapisan luar untuk mendapatkan message.getUserNick() atau message.getUserId().
Perkhidmatan mesej, jika pengguna tamat tempoh, adakah dia masih menerima mesej?
Terdapat dua syarat untuk menilai tolak perkhidmatan mesej: 1. Sama ada kebenaran pengguna berada dalam tempoh sah; 2. Sama ada pengguna telah mengaktifkan perkhidmatan mesej (toabao.tmc.user.permit). Hanya apabila kedua-duanya berpuas hati pada masa yang sama ia akan ditolak. Sebaliknya, jika kebenaran pengguna tamat tempoh, ia tidak akan ditolak. Selain itu, dalam tempoh satu bulan selepas kebenaran pengguna tamat tempoh, hubungan pengaktifan pengguna akan disimpan dan akan dikosongkan selepas satu bulan. Jika pengguna memberi kebenaran semula dalam masa satu bulan, tidak perlu mendayakan semula perkhidmatan pemesejan untuk pengguna.
Selepas mendapat mesej, jika ia tidak disahkan, perkhidmatan mesej akan memilih peluang untuk menghantar semula bilangan penghantaran semula dikawal oleh perkhidmatan mesej setakat ini.
Perkhidmatan pemesejan menyemak mesej yang tidak diproses setiap sepuluh minit dan kemudian menghantarnya pada masa yang sesuai Jika mesej itu tidak disahkan dalam masa 3 hari, ia akan dipadamkan
Mesej belum diterima Bagaimana untuk mengesahkan sama ada perkhidmatan mesej telah terlepas?
Melalui maklum balas harian, tiada kebocoran mesej dalam perkhidmatan mesej Secara amnya, program ISV tidak menerima mesej atau keupayaan pemprosesan program menyebabkan mesej disekat. Mesej penyelesaian masalah boleh disahkan dari aspek berikut:
* Mula-mula sahkan sama ada kebenaran (SessionKey) adalah sah
* Panggil taobao.tmc.user.get untuk mengesahkan pengguna semasa dan mesej yang diaktifkan, dan hantar parameter pengembalian ke dalam topik; ; hubungi TmcClient.isOnline() untuk menguji Adakah degupan jantung disambung secara normal? Jika penyelesaian masalah di atas gagal, anda boleh menyerahkan masalah kepada pusat sokongan dan melampirkan: AppKey, nama panggilan pengguna, status mesej, anggaran masa mesej, tid pesanan dan nombor_iid produk.
Nota tentang parameter konfigurasi klien
.NET SDK: Masa penyambungan semula ReconnectIntervalSeconds, mengenal pasti selang masa untuk penyambungan semula apabila TmcClient diputuskan sambungan. Nilai ini mestilah >10s Jika nilai ini terlalu kecil, pautan akan gagal Sebabnya ialah jika pelayan mengesan sambungan semula dalam masa 500ms, ia akan memutuskan sambungan baru.
Nota tentang perubahan inventori produk
- Apabila inventori produk diubah suai melalui API (taobao.item.quantity.update, atau taobao.item.sku.update untuk menukar kuantiti), mesej taobao_item_ItemStockCtockC .
- Apabila mengemas kini kuantiti produk melalui API (taobao.item.update) atau mengubah suai inventori produk melalui halaman, hanya mesej perubahan produk (taobao_item_ItemUpdate) akan dijana, tetapi mesej taobao_item_ItemStockChanged tidak akan dihantar Mesej sahaja mengandungi kuantiti inventori produk, tiada jumlah perubahan.
Dalam operasi berikut, kuantiti inventori produk dipulangkan terus:
- Apabila produk diambil gambar (bergambar untuk mengurangkan inventori) atau pembayaran (bayaran untuk mengurangkan inventori) (termasuk membuat transaksi melalui API), mesej di atas akan dijana .
- Mesej ini akan dijana apabila pesanan ditutup atau subpesanan ditutup (termasuk menutup transaksi melalui API).
- Apabila pembeli menyelesaikan pembayaran dan penjual mengubah suai SKU produk pesanan melalui halaman, inventori SKU produk yang sepadan juga akan berubah dan mesej di atas akan dijana (mesej perubahan transaksi taobao_trade_TradeChanged juga akan dijana di kali ini). . Antara muka bayaran balik pantas (taobao.trade.fastrefund) membayar pembeli secara langsung dan kemudian menutup transaksi Proses bayaran balik tidak akan dibuat, jadi tiada mesej bayaran balik akan dihasilkan. Pada masa ini, hanya kategori maya yang menyokong antara muka taobao.trade.fastrrefund.
Masa, luar masa, perihalan medan berkaitan mesej masa setempat
- masa ialah masa penjanaan mesej
- masa luar ialah masa tolak semasa mesej
- masa tempatan ialah masa mesin tempatan
- masa keluar - masa mewakili masa kelewatan pemprosesan atau penghantaran semula pelayan
- masa tempatan - masa luar mewakili masa mesin tempatan dan perbezaan masa TOP, atau kelewatan rangkaian, atau kelewatan dalam pemprosesan selepas menerima mesej
ralat perkhidmatan mesej isp.system-error: unknown error,isv.tmc-switch-off: appkey, the aplikasi tidak mendayakan ciri saluran pemesejan
Jika aplikasi belum melanggan (mengaktifkan) perkhidmatan mesej, ia menggunakan TmcClient untuk menerima mesej.
FAQ
- Belum ada FAQ tentang dokumen ini