Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Start a new PHP script. Configure the script for your particular gateway

    Code Block
    <?
        $GATEWAY_IP = 'CHANGEME';
        $USERNAME = 'admin';
        $PASSWORD = 'admin';
     
        $ch = curl_init();
     
        $fields = array(
            'admin_uid'      => $USERNAME,
            'admin_password' => $PASSWORD
        );
  2. Log in to your gateway. This will save your authentication cookies in memory so that subsequent calls will be allowed.

    Code Block
    curl_setopt($ch, CURLOPT_URL, "https://$GATEWAY_IP/admin/main.html");
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_COOKIEFILE, '');
    $result = curl_exec($ch);
     
    if ($result === false) {
        $error = curl_error($ch);
        curl_close($ch);
     
        die("Login failed: $error");
    }
     
    if (preg_match("/Welcome,\\s+$USERNAME/i", $result) == 0
        || preg_match("/Log Out/i", $result) == 0) {
        curl_close($ch);
        die("Login Failed!");
    }
  3. Build a call to the gateway.list method to get information about the gateway.

    Code Block
        $request = array(
            'request' => array(
                'method'     => 'gateway_list',
                'parameters' => array()
            )
        );
     
        $string = json_encode($request, JSON_FORCE_OBJECT);
        $fields = array(
            'request' => $string
        );
     
        curl_setopt($ch, CURLOPT_URL, "https://$GATEWAY_IP/json");
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     
        $result = curl_exec($ch);
     
        if ($result === false) {
            $error = curl_error($ch);
            curl_close($ch);
     
            die("Request failed: $error");
        }
     
        curl_close($ch);
     
        $response = json_decode($result);
        $response_object = json_decode($response->response->result);
        print $response_object->gateway->model_name; print "\n";
        print "Uptime "; print $response_object->gateway->uptime; print "\n";
    ?>

...