Gökmen Korkmaz

OpenCart RestApi Login 3: Müşteri Oturumu Açma

OpenCart RestApi Customer Login

Merhaba, bu devam yazımızda API kullanıcısı ile login olunduktan sonra nasıl müşteri oturumu açılacağını anlatmaya çalışacağım. Müşteri oturumunun açılmasıyla sitemiz API ile satış yapabilir konumuna gelecektir. Pazaryerleri entegrasyonlarınız mevcutsa (Pazaryerlerinden kısaca PY olarak bahsedeceğim – N11 ve Hepsiburada örneğin) bu PY satış ardından PushApi ile sitenize satışı işleyebilir. Böylece stok karışıklığından da kurtulmuş olursunuz.

Daha önceki yazılarımda OpenCart üzerinde nasıl API kullanıcısı oluşturulacağından ve bu API ile nasıl sisteme login olunacağından zaten bahsetmiştim. Php kodumuzu geliştirerek devam edelim.

<?php
 $loginparam = [
 'url' => 'http://sunucu_ip/index.php?route=api/login',
 'key' => 'api_key'
 ];
 $loginresult = json_decode(logincurl($loginparam));
 if(isset($loginresult->success) && isset($loginresult->token)){
 //echo $loginresult->success . ": Token -> " . $loginresult->token;
 $customerparam = [
 'url' => 'http:/sunucu_ip/index.php?route=api/customer&token='.$loginresult->token,
 'customer_id' => '1',
 'firstname' => 'Deneme',
 'lastname' => 'Kullanıcısı',
 'email' => 'deneme@kullanici.com',
 'telephone' => '02320000000'
 ];
 $customerresult = json_decode(curl($customerparam));
 var_dump($customerresult);
 } else {
 var_dump($loginresult);
 }
 
 function logincurl($data = array()){
 $cf = dirname(__FILE__) . '/cookie.txt';
 $url = $data['url'];
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_COOKIEJAR, $cf);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
 $curlresult = curl_exec($ch);
 curl_close($ch);
 return $curlresult;
 }
 
 function curl($data = array()){
 $cf = dirname(__FILE__) . '/cookie.txt';
 $url = $data['url'];
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_COOKIEFILE, $cf);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
 $curlresult = curl_exec($ch);
 curl_close($ch);
 return $curlresult;
 }
?>

Dikkatinizi çektiyse burada iki adet CURL fonksiyonu bulunmaktadır. Sebebi ise logincurl fonksiyonu cookie.txt dosyasına oturumda kullanılan bilgileri yazmakla, curl fonksiyonu ise cookie.txt dosyasındaki oturum bilgilerini sunucuya iletmektedir. Bu şekilde sunucu API isteğinin hangi oturumdan gerçekleşeğini anlayarak işleme devam eder. Aksi takdirde “API iznine sahip değilsiniz” şeklinde bir uyarı dönecektir.

Şimdi dosyayı çalıştırıyoruz (ocapi.php). Çalıştırdığımda sunucum bana şu yanıtı döndürdü.

object(stdClass)#2 (1) { ["success"]=> string(40) "You have successfully modified customers" } 

Artık müşteri ile oturumu açmış durumdayım. Bir sonraki yazımda OpenCart API ile oturum açmış olduğum müşterinin sepetine ürün ekleyeceğim. Şimdilik hoşçakalın.

Exit mobile version