Bagaimana bekerja dengan WooCommerce Rest API dengan Python

- 3194
- 696
- Karl O'Connell DDS
WordPress mungkin adalah CMS yang paling banyak digunakan di dunia (diperkirakan hampir 40% dari semua situs web dibangun menggunakan platform): sangat mudah dipasang dan digunakan, dan memungkinkan bahkan non-pengembang untuk membuat situs web dalam beberapa menit.
WordPress memiliki ekosistem plugin yang sangat besar; Salah satu yang paling terkenal adalah WooCommerce, yang memungkinkan kami mengubah situs web menjadi toko online dalam beberapa langkah. Plugin memanfaatkan infrastruktur API REST WordPress; Dalam tutorial ini kita akan melihat cara berinteraksi dengan WooCommerce API menggunakan bahasa pemrograman Python, menunjukkan cara mendaftar, membuat, memperbarui, dan menghapus produk dan kategori.
Dalam tutorial ini Anda akan belajar:
- Cara Menghasilkan Kredensial API Rest WooCommerce dan Aktifkan Permalinks Cukup
- Cara berinteraksi dengan WooCommerce Rest API menggunakan Python dan paket WooCommerce
- Cara mendapatkan informasi tentang kategori wooCommerce yang ada, membuat, memperbarui dan menghapusnya
- Cara mendapatkan informasi tentang produk wooCommerce yang ada
- Cara membuat produk sederhana dan variabel dengan variasi
- Cara memperbarui dan menghapus suatu produk
Persyaratan dan konvensi perangkat lunak yang digunakan
Kategori | Persyaratan, konvensi atau versi perangkat lunak yang digunakan |
---|---|
Sistem | Distribusi Independen |
Perangkat lunak | Python3 |
Lainnya | Contoh kerja WordPress dengan plugin WooCommerce terpasang |
Konvensi | # - mensyaratkan Linux -Commands untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah$-mensyaratkan Linux-Commands untuk dieksekusi sebagai pengguna reguler yang tidak istimewa |
Menghasilkan kredensial API Rest WooCommerce
Demi tutorial ini, kami akan menganggap kami memiliki instance WordPress yang berfungsi dengan plugin WooCommerce yang sudah diinstal. Hal pertama yang harus kami lakukan, adalah menghasilkan kredensial API WooCommerce Rest kami: mereka akan
digunakan dalam setiap permintaan http yang akan kami lakukan. Menghasilkan kredensial itu sangat mudah; Yang harus kita lakukan adalah menavigasi WooCommerce -> Pengaturan
Di menu vertikal yang dapat kita temukan di halaman Administrasi WordPress:

Setelah di halaman Pengaturan Plugin, kami mengklik tab "Advanced", dan kemudian aktifkan
Tautan "REST API", yang terletak di bawah menu tab. Di halaman yang akan
dibuka, kami mengklik tombol "Buat tombol API":

Kami akan disajikan dengan formulir pembuatan kunci API, dan kami akan diminta untuk memasukkan:
- Deskripsi, yang akan digunakan sebagai nama yang ramah untuk dengan mudah mengidentifikasi kredensial
- Pengguna yang akan memanfaatkan kunci
- Izin yang akan diberikan ke kunci (hanya baca saja | Tulis saja | Baca dan Tulis)
Perhatikan bahwa kami memiliki kesempatan untuk membuat beberapa kunci dengan izin yang berbeda, untuk membatasi operasi yang diberikan untuk pengguna tertentu. Demi tutorial ini kami akan membuat kunci API dengan izin baca dan tulis:

Saat siap, kami mengklik tombol "Hasilkan Kunci API", dan keduanya Kunci Konsumen dan Rahasia Konsumen akan dihasilkan dan ditampilkan kepada kami. Kami harus memastikan kami menyimpan keduanya di tempat yang aman, karena Setelah kami meninggalkan halaman, mereka akan disembunyikan:

Setelah kunci kami dihasilkan, ada tindakan lain yang perlu kami lakukan dari backend administrasi WordPress: kami harus memastikan bahwa hak yang tepat cukup permalink digunakan, jika tidak titik akhir API tidak akan berfungsi. Untuk menyelesaikan tugas yang kami navigasikan Pengaturan -> Permalink
Di menu vertikal kiri WordPress. Di menu Halaman, kami memilih "Posting Nama", dan kemudian kami menyimpan perubahan:

Hanya itu yang harus kita lakukan di sisi WordPress. Di bagian selanjutnya, kita akan melihat cara berinteraksi dengan WooCommerce Rest API menggunakan Python.
Instal Paket WooCommerce
Di bagian ini kita akan melihat bagaimana berinteraksi dengan WooCommerce Rest API menggunakan bahasa pemrograman Python. Alih -alih menulis kode, kami perlu melakukan permintaan HTTP dari awal, kami akan memanfaatkan WooCommerce
paket, yang akan memudahkan pekerjaan kami. Untuk menginstal paket yang dapat kita gunakan Pip
, Manajer Paket Python. Jika kami bekerja di dalam lingkungan virtual yang dibuat menggunakan venv
, kita bisa menjalankan:
$ Pip Instal WooCommerce
Jika kami tidak menggunakan lingkungan virtual, setidaknya kami harus menginstal paket hanya untuk pengguna kami. Untuk melakukan itu, kami menambahkan --pengguna
opsi untuk perintah, yang menjadi:
$ Pip menginstal WooCommerce -Pengguna
Sekali WooCommerce
Paket diinstal, kami dapat mulai menulis kode kami.
Menginisialisasi kelas API
Hal pertama yang harus kita lakukan untuk berinteraksi dengan WooCommerce Rest API, menggunakan Python dan WooCommerce
paket, adalah mengimpor API
kelas dan buat instance, seperti yang ditampilkan di bawah ini:
#!/usr/bin/env python3 from woocommerce import API wcapi = API( url="http://localhost", consumer_key="ck_147eb955838043597462c3f9c4f91cba08498159", consumer_secret="cs_55a72d6c7bde09b7f36befed32aa90709261c097", timeout=50 )
Menyalin Itu API
Konstruktor kelas mengambil tiga argumen wajib:
- URL situs kami
- Kunci Konsumen API WOOCommerce REST
- Rahasia Konsumen API Rest WooCommerce
Dalam contoh di atas, Anda dapat melihat kami melewati argumen ketiga, waktu habis
: Ini opsional, dan default untuk 5
detik. Dalam hal ini kami memberikan nilai yang lebih besar untuk itu: 50
. Dalam kasus saya, ini diperlukan agar permintaan berhasil, tetapi nyata
Skenario hidup, kita tidak perlu mengubahnya, sehingga bisa dihilangkan sama sekali.
Setelah kami membuat instance dari API
kelas, dalam hal ini dirujuk oleh wcapi
variabel, kita dapat melanjutkan dan membuat panggilan API kita.
Kategori
Demi tutorial ini, kami hanya akan bekerja hanya dengan kategori dan produk. Contoh yang disediakan harus cukup untuk memberi pembaca gambaran tentang bagaimana API bekerja. Mari kita mulai dengan kategori, karena mereka harus sudah ada sebelumnya untuk direferensikan saat membuat produk.
Membuat kategori
Sebagai contoh pertama, kita akan melihat cara membuat kategori. Kami mulai mendefinisikan data kategori dalam kamus Python:
Category_data = "name": "Contoh kategori", "deskripsi": "Hanya contoh kategori"
Menyalin Satu -satunya parameter wajib yang harus kita gunakan saat membuat kategori, adalah nama, yang harus disediakan sebagai string. Dalam contoh di atas kami juga menentukan keterangan kunci, untuk memberikan deskripsi singkat tentang kategori (Anda dapat memeriksa dokumentasi resmi untuk daftar lengkap properti kategori).
Setelah kami membuat kamus yang berisi data kategori, kami dapat menjalankan permintaan API yang digunakan untuk membuat kategori, yang menggunakan POS HTTP Verb:
Respons = WCAPI.POST ("Produk/Kategori", Category_Data)
Menyalin Jika permintaan dieksekusi tanpa kesalahan, panggil json
metode pada tanggapan objek, akan mengembalikan respons server yang diformat sebagai kamus python, yang menjelaskan data yang digunakan untuk membuat kategori: ini akan mencakup identitas unik Digunakan untuk menyimpan kategori dalam database, yang merupakan informasi penting jika kita ingin merujuknya nanti (misalnya saat membuat subkategori atau produk yang harus dimasukkan dalam kategori itu sendiri). Dalam kasus kami, inilah yang dikembalikan oleh server:
'id': 17, 'name': 'Contoh kategori', 'slug': 'contoh-kategori', 'induk': 0, 'deskripsi': 'hanya contoh kategori', 'tampilan': 'default' , 'Image': none, 'menu_order': 0, 'count': 0, '_links': 'self': ['href': 'http: // localhost/wp-json/wc/v3/produk/produk /Kategori/17 '],' koleksi ': [' href ':' http: // localhost/wp-json/wc/v3/produk/kategori ']
Menyalin Seperti yang bisa kita lihat, kategori telah disimpan 17
sebagai ID unik.
Memperbarui kategori
Untuk memperbarui kategori yang ada, kita harus merujuknya melalui itu pengenal
, yang harus dimasukkan sebagai bagian dari titik akhir permintaan. Pertama kami membuat kamus yang berisi data kategori yang harus diperbarui; Dalam contoh di bawah ini kita mengubah deskripsi kategori:
Category_Data = "Deskripsi": "Contoh kategori yang dimodifikasi"
Menyalin Setelah data siap, kami dapat mengirim permintaan kami, menggunakan meletakkan
metode wcapi
objek, yang, seperti yang dapat Anda tebak, mengirimkan permintaan menggunakan MELETAKKAN
HTTP Verb:
Respons = WCAPI.put ('produk/kategori/17', kategori_data)
Menyalin Sama seperti sebelumnya, dengan mengeksekusi json
metode tanggapan
Objek, kami akan mengambil informasi kategori yang diperbarui yang dikembalikan oleh server, yang sudah dikonversi menjadi kamus Python:
'id': 17, 'name': 'Contoh kategori', 'slug': 'contoh-kategori', 'induk': 0, 'deskripsi': 'contoh kategori yang dimodifikasi', 'display': 'default', 'Image': none, 'menu_order': 0, 'count': 0, '_links': 'self': ['href': 'http: // localhost/wp-json/wc/v3/produk/ Kategori/17 '],' koleksi ': [' href ':' http: // localhost/wp-json/wc/v3/produk/kategori ']
Menyalin Memperoleh informasi tentang semua kategori atau yang tertentu
Memperoleh daftar semua kategori yang ada sangat sederhana. Yang harus kita lakukan adalah mengeksekusi mendapatkan
metode wcapi
objek yang kami buat sebelumnya, dan tentukan titik akhir yang benar (Produk/Kategori
):
Respons = WCAPI.Dapatkan ('Produk/Kategori')
Menyalin Seperti sebelum konten respons dapat diakses sebagai kamus python dengan mengeksekusi json
Metode pada objek respons. Dalam hal ini metode mengembalikan yang berikut:
['id': 17, 'name': 'Contoh kategori', 'slug': 'contoh-kategori', 'induk': 0, 'deskripsi': 'hanya contoh kategori', 'tampilan': 'default ',' Image ': none,' menu_order ': 0,' count ': 0,' _links ': ' self ': [' href ':' http: // localhost/wp-json/wc/v3/ Produk/Kategori/17 '],' Collection ': [' href ':' http: // localhost/wp-json/wc/v3/produk/kategori '], ' id ': 16, 16, 'Name': 'Test', 'Slug': 'Test', 'Parent': 0, 'Deskripsi': 'A Test', 'Display': 'Default', 'Image': None, 'Menu_order': 0 , 'Count': 0, '_links': 'self': ['href': 'http: // localhost/wp-json/wc/v3/produk/kategori/16'], 'koleksi': ['href': 'http: // localhost/wp-json/wc/v3/produk/kategori'], 'id': 15, 'name': 'uncategorized', 'slug': ' Uncategorized ',' Parent ': 0,' Deskripsi ': ",' display ':' default ',' Image ': none,' menu_order ': 0,' count ': 0,' _links ': ' self ': ['href': 'http:// localhost/wp-json/wc/v3/produk/kategori/15 '],' koleksi ': [' href ':' http: // localhost/wp-json/wc/v3/produk/kategori ' ]]
Menyalin Jika kami ingin mengambil informasi tentang kategori tertentu, yang harus kami lakukan adalah memberikan ID -nya sebagai bagian dari titik akhir. Misalnya, untuk mendapatkan detail tentang kategori dengan ID 16
(tes), kami akan menjalankan:
Respons = WCAPI.Dapatkan ('Produk/Kategori/16')
Menyalin Menghapus kategori
Itu pengenal
dari suatu kategori juga diperlukan untuk merujuknya saat kami ingin menghapusnya. Dalam kasus tersebut kita harus menjalankan permintaan HTTP yang menggunakan MENGHAPUS
Kata kerja http, sekali lagi memberikan pengidentifikasi kategori sebagai bagian dari titik akhir. Untuk menghapus kategori "tes", misalnya, kami akan menjalankan:
Respons = WCAPI.hapus ('Produk/Kategori/16', param = 'force', true)
Menyalin Saat mengeksekusi menghapus
metode untuk menghapus kategori, kita juga perlu menggunakan memaksa
parameter, dan atur ke BENAR
. Ini diperlukan, Karena memindahkan kategori ke tempat sampah, itu tidak didukung melalui REST API; Sumber daya akan dihapus secara permanen. Jika semuanya berjalan seperti yang diharapkan, sama seperti pada contoh sebelumnya, memanggil json
Metode pada objek respons, akan mengembalikan kamus yang berisi data sumber daya yang dihapus.
Melakukan banyak tindakan sekaligus
Misalkan kita ingin melakukan banyak tindakan sekaligus: kita mungkin ingin menghapus beberapa kategori, membuat beberapa yang baru, dan memperbarui yang lain. Bagaimana kita bisa melakukannya sekaligus, dengan melaksanakan hanya satu permintaan? Yang harus kami lakukan adalah mengirim permintaan menggunakan POS
Kata kerja http ke Produk/Kategori/Batch
titik akhir, menggunakan pos
metode wcapi
obyek. Inilah contohnya:
Batch_data = "create": ["name": "baru kategori 1", "deskripsi": "kategori baru pertama", "name": "Kategori baru 2", "Deskripsi": "Kategori Baru Kedua" Kedua " ], "update": ["id": 17, "Deskripsi": "Deskripsi yang Diperbarui"], "Hapus": [15]
Menyalin Data batch didefinisikan, seperti yang kita lihat pada contoh sebelumnya, menggunakan kamus python. Di dalam kamus ini kami memiliki beberapa kunci yang dinamai berdasarkan tindakan yang harus dilakukan:
- membuat
- memperbarui
- menghapus
Nilai yang ditetapkan ke membuat
kunci harus berupa daftar kamus, masing -masing menggambarkan data yang harus digunakan untuk membuat kategori baru. Dalam hal ini kami membuat dua kategori baru, bernama "Kategori Baru 1" dan "Kategori Baru 2".
Demikian pula, nilai yang sesuai dengan memperbarui
kunci harus merupakan daftar kamus, masing -masing menggambarkan data yang harus digunakan untuk memperbarui kategori tertentu, diidentifikasi olehnya pengenal
.
Akhirnya, nilai yang terkait dengan menghapus
kunci haruslah daftar dari pengenal
dari kategori yang harus dihapus. Dalam hal ini kami memutuskan untuk menghapus kategori dengan 16
sebagai pengidentifikasi unik. Setelah data kami siap, kami menjalankan
meminta:
Respons = WCAPI.POST ('Produk/Kategori/Batch', Batch_Data)
Menyalin Itu tanggapan
Objek akan berisi representasi berorientasi objek dari respons yang dikirim oleh server. Seperti biasa, dengan mengeksekusi json
Metode objek ini kami akan mengambil kamus Python yang berisi ringkasan operasi yang dilakukan, dan deskripsi kategori yang terlibat:
'create': ['id': 18, 'name': 'Kategori baru 1', 'slug': 'new-category-1', 'Parent': 0, 'Deskripsi': 'Kategori Baru Pertama' , 'display': 'default', 'image': none, 'menu_order': 0, 'count': 0, '_links': 'self': ['href': 'http: // localhost/wp -json/wc/v3/produk/kategori/18 '],' collection ': [' href ':' http: // localhost/wp-json/wc/v3/produk/kategori '], 'id': 19, 'name': 'Kategori baru 2', 'Slug': 'New-Category-2', 'Parent': 0, 'Deskripsi': 'Kategori Baru Kedua', 'Tampilan': ' Default ',' Image ': none,' menu_order ': 0,' count ': 0,' _links ': ' self ': [' href ':' http: // localhost/wp-json/wc/v3 /Produk/Kategori/19 '],' Koleksi ': [' href ':' http: // localhost/wp-json/wc/v3/produk/kategori ']],' pembaruan ': [ 'id': 17, 'name': 'Contoh kategori', 'slug': 'contoh-kategori', 'induk': 0, 'deskripsi': 'deskripsi yang diperbarui', 'tampilan': 'default', ' gambar ': tidak ada,'menu_order': 0, 'count': 0, '_links': 'self': ['href': 'http: // localhost/wp-json/wc/v3/produk/kategori/17'] , 'Koleksi': ['href': 'http: // localhost/wp-json/wc/v3/produk/kategori']], 'hapus': ['id': 16, 'nama ':' test ',' slug ':' test ',' Parent ': 0,' Deskripsi ':' A test ',' display ':' default ',' Image ': none,' menu_order ': 0,' Count ': 0,' _links ': ' self ': [' href ':' http: // localhost/wp-json/wc/v3/produk/kategori/16 '],' koleksi ': [ 'href': 'http: // localhost/wp-json/wc/v3/produk/kategori']]
Menyalin Produk
Sampai sekarang kami melihat cara melakukan dasar CRUD Operasi pada kategori. Mari bekerja dengan produk sekarang. Kode yang harus digunakan sangat mirip; Perubahan apa yang tentu saja adalah titik akhir API dan atribut yang seharusnya
digunakan saat membuat produk.
Membuat Produk Sederhana
Contoh pertama yang akan kita lihat adalah bagaimana membuat produk "sederhana", tanpa variasi (variasi adalah versi yang sedikit berbeda dari produk yang sama, berdasarkan misalnya pada berbagai ukuran atau warna). Pertama kami mendefinisikan produk
data:
Product_data = "name": "Produk contoh sederhana", "type": "Simple", "Reguler_price": "22.50 "," stock_quantity ": 10," short_description ":" Hanya contoh produk "," deskripsi ":" Ini hanya contoh produk, dibuat dengan WOOCommerce Rest API "," Kategori ": [" id ": 17], "gambar": ["src": "https: // linuxconfig.org/gambar/linuxconfig_logo.png "," alt ":" contoh-gambar "]
Menyalin Mari kita lihat informasi produk yang kami gunakan di dalam data produk
kamus. Kami mendefinisikan produk nama (Produk contoh sederhana), lalu kami menentukannya jenis, Yang dalam hal ini “sederhana”, karena kami membuat daftar untuk produk fisik tanpa variasi. Kedua informasi tersebut harus ditentukan sebagai string.
Kami juga menentukan produk harga normal (string), kuantitas stok (bilangan bulat), Deskripsi Singkat dan biasa keterangan, Baik sebagai string: itu ditampilkan di berbagai bagian halaman saat produk
divisualisasikan oleh pelanggan potensial.
Hal berikutnya yang kami lakukan adalah menentukan daftar kategori produk produk harus dimasukkan di bawah. Setiap kategori harus dirujuk olehnya pengenal (bilangan bulat). Dalam hal ini kami baru saja merujuk kategori tersebut 17
sebagai unik
Identifier (“Contoh Kategori”).
Hal terakhir yang kami definisikan, adalah daftar gambar yang harus dikaitkan dengan produk tersebut. Setiap gambar dijelaskan menggunakan kamus. Di sini kami hanya menggunakan satu gambar, menyediakannya SRC (string), dan alt (Teks alternatif, sebagai
Sebuah benang).
Yang kami gunakan hanyalah sebagian kecil dari semua sifat produk yang mungkin. Setelah data kami siap, kami mengirim POS
Permintaan http, menggunakan pos
metode wcapi
obyek. Titik akhir yang harus dikirim permintaan
"Produk":
Respons = WCAPI.POST ('Produk', Product_Data)
Menyalin Jika permintaan berhasil, dengan mengeksekusi tanggapan.json ()
Kami akan mendapatkan kamus Python yang berisi informasi dari produk yang baru dibuat:
'id': 29, 'name': 'Contoh Produk Sederhana', 'Slug': 'Sederhana-Contoh-Produk', 'Permalink': 'http: // localhost/product/simple-example-product/', 'date_created': '2021-03-22t14: 53: 44', 'date_created_gmt': '2021-03-22t14: 53: 44', 'date_modified': '2021-03-22t14: 53: 44', 'Date_modified ':' 2021-03-22t14: 53: 44 ',' type ':' sederhana ',' status ':' publish ',' fitur ': false,' catalog_visibility ':' visible ',' description ':' ini hanyalah contoh produk, dibuat dengan wooCommerce rest API ',' short_description ':' Hanya contoh produk ',' sku ': ",' harga ': '22.50 ',' reguler_price ': '22.50 ',' Sale_price ': ",' date_on_sale_from ': tidak ada,' date_on_sale_from_gmt ': tidak ada,' date_on_sale_to ': tidak ada,' date_on_sale_to_gmt ': tidak ada,' on_sale ': false,' dibeli ': benar,' TOTAL ':' On_Sale ': false,' Beli , 'virtual': false, 'downloadable': false, 'downloads': [], 'download_limit': -1, 'download_expiry': -1, 'external_url': ", 'button_text':", 'tax_status': 'kena pajak', 'tax_class': ", 'kelola_stock': false, 'stock_quantity': tidak ada, 'backorder': 'tidak', 'backorders_allowed': false, 'backordered': false, 'sold_individual': false, 'weight ': ",' dimensi ': ' panjang ':",' width ': ",' height ':",' shipping_required ': true,' shipping_taxable ': true,' shipping_class ': ",' shipping_class_id ': 0, 'ulasan_allowed': true, 'rata -rata_rating': '0', 'rating_count': 0, 'upsell_ids': [], 'cross_sell_ids': [], 'parent_id': 0, 'buy_note': ", ' ': [' id ': 17,' name ':' Contoh kategori ',' slug ':'Contoh-kategori'], 'tag': [], 'gambar': ['id': 28, 'date_created': '2021-03-22t14: 53: 44', 'date_created_gmt': '2021- 03-22T14: 53: 44 ',' date_modified ':' 2021-03-22t14: 53: 44 ',' date_modified_gmt ':' 2021-03-22t14: 53: 44 ',' src ':' http: // localhost/wp-content/unggah/2021/03/linuxconfig_logo-3.png ',' name ':' linuxconfig_logo-3.png ',' alt ':' contoh-gambar '],' atribut ': [],' default_attributes ': [],' variasi ': [],' grouped_products ': [],' menu_order ': 0,' Price_html ': '22, 50 €', 'terkait_ids': [], 'meta_data': [], 'stock_status': 'instock', '_links': 'self': ['href': 'http: // localhost/wp-json/wc/v3/produk/29 '],' collection ': [' href ':' http: // localhost/wp-json/wc/v3/produk ']
Menyalin Membuat produk variabel dan variasinya
Dalam contoh sebelumnya kami membuat produk "sederhana". Sekarang mari kita lihat cara membuat produk "variabel". Definisi dasarnya sama dengan yang kami gunakan di atas. Yang harus kita lakukan adalah menambahkan atribut yang, digabungkan, akan mewakili variasi produk. Sebagai contoh, misalkan produk kami adalah T-shirt yang tersedia dalam berbagai warna dan ukuran: setiap variasi akan disusun oleh warna tertentu yang terkait dengan ukuran tertentu:
variable_product_data = "name": "variabel contoh produk", "type": "variable", "short_description": "Hanya produk variabel", "deskripsi": "Ini adalah produk variabel, dibuat dengan WOOCommerce REST API" , "Kategori": ["id": 17], "gambar": ["src": "https: // linuxconfig.org/gambar/linuxconfig_logo.png "," alt ":" contoh-gambar "]," atribut ": [" name ":" color "," visible ": true," variation ": true," options ": [" Black ", "putih"], "name": "size", "visible": true, "variation": true, "options": ["s", "m", "l"]]
Menyalin Kami memberikan daftar atribut menggunakan kunci "atribut" di kamus produk. Atribut pertama bernama "Warna", dan "ukuran" kedua. Kami mengatur keduanya agar terlihat, dan kami menyatakan bahwa mereka harus digunakan untuk variasi dengan menugaskan BENAR
sebagai nilai dari variasi kunci dalam kamus yang mendefinisikannya. Daftar yang terkait dengan pilihan kunci, berisi semua nilai yang mungkin dapat diasumsikan setiap atribut.
Tentang atribut produk: kita bisa menggunakan keduanya global Dan non-global atribut. Apa bedanya? Atribut yang ditentukan hanya dengan nama seperti yang kami lakukan dalam contoh di atas akan dibuat "On the Fly" untuk produk tertentu, sehingga mereka akan "non-global". Jika kami bermaksud menggunakan atribut yang sama untuk beberapa produk, kami lebih baik mendefinisikannya sebelumnya dengan panggilan tertentu, dan kemudian merujuknya dengan ID mereka. Seandainya kami membuat Warna Dan Ukuran atribut global, dan mereka masing -masing 1
Dan 2
Sebagai pengidentifikasi unik, kami akan menulis:
"Atribut": ["id": 1 "visible": true, "variation": true, "options": ["black", "white"], "id": 2, "visible": true , "variasi": true, "opsi": ["s", "m", "l"]]
Menyalin Sangat penting: Kode tidak akan membuat variasi produk yang sebenarnya, yang harus didefinisikan dengan permintaan terpisah.
Anda dapat melihat bahwa kami dihilangkan untuk memberikan kuantitas stok produk, karena total nilai saham akan diwakili oleh jumlah jumlah saham dari setiap variasi.
Langkah selanjutnya adalah membuat variasi produk yang sebenarnya. Saat mendefinisikan data variasi, kami harus menggunakan atribut yang sama yang kami tentukan dalam permintaan yang kami gunakan untuk membuat produk variabel. Berikut adalah contoh tentang cara membuat variasi:
Product_variation_data = "Reguler_Price": "18.00 "," stock_quantity ": 10," atribut ": [" id ": 1," opsi ":" white ", " id ": 2," opsi ":" s "]
Menyalin Kami mendefinisikan variasi yang dihasilkan oleh kombinasi atribut warna "putih", dan atribut ukuran "S". Kami mengaturnya harga normal Dan stock_quantity. Kita sekarang harus mengirim permintaan dengan kode berikut:
Respons = WCAPI.POST ('Produk/34/Variasi', Product_Variation_Data)
Menyalin Seperti yang dapat Anda lihat di cuplikan di atas, sebagai titik akhir untuk permintaan, kami gunakan Produk/34/Variasi
, Di mana 34
adalah pengenal
dari produk induk yang kami buat sebelumnya.
Meminta informasi tentang semua produk atau yang tertentu
Sama seperti yang kami lakukan untuk kategori, kami dapat meminta informasi tentang semua produk yang ada melalui WooCommerce REST API:
Respons = WCAPI.Dapatkan ('Produk')
Menyalin Permintaan dapat disesuaikan lebih lanjut dengan menggunakan parameter: dengan per halaman
Parameter, misalnya, kita dapat menentukan berapa banyak item yang harus dikembalikan dalam set hasil dari satu permintaan (default adalah 10
), dan dengan halaman
parameter kita dapat meminta halaman tertentu yang harus dikembalikan (default 1
). Untuk memperluas jumlah item yang dikembalikan dalam satu permintaan, kami akan menulis:
Respons = WCAPI.get ('produk', params = 'per_page': 20)
Menyalin Meminta informasi tentang produk tertentu yang sama sederhana: yang harus kami lakukan adalah menentukannya pengenal
Di titik akhir permintaan:
Respons = WCAPI.Dapatkan ('Produk/34')
Menyalin Memperbarui suatu produk
Logika yang digunakan untuk memperbarui produk adalah sama yang kami gunakan untuk memperbarui kategori (dan semua "entitas" lainnya yang dikelola melalui API REST). Kami menentukan data produk yang harus diperbarui dan mengirim a MELETAKKAN
permintaan ke titik akhir yang mencakup produk pengenal
:
update_product_data = "description": "Ini adalah deskripsi produk variabel yang diperbarui" response = wcapi.put ('produk/34', update_product_data)
Menyalin Menghapus produk
Untuk menghapus suatu produk, yang harus kami lakukan adalah mengirim a MENGHAPUS
permintaan ke titik akhir yang mencakup produk pengenal
:
Respons = WCAPI.Hapus ('Produk/34')
Menyalin Di sini Anda dapat melihat bahwa, tidak seperti apa yang terjadi untuk kategori, penggunaan memaksa
Parameter tidak wajib. Jika parameter tidak digunakan, produk hanya akan dipindahkan ke "sampah", dan karenanya mungkin untuk mengambilnya dari itu belakangan ini. Jika memaksa
parameter digunakan, dan diatur ke BENAR
, Sebaliknya, produk akan dihapus secara permanen.
Kesimpulan
Dalam tutorial ini kami melihat beberapa contoh bagaimana berinteraksi dengan WooCommerce Rest API dengan bahasa pemrograman Python. Kami melihat cara menghasilkan kredensial API, cara menginstal paket Python "WooCommerce" yang menyediakan metode berguna yang menyederhanakan kode yang harus kami tulis untuk berinteraksi dengan mereka, dan beberapa contoh cara membuat, membaca, menghapus, dan memperbarui kategori dan produk WOOCOMMERCE WOOCOMMERCE. Silakan berkonsultasi dengan dokumentasi API Rest WooCommerce Resmi untuk gambaran lengkap kemampuan API.
Tutorial Linux Terkait:
- Ubuntu 20.04: WordPress dengan instalasi nginx
- Ubuntu 20.04 WordPress dengan Instalasi Apache
- Instalasi OpenLitespeed WordPress
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Distro linux terbaik untuk pengembang
- Menguasai loop skrip bash
- Daftar Alat Linux Kali Terbaik untuk Pengujian Penetrasi dan ..
- Gunakan WPSCan untuk memindai WordPress untuk kerentanan di Kali
- Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?