Cara Mengakses Tarif Beberapa Operator Pengiriman melalui API Tunggal (Dengan API Pengiriman Gratis)
Diterbitkan: 2017-02-27
Terakhir diperbarui - 24 Februari 2020
Dalam artikel ini, Anda akan memahami cara mengakses API ini dan mendapatkan tarif domestik dan internasional untuk paket Anda dari berbagai operator pengiriman seperti FedEx, UPS, dan USPS. Anda hanya perlu menentukan alamat pengirim, alamat penerima, jenis layanan, dan detail otorisasi untuk operator tertentu sebagai data JSON terenkripsi.
Untuk menggunakan API ini, Anda perlu mendaftar di http://shippingapi.storepep.com dan mendapatkan kunci API gratis di email Anda, Anda hanya perlu memberikan id email Anda saat mendaftar.
DAPATKAN : Daftar Layanan yang Tersedia
1: Dapatkan Semua Layanan FedEx yang Tersedia:
Perintah : curl http://shippingapi.storepep.com/api/shippings/fedex-services
keluaran :
{
"FEDEX_1_DAY_FREIGHT":"FEDEX 1 DAY FREIGHT",
"FEDEX_2_DAY":"FEDEX 2 DAY",
"FEDEX_2_DAY_AM":"FEDEX 2 DAY AM",
"FEDEX_2_DAY_FREIGHT":"FEDEX 2 DAY FREIGHT",
"FEDEX_3_DAY_FREIGHT":"FEDEX 3 DAY FREIGHT",
"FEDEX_DISTANCE_DEFERRED":"FEDEX DISTANCE DEFERRED",
"FEDEX_EXPRESS_SAVER":"FEDEX EXPRESS SAVER",
"FEDEX_FIRST_FREIGHT":"FEDEX FIRST FREIGHT",
"FEDEX_FREIGHT_ECONOMY":"FEDEX FREIGHT ECONOMY",
"FEDEX_FREIGHT_PRIORITY":"FEDEX FREIGHT PRIORITY",
"FEDEX_GROUND":"FEDEX GROUND",
"FEDEX_NEXT_DAY_AFTERNOON":"FEDEX NEXT DAY AFTERNOON",
"FEDEX_NEXT_DAY_EARLY_MORNING":"FEDEX NEXT DAY EARLY MORNING",
"FEDEX_NEXT_DAY_END_OF_DAY":"FEDEX NEXT DAY END OF DAY",
"FEDEX_NEXT_DAY_FREIGHT":"FEDEX NEXT DAY FREIGHT",
"FEDEX_NEXT_DAY_MID_MORNING":"FEDEX NEXT DAY MID MORNING",
"FIRST_OVERNIGHT":"FIRST OVERNIGHT",
"GROUND_HOME_DELIVERY":"GROUND HOME DELIVERY",
"EUROPE_FIRST_INTERNATIONAL_PRIORITY":"EUROPE FIRST INTERNATIONAL PRIORITY",
"INTERNATIONAL_ECONOMY":"INTERNATIONAL ECONOMY",
"INTERNATIONAL_ECONOMY_FREIGHT":"INTERNATIONAL ECONOMY FREIGHT",
"INTERNATIONAL_FIRST":"INTERNATIONAL FIRST",
"INTERNATIONAL_PRIORITY":"INTERNATIONAL PRIORITY",
"INTERNATIONAL_PRIORITY_FREIGHT":"INTERNATIONAL PRIORITY FREIGHT",
"PRIORITY_OVERNIGHT":"PRIORITY OVERNIGHT",
"SAME_DAY":"SAME DAY",
"SAME_DAY_CITY":"SAME DAY CITY",
"SMART_POST":"SMART POST",
"STANDARD_OVERNIGHT":"STANDARD OVERNIGHT"
}
2: Dapatkan Semua Layanan UPS yang Tersedia:
Perintah : curl http://shippingapi.storepep.com/api/shippings/ups-services
keluaran :
{
'01': 'UPS Next Day Air',
'02': 'UPS Second Day Air',
'03': 'UPS Ground',
'07': 'UPS Worldwide Express',
'08': 'UPS Worldwide Expedited',
'11': 'UPS Standard',
'12': 'UPS Three-Day Select',
'13': 'UPS Next Day Air Saver',
'14': 'UPS Next Day Air Early AM',
'54': 'UPS Worldwide Express Plus',
'59': 'UPS Second Day Air AM',
'65': 'UPS Saver',
'82': 'UPS Today Standard',
'83': 'UPS Today Dedicated Courier',
'84': 'UPS Today Intercity',
'85': 'UPS Today Express',
'86': 'UPS Today Express Saver',
'92': 'UPS SurePost (USPS) < 1lb', '93': 'UPS SurePost (USPS) > 1lb',
'94': 'UPS SurePost (USPS) BPM',
'95': 'UPS SurePost (USPS) Media'
}
3: Dapatkan Semua Layanan USPS yang Tersedia:
Perintah : curl http://shippingapi.storepep.com/api/shippings/usps-services
keluaran :
{
'First Class>LETTER':'First Class>LETTER',
'First Class>FLAT':'First Class>FLAT',
'First Class>PARCEL':'First Class>PARCEL',
'First Class>POSTCARD':'First Class>POSTCARD',
'First Class>PACKAGE SERVICE':'First Class>PACKAGE SERVICE',
'First Class Commercial>PACKAGE SERVICE':'First Class Commercial>PACKAGE SERVICE',
'First Class HFP Commercial>PACKAGE SERVICE':'First Class HFP Commercial>PACKAGE SERVICE',
'Priority':'Priority',
'Priority Commercial':'Priority Commercial',
'Priority Cpp':'Priority Cpp',
'Priority HFP Commercial':'Priority HFP Commercial',
'Priority HFP Cpp':'Priority HFP Cpp',
'Priority Mail Express':'Priority Mail Express',
'Priority Mail Express Commercial':'Priority Mail Express Commercial',
'Priority Mail Express Cpp':'Priority Mail Express Cpp',
'Priority Mail Express HFP':'Priority Mail Express HFP',
'Priority Mail Express HFP Commercial':'Priority Mail Express HFP Commercial',
'Standard Post':'Standard Post',
'Retail Ground':'Retail Ground',
'Media':'Media',
'Library':'Library',
'Online Plus':'Online Plus',
'12':'Global Express Guaranteed',
'1':'Priority Mail Express International',
'2':'Priority Mail International',
'9':'Priority Mail International Medium Flat Rate Box',
'11':'Priority Mail International Large Flat Rate Box',
'16':'Priority Mail International Small Flat Rate Box',
'15':'First Class Package International Service'
}
POSTING: Tarif API
Untuk menggunakan Rates API terlebih dahulu kita perlu memahami struktur permintaan API ini
Nama | Keterangan |
---|---|
Common_Params | Berisi elemen dalam yang umum untuk semua perusahaan pelayaran |
Common_Params >lingkungan | untuk mode uji: kotak pasir, untuk mode produksi: langsung |
Common_Params >emailid | Id email terdaftar untuk API ini |
Common_Params >kunci | Kunci API diterima saat pendaftaran |
Common_Params >host | Opsional (nama host Anda) |
Common_Params >os | Opsional (detail sistem operasi Anda) |
Common_Params >Shipper_PersonName | Nama pengirim |
Common_Params >Shipper_CompanyName | Perusahaan pengirim |
Common_Params >Pengirim_Nomor Telepon | Nomor telepon pengirim |
Common_Params >Shipper_Address_StreetLines | Alamat jalan pengirim |
Common_Params >Shipper_Address_City | kota pengirim |
Common_Params >Shipper_Address_StateOrProvinceCode | Kode negara bagian/provinsi pengirim (*tidak lebih dari dua huruf) |
Common_Params >Shipper_Address_PostalCode | Kode pos pengirim |
Common_Params >Shipper_Address_CountryCode | Kode negara pengirim (*hanya dua kode huruf) |
Common_Params >Recipient_PersonName | Nama Penerima |
Common_Params >Recipient_CompanyName | Perusahaan penerima |
Common_Params >Recipient_PhoneNumber | Nomor telepon penerima |
Common_Params >Recipient_Address_StreetLines | Alamat jalan penerima |
Common_Params >Recipient_Address_City | kota penerima |
Common_Params >Recipient_Address_StateOrProvinceCode | Kode negara bagian/provinsi penerima () |
Common_Params >Recipient_Address_PostalCode | Kode pos penerima |
Common_Params >Recipient_Address_CountryCode | Kode negara penerima |
Common_Params >Recipient_Address_CountryName | Nama negara penerima |
Common_Params >Recipient_Address_Residential | Benar/Salah (adalah alamat tempat tinggal penerima) |
Common_Params >fedex_key | Kunci diterima dari FedEx |
Common_Params > fedex_password | Kata sandi FedEx |
Common_Params >fedex_account_number | Nomor akun FedEx |
Common_Params > fedex_meter_number | Nomor meteran FedEx |
Common_Params >ups_key | Kunci diterima dari UPS |
Common_Params >ups_password | kata sandi UPS |
Common_Params >ups_account_number | nomor rekening UPS |
Common_Params >ups_username | Nama pengguna yang diterima dari UPS |
Common_Params >usps_username | Nama pengguna USPS |
Permintaan_Array | Objek ini berisi permintaan untuk beberapa perusahaan dan beberapa paket |
Request_Array > Array Permintaan | Beberapa permintaan diteruskan dalam satu larik |

Struktur Permintaan (seperti dalam Request_Array )
Nama | Keterangan |
---|---|
Meminta | Berisi elemen dalam yang umum untuk semua operator (perusahaan pelayaran) |
Permintaan > id | Setiap ID unik untuk mengidentifikasi paket ini (ID elemen larik ini) |
Permintaan >perusahaan | Nama operator pengiriman (misalnya: 'fedex', 'ups', 'usps') untuk mendapatkan tarif dari perusahaan ini untuk paket ini |
Permintaan >Berat_Unit | Satuan berat (saat ini hanya 'LB' yang didukung) |
Permintaan >Jenis Layanan | Kode layanan untuk layanan operator tertentu yang tarifnya diperlukan. Lihat dokumentasi API operator. |
Permintaan >TipeTingkatPermintaan | 'TIDAK ADA' untuk tarif khusus akun dan 'DAFTAR' untuk tarif eceran |
Permintaan >paket |
Contoh JSON (Sebelum Enkripsi) :
{ "Common_Params": { "lingkungan": "kotak pasir", "emailid": "[email protected]", "kunci": "b52ee1f3ab8454589d6a9bd5018d60be", "host": "www.storepep.com", "os": "Windows NT 6.3 build 9600 (Windows 8.1 Home) i586", "Shipper_PersonName": "JOE CHRIST", "Shipper_CompanyName": "PERUSAHAAN SAYA", "Shipper_PhoneNumber": "0123456789", "Shipper_Address_StreetLines": "PAPAN SUTRA", "Shipper_Address_City": "COLUMBUS", "Shipper_Address_StateOrProvinceCode": "OH", "Shipper_Address_PostalCode": "43218", "Shipper_Address_CountryCode": "AS", "Recipient_PersonName": "Nama Penerima", "Recipient_CompanyName": "XYZ", "Recipient_PhoneNumber": "0123456789", "Recipient_Address_StreetLines": "123 , XYZ ROAD", "Recipient_Address_City": "", "Recipient_Address_StateOrProvinceCode": "WA", "Recipient_Address_PostalCode": "98503", "Recipient_Address_CountryCode": "AS", "Recipient_Address_CountryName": "Amerika Serikat (AS)", "Recipient_Address_Residential": "salah", "fedex_key": "UzxdpT3cy7UDF3Vl", "fedex_password": "I1IWFyvBz34QnJOwqZyBn9oll", "fedex_account_number": "110087444", "fedex_meter_number": "128768444", "ups_key": "DCEF2E428E10BBB7", "ups_password": "Q1w2e3r4t5o5", "ups_account_number": "189Y5A", "ups_username": "iahtai21", "usps_username": "806XDDAP3116", "usps_password": "516GD04CJ256" }, "Array_Permintaan": [ { "id": "53:1", "perusahaan": [ "usps" ], "Berat_Unit": "LB", "Jenis Layanan": "Prioritas", "RateRequestTypes": "TIDAK ADA", "paket": [ { "berat": 2, "satuan": "LBS", "Deskripsi": "Paket Saya", "no_of_packages": 1, "Nomor Urutan": 1 } ] }, { "id": "53,37:1", "perusahaan": [ "fedex" ], "Berat_Unit": "LB", "Jenis Layanan": "FEDEX_GROUND", "RateRequestTypes": "TIDAK ADA", "paket": [ { "berat": 1,5, "satuan": "LBS", "Deskripsi": "Paket Saya", "no_of_packages": 1, "Nomor Urutan": 3 } ] } ] }
Setelah membuat objek JSON seperti itu, Anda perlu menyandikan objek ini menggunakan Kunci API unik Anda. Kami menyediakan Algoritma Encoding di bawah ini, sehingga akan mudah bagi Anda untuk melanjutkan.
Fungsi PHP untuk mengkodekan permintaan JSON ini
<?php fungsi encode($key,$data) { $cipher = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); $kunci256 = $kunci; $iv = '1156651@Xadapter'; mcrypt_generic_init($cipher, $key256, $iv); $cipherText256 = mcrypt_generic($cipher,$data ); mcrypt_generic_deinit($cipher); $cipherHexText256 =bin2hex($cipherText256); kembalikan $cipherHexText256; } ?>
Selanjutnya, letakkan objek yang disandikan ini ke objek JSON lain (dengan dua elemen, 'emailid' dan 'data') dan kirimkan ke server.
<?php $req=array(); $req['emailid']='[email protected]'; ID Email Terdaftar API Anda $apikey='b52ee1f3ab8454589d6a9bd5018d60be'; KUNCI Terdaftar API Anda $req['data']=$this->encode($apikey,$JSON_Req); $konten =json_encode($req); ?>
Permintaan JSON akhir terlihat seperti ini:
{"emailid":"[email protected]", "data":"" }
Kirim objek JSON ini ke server.
Lihat contoh di bawah ini untuk memahami cara mengirim permintaan di PHP:
$curl = curl_init("http://shippingapi.storepep.com/api/shippings/rates");
curl_setopt($curl, CURLOPT_HEADER, salah);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, benar);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Tipe konten: aplikasi/json"));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, salah);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, salah);
curl_setopt($curl, CURLOPT_POST, benar);
curl_setopt($curl, CURLOPT_POSTFIELDS, $konten ); // ini adalah $content yang kita buat pada kode di atas
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
$respons = json_decode($json_response, benar);
print_r($respon);