This object is in archive! 

Zipato API with PHP integration

Amandeep Singh shared this question 10 years ago
Need Answer

Hi Zipato Community,


I am trying to use the Zipato rest API in PHP. I have created an php rest client to call "https://my.zipato.com/zipato-web/rest/user/init". This request is giving me response in JSON format like this.


(

[success] => 1

[jsessionid] => 780B5469850ABFE4B9E0243A1A28A741.frontend2

[nonce] => FVeErTtzoPXAPMCp

)

After this I am using nonce from above request to generate token for next login request(https://my.zipato.com/zipato-web/rest/user/login?username=[MYUSERNAME]&token=[ sha1 ( ABOVE-NONCE . sha1(MYPASSWORD) ) ] ).But this request always giving me response that "Provide username is not exist or password is wrong".(

[success] =>

[error] => User "MYUSERNAME" not found or wrong password.

[jsessionid] => 3C21DB5538404E88F8012109C2C0D953.frontend2

[nonce] => VhrSXUBUeloAFURM

) Please let me what I am doing wrong. I need to sort this out asap.

Thanks & Best Regards,Aman

Replies (2)

photo
1

Did you put the jsessionid inside the 'Cookie' HTTP header, retrieve from the user/init call, when calling user/login?

photo
2

Step 1:


  1. function log_zipa()


    {


    global $username,$password,$url,$url_base;


    $json = json_decode(file_get_contents($url));


    $sid = 'jsessionid';


    $none = 'nonce';


    $id = $json->{$sid};


    $nonce = $json->{$none};


    $temp = sha1 ($password);


    $temp2 = $nonce.$temp;


    $pass = sha1($temp2);


    $data = array("username" => "$username", "password" => "$pass", "method" => "SHA1" );


    $data_url = "username=$username&password=$pass&method=SHA1";


    $ch = curl_init($url_base.'/json/Login');


    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");


    curl_setopt($ch, CURLOPT_COOKIE, 'JSESSIONID='.$id);


    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_url);


    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);


    $output = curl_exec($ch);


    $rr = json_decode ($output,true);


    return array ($id,$rr['success'],$rr['error']);


    }


with :

$url_base = 'http://my.zipato.com:8080/zipato-web';


$url = $url_base.'/json/Initialize';


Step 2 : Get some Info

  1. global $ip_zipa,$url_base;


    $c = curl_init();


    curl_setopt($c, CURLOPT_URL, $url_base.'/rest/meters/');


    curl_setopt($c, CURLOPT_RETURNTRANSFER, true);


    curl_setopt($c, CURLOPT_COOKIE, 'JSESSIONID='.$id.'; Path=/zipato-web/; HttpOnly');


    curl_setopt($c, CURLOPT_HEADER, false);


    $output = curl_exec($c);


    $json = json_decode ($output,true);

Leave a Comment
 
Attach a file