Hallo,
Zoals sommigen al weten, ben ik bezig met een API Koppeling van Versio. Dit begin aardig te lukken. Maar toch zit ik tegen enkele problemen aan. Alsook ontvang ik graag enkele tips voor eventuele verbetering.
De API code:
PHP
<?php
class Versio_API {
function setApi_login()
{
$this->loginusername = '';
$this->loginpassword = '';
}
function setApi_debug()
{
$this->debug = true;
}
function setApi_testmodus($testmodus)
{
if ($testmodus == 'true') {
$this->endpoint = 'https://www.versio.nl/testapi/v1';
}else{
$this->endpoint = 'https://www.versio.nl/api/v1';
}
}
function setApi_output($outputresult)
{
$this->output = $outputresult;
}
function request($requesttype, $request, $data=array())
{
$url = $this->endpoint.$request;
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERPWD, $this->loginusername . ":" . $this->loginpassword);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $requesttype);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$debugdata = array('requesttype' => $requesttype, 'url' => $url, 'postdata' => $data, 'result' => $result, 'httpcode' => $httpcode);// Debug opslaan in DB (latere fase)
return $result;
}
}
Toon Meer
De API Aanroepen:
Code
<?
error_reporting(E_ALL);
ini_set("display_errors", 1);
require('class_versio_api.php');
$versio = new Versio_API();
$versio->setApi_login();
$testmode = true;
$versio->setApi_testmodus($testmode);
$data = array(
'domain' => 'domin.com',
);
$versio->request('GET', '/domains/domin.com/availability', $data, true);
?>
Toon Meer
Nu is zijn mijn vragen:
als ik de lijn van Versio Request een echo geef. krijg ik bijvoorbeeld:
Hoe kan ik ze elk apart gebruiken? Dat domain bijvoorbeeld in $versio->domain; zit en $versio->available; en $versio->available; ? Of eventueel anders?
In "function request" zit $httpcode als ik daar echo geef, krijg ik de 200 status indien het ok is of iets anders als er wat fout loopt. Hoe kan ik deze ook in $result steken?
Tips zijn uiteraard welkom!
Aaron