Memulai dengan Magento Web API (REST & SOAP)

Diterbitkan: 2020-10-06

Kerangka kerja API Web Magento 2 menawarkan kesempatan kepada pengguna untuk membuat layanan baru yang dapat berkomunikasi dengan modul pihak ketiga. Mereka adalah Magento 2 mendukung layanan web REST dan SOAP berdasarkan operasi CRUD (buat, baca, perbarui, dan hapus).

Pada artikel ini, kami akan menjelaskan langkah awal menggunakan Magento 2 API. API ini mempercepat kekuatan pemrosesan dan memfasilitasi transmisi data, seperti produk, pelanggan, atau pesanan, serta mentransfernya ke sistem pihak ketiga. Ini juga membantu Anda mengelola inventaris.

Dengan mengotomatiskan proses, penggunaan API membantu Anda menulis lebih sedikit kode.

Daftar isi

  • Apa itu API Web Magento?
  • Apa yang Dapat Anda Lakukan Dengan Magento Web API?
  • Memulai: Dengan Magento 2 Rest API
  • Buat Pengguna Layanan Web di Magento 2
  • Otentikasi API REST Magento 2
  • Dapatkan Modul Menggunakan REST API di Magento 2
  • Gunakan Layanan SOAP
  • Layanan SOAP Otentikasi Menggunakan Magento 2
  • Kata-kata Terakhir

Apa itu API Web Magento?

API web Magento sangat mudah dipahami bagi pengembang yang ingin menggunakan layanan web yang membantu berkomunikasi dengan sistem Magento. Fitur-fitur ini adalah kunci API:

  • Magento 2 mendukung REST (Representational State Transfer) dan SOAP (Simple Object Access Protocol).
  • Ini menawarkan tiga jenis otentikasi: 1) OAuth 1.0a untuk otentikasi aplikasi pihak ketiga, 2) metode tokenisasi untuk otentikasi aplikasi seluler, dan 3) kredensial masuk untuk administrasi dan verifikasi pelanggan.
  • Anda dapat mengonfigurasi API web Magento atau pihak ketiga apa pun dengan menulis beberapa baris XML.
  • Ini mendukung pemfilteran bidang API web yang menghemat respons seluler.
  • Kerangka kerja saat ini didasarkan pada CRUD (buat, baca, perbarui, hapus) dan model pencarian.

Apa yang Dapat Anda Lakukan Dengan Magento Web API?

API membantu berbagai modul berkomunikasi satu sama lain. Mereka dapat digunakan untuk melakukan beragam tugas. Sebagai contoh:

  • Anda dapat membuat toko online menggunakan Magento, dan menghubungkannya dengan sistem fisik seperti POS (Point of Sale) untuk mengontrol inventaris secara global
  • Mudah diintegrasikan dengan sistem backend CRM (Customer Relationship Management) atau ERP (Enterprise Resource Planning) seperti Salesforce, Microsoft Dynamics, atau perangkat lunak suara lainnya
  • Ini membantu untuk terhubung dengan CMS (Content Management System)
  • Anda juga dapat membuat widget JavaScript di backend Magento (panel Admin) atau etalase Magento

Memulai: Dengan Magento 2 Rest API

Untuk membuat peran layanan web di Magento 2, ikuti langkah-langkah mudah ini:

1.Masuk ke Panel Admin Magento 2.

2. Buka Sistem >> Peran Pengguna dan klik tombol Tambahkan Peran Baru .

Memulai dengan Magento Web API | Blog Magento Mageworx

3. Masukkan nama Peran .

Memulai dengan Magento Web API | Blog Magento Mageworx

4. Di bidang Kata Sandi Anda , masukkan kata sandi saat ini dari Admin Magento 2 Anda.

Memulai dengan Magento Web API | Blog Magento Mageworx

5.Di sisi kiri, klik Sumber Daya Peran. Di bawah Akses Sumber Daya, pilih hanya apa yang diperlukan untuk layanan web Anda.

Memulai dengan Magento Web API | Blog Magento Mageworx

6. Setelah selesai, tekan Save Role.

Buat Pengguna Layanan Web di Magento 2

Buat pengguna baru untuk peran yang baru dibuat dengan mengikuti langkah-langkah berikut:

1.Buka Sistem >> Semua Pengguna, lalu klik Tambah Pengguna Baru .

Memulai dengan Magento Web API | Blog Magento Mageworx

2.Masukkan informasi yang diperlukan, termasuk Nama Pengguna , Nama Depan dan Belakang , Email , dan Kata Sandi .

Memulai dengan Magento Web API | Blog Magento Mageworx

3. Di sisi kiri, klik Peran Pengguna , lalu pilih peran yang baru dibuat. Setelah selesai, klik tombol Simpan Pengguna .

Memulai dengan Magento Web API | Blog Magento Mageworx

Otentikasi API REST Magento 2

Di sini, saya akan mengotentikasi REST API melalui metode otentikasi token. Ini melibatkan melewati nama pengguna dan kata sandi dalam koneksi awal dan menerima token yang akan disimpan dalam variabel untuk panggilan lebih lanjut.

 <?php //API URL for authentication $apiURL="http://magento-91647-257956.cloudwaysapps.com/index.php/rest/V1/integration/admin/token"; //parameters passing with URL $data = array("username" => "username", "password" => "********"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); //decoding generated token and saving it in a variable $token= json_decode($token); ?>

Harap diperhatikan: Nama pengguna & kata sandi digunakan sebagai contoh.

Dapatkan Modul Menggunakan REST API di Magento 2

Anda dapat mengambil data menggunakan Magento 2 REST API. Berikut daftar lengkap REST API untuk Magento EE dan CE.

 <?php //Using above token into header $headers = array("Authorization: Bearer ".$token); //API URL to get all Magento 2 modules $requestUrl='YourgeneratedUrl'; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); //decoding result $result= json_decode($result); //printing result print_r($result); ?>

Dalam kode di atas, saya sudah melewati token (yang diambil sebelumnya) dengan URL API untuk menginstal semua modul di toko Magento 2.

Berikut kode lengkapnya.

 <?php //API URL for authentication $apiURL="URL"; //parameters passing with URL $data = array("username" => "username", "password" => "*********"); $data_string = json_encode($data); $ch = curl_init($apiURL); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json","Content-Length: ".strlen($data_string))); $token = curl_exec($ch); //decoding generated token and saving it in a variable $token= json_decode($token); //******************************************// //Using above token into header $headers = array("Authorization: Bearer ".$token); //API URL to get all Magento 2 modules $requestUrl='YourURL'; $ch = curl_init($requestUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); //decoding result $result= json_decode($result); //printing result print_r($result); ?>

Gunakan Layanan SOAP

Sebelum kita masuk ke layanan SOAP, penting untuk mempelajari tentang konvensi penamaan Magento:

  • Anda harus menggunakan CamelCase untuk layanan penamaan. Misalnya, MyFirstModule
  • String "Layanan" dihilangkan, artinya Anda tidak dapat menggunakannya.
  • Awalan "Magento" dan akhiran "Antarmuka" juga ditingkatkan.
  • Jika nama 'layanan' Anda sama dengan nama 'modul', nama modul akan dihilangkan.

Roundup Pembaruan MageWorx | Blog MageWorx

Jadi, pastikan untuk mengingat poin-poin ini.

Layanan SOAP Otentikasi Menggunakan Magento 2

Sumber daya SOAP dapat diakses menggunakan token akses OAuth melalui HTTP. Otentikasi OAuth mirip dengan metode token tetapi menyediakan pengaturan yang lebih kompleks. Token akses adalah string yang mewakili otorisasi akses yang dikeluarkan untuk klien.

Berikut script PHP yang menjelaskan cara mendapatkan access token:

 <?php $opts = [ 'http'=> [ 'header' => 'Authorization: Bearer 36849300bca4fbff758d93a3379f1b8e' ] ]; $wsdlUrl = 'http://magento.ll/soap/default?wsdl=1&services=testModule1AllSoapAndRestV1'; $serviceArgs = ["id" => 1]; $context = stream_context_create($opts); $soapClient = new SoapClient($wsdlUrl, ['version' => SOAP_1_2, 'stream_context' => $context]); $soapResponse = $soapClient->testModule1AllSoapAndRestV1Item($serviceArgs); ?>

Kata-kata Terakhir

Artikel ini menguraikan dasar-dasar API web Magento, tetapi masih banyak lagi yang bisa Anda pelajari. Jika Anda ingin pemahaman yang lebih kuat tentang penggunaan API Magento 2, maka Anda harus menjelajahi bagaimana metode built-in Magento 2 dan ekstensi pihak ketiga. Anda juga harus memahami bagaimana menyampaikan informasi ke sistem yang dibutuhkan.

Jadi, itu saja!

Untuk mengalami hosting Magento yang lebih cepat dengan tenang, lihat uji coba gratis 3 hari ini di DigitalOcean, Vultr, dan Linode.