Penyegerakan pesanan


Latar Belakang

Pesanan adalah data teras penjual Banyak kerja harian penjual berkisar pada pesanan. Memandangkan permintaan API bergantung pada rangkaian, terdapat masalah seperti ketidakstabilan rangkaian dan masa penyegerakan yang panjang, jadi aplikasi mesti menyegerakkan data pesanan Taobao secara setempat. Cara menyegerakkan pesanan dengan cepat dan sepenuhnya ke kawasan tempatan adalah isu yang akan dibincangkan dalam pelan ini.

Terdapat dua cara untuk menyegerakkan pesanan: 1. Penyegerakan melalui API 2. Berdasarkan perkhidmatan penyegerakan pesanan RDS. Artikel ini menganalisis terutamanya senario penggunaan API untuk menyegerakkan pesanan Untuk mendapatkan maklumat tentang cara menggunakan penyegerakan pesanan RDS, sila rujuk //open.taobao.com/docs/doc.htm.htm?articleId=101587&docType=1&treeId=2

Kata Nama Keterangan

Pesanan dalam talian: pesanan yang telah dijual oleh penjual dalam tempoh tiga bulan.

Pesanan tambahan: Berbanding dengan pesanan yang telah disegerakkan dengan tempatan, sebarang pesanan yang telah ditukar pada Taobao ialah pesanan tambahan.

Perkhidmatan Mesej: Saluran untuk menolak perubahan data (urus niaga) kepada pelanggan (aplikasi) dalam masa nyata melalui sambungan panjang HTTP.

APIPengenalan

taobao.trades.sold.get - Dapatkan pesanan dalam talian yang dijual dalam masa tiga bulan Ia sesuai untuk pemulaan pengguna. ISV tidak seharusnya menggunakan antara muka pesanan ini. Ia tidak disyorkan untuk menggunakan antara muka ini atau menggunakannya sesedikit mungkin. .

taobao.trade.fullinfo.get - Dapatkan butiran pesanan tunggal. Penyegerakan pelan

implementasi terutamanya dibahagikan kepada dua langkah: permulaan dan pengambilalihan tambahan:

1.

2. Pemerolehan tambahan adalah untuk menyegerakkan pesanan yang diubah pada Taobao, yang biasanya mengambil masa yang lebih singkat.

Penyelesaian berikut semuanya akan menumpukan pada cara untuk memulakan dan memperoleh secara berperingkat.

1

2

Proses penyegerakan:

T1cRo6XidbXXb1upjX.jpgCore Langkah:

U

T1j8o5XixeXXb1upjX.jpg

Three-month Data: Dapatkan ID pesanan yang dibuat dalam masa 3 bulan hingga sekarang melalui taobao.trades.sold.get, Dapatkan butiran pesanan melalui taobao.trade.fullinfo.get

u Data tambahan: Dapatkan ID pesanan tambahan mulai sekarang melalui taobao.trades.sold.increment.get, kemudian dapatkan butiran pesanan melalui taobao.trade.fullinfo.get . Penyelesaian ini agak tidak cekap Melainkan kos kemas kini aplikasi lama adalah sangat tinggi, ia tidak disyorkan untuk digunakan oleh semua orang.

Pilihan 2

Proses penyegerakan:

Langkah teras:

a)

Pertama, dapatkan butiran pesanan yang dibuat dalam tempoh 3 bulan hingga semalam 23:59:59 melalui taoubao.trades.sold.get

TB13fTQGXXXXXbdXFXXSutbFXXX.jpg

TB1HOv3GXXXXXaNXXXXSutbFXXX.jpgData tiga bulan:

b) Kemudian, dapatkan ID pesanan tambahan dari 00:00:00 hari ini hingga sekarang melalui taobao.trades.sold.increment.get, dan kemudian dapatkan butiran pesanan melalui taobao.trade.fullinfo.get

u Data tambahan: Pantau mesej perubahan pesanan dalam masa nyata melalui pelanggan perkhidmatan pemesejan, dan kemudian dapatkan butiran pesanan melalui taobao.trade.fullinfo.get

aplikasi

:

Terpakai kepada semua jenis penjual, ia adalah penyelesaian yang agak kompleks tetapi paling berkesan antara semua penyelesaian, dan disyorkan untuk semua ISV.

Perkongsian pengalaman

Isu pesanan hilang: M

.incre ment.dapat apabila mendapat pesanan , parameter input jenis transaksi hanya menanyakan beberapa jenis pesanan secara lalai Untuk menanyakan semua jenis pesanan, semua jenis transaksi mesti diberikan secara eksplisit sebagai parameter input jenis. m

🎜🎜🎜 Apabila mendapat pesanan tambahan melalui taobao.trades.sold.increment.get, hasil yang dikembalikan disusun mengikut urutan terbalik oleh masa pengubahsuaian pesanan. menghalang tatal ke hadapan Pesanan telah diubah semasa proses halaman, mengakibatkan pesanan hilang. 🎜🎜🎜. bergerak ke hadapan semasa promosi besar Bergerak

kira-kira 30minit) untuk mengelakkan pesanan terlepas yang disebabkan oleh kelewatan dalam mengemas kini pesanan ke pangkalan data akibat tekanan sistem Taobao dalam keadaan yang melampau. . Isu prestasi: M

taobao.trades.sold.dapatkan pesanan dari penjual selama tiga bulan n

Gunakan Kaedah paging dengan use_has_next=true boleh mengelakkan kiraan(*) yang dijana oleh setiap permintaan API ke pangkalan data Taobao, dengan itu meningkatkan kelajuan dan kestabilan dengan ketara. n

Memandangkan antara muka untuk mendapatkan pesanan dalam masa tiga bulan ditapis mengikut masa penciptaan, dan masa penciptaan tidak berubah, membelok halaman dari depan ke belakang tidak akan menyebabkan pesanan terlepas, jadi ia boleh Tinggalkan kiraan(*) dalam langkah pertama, dan terus gunakan parameter input use_has_next=true untuk mendapatkannya dalam halaman, sehingga pusingan halaman ditamatkan apabila has_next=false dikembalikan dalam hasilnya.

n Jika medan yang dikembalikan oleh antara muka tidak dapat memenuhi keperluan aplikasi, amat disyorkan untuk hanya mendapatkan medan = medan tid, dan kemudian mendapatkan butiran pesanan melalui taobao.trade.fullinfo.get .

n Oleh kerana jumlah pesanan tiga bulan penjual adalah agak besar, adalah disyorkan untuk membahagikan pesanan tiga bulan kepada pemerolehan harian untuk mengurangkan jumlah pengimbasan rekod pangkalan data Taobao dalam satu permintaan untuk meningkatkan kecekapan.

m taobao.trades.sold.increment.get mendapatkan pesanan tambahan

n Gunakan kaedah penomboran use_has_next = benar untuk mengelakkan setiap kali API meminta kiraan (*) dijana oleh pangkalan data Taobao pada masa yang sama, sekali gus meningkatkan kelajuan dan kestabilan dengan ketara. . Untuk menukar halaman dari belakang ke hadapan, anda mesti mengetahui halaman terakhir, jadi anda mesti menggunakan use_has_next=false dalam permintaan API pertama untuk mengira jumlah pesanan, mengira jumlah halaman, dan kemudian menetapkan use_has_next=true untuk ditamatkan statistik pesanan dan belok dari belakang ke hadapan.

n Jika medan yang dikembalikan oleh antara muka tidak dapat memenuhi keperluan aplikasi, amat disyorkan untuk hanya mendapatkan medan = medan tid, dan kemudian mendapatkan butiran pesanan melalui taobao.trade. fullinfo.get.

M Apabila menggunakan taobao.trades.sold.get/taobao.trades.sold.increment.dapat mendapatkan hanya medan tid, adalah disyorkan untuk menetapkan page_size kepada nilai maksimum untuk mengurangkan bilangan API permintaan dan meningkatkan kecekapan. Apabila mendapatkan berbilang medan, anda boleh menetapkan page_size mengikut keadaan rangkaian anda sendiri Adalah disyorkan untuk menetapkannya kepada kira-kira 50. Pengendalian Exception:

m

Pesanan Segerak Secara umumnya menggunakan pemprosesan multi-thread. Tetapkan mengikut kekerapan panggilan API yang dibenarkan oleh TOP untuk mengelakkan aplikasi tidak dapat memanggil API untuk masa yang lama kerana pengehadan semasa.

M

Untuk ralat jenis ISP atau ralat sambungan rangkaian yang dikembalikan oleh API, utas aplikasi harus mencuba semula secara automatik selepas tidur seketika. Untuk ralat jenis ISV yang dikembalikan oleh API, aplikasi perlu merekodkan log untuk penyelesaian masalah masa hadapan dan jangan cuba semula.

Soalan LazimBelum ada FAQ tentang dokumen ini