HostFact API versie 3.1



Wat is een API?

Wilt u gegevens importeren, exporteren of heeft u een eigen applicatie en wilt u HostFact gebruiken voor uw facturatie? Door middel van onze API kan er een koppeling gerealiseerd worden en kunnen gegevens uitgewisseld worden. Hierbij moet u denken aan het ophalen van debiteuren, aanmaken van een factuur, een factuur versturen en abonnementen aanmaken.



PHP kennis vereist

Wilt u gebruik maken van de API dan is het noodzakelijk dat u over PHP kennis beschikt. Beschikt u hier niet over dan kunt u een programmeur inschakelen.



Inschakelen van de API

De API kan ingesteld worden door in het menu te gaan naar "Instellingen" en vervolgens in het submenu onder "HostFact voorkeuren" te kiezen voor "API". Het is mogelijk om meerdere IP-adressen op de whitelist te zetten. Op deze pagina is het tevens mogelijk om de API in en uit te schakelen.

De API is bereikbaar op: https://www.uwdomein.nl/Pro/apiv2/api.php
Let op: dit is een voorbeeld URL en dient u nog aan te passen naar de juiste locatie waar uw map "/Pro/apiv2/" staat.


Voorbeeld PHP bestanden

Voor alle functionaliteiten hebben we een voorbeeld PHP bestand gemaakt. Dit helpt u om de werking van de API beter te begrijpen en stelt u in staat om in korte tijd het gewenste resultaat te realiseren. Download hier alle voorbeeld PHP bestanden.


Wanneer u het ZIP-bestand uitpakt vindt u het bestand "hostfact_api.php". Dit PHP bestand zorgt voor de communicatie met de API van HostFact. U dient dit bestand te bewerken en de URL van de API en uw beveiligingscode in te vullen. Dit vindt u op de regels 11 en 12:

$this->url		= 'https://www.uwdomein.nl/Pro/apiv2/api.php';
$this->api_key		= 'beveiligingscode';


Response van een API call

De response van iedere API call dient u af te lezen aan de "status" key die "success" of "error" terug kan geven. Eventueel is er ook een succes- of foutmelding bij met extra toelichting.


Succesmelding:
Array
(
    [controller] => debtor
    [action] => add
    [status] => success
    [date] => 2016-12-03T15:06:22+00:00
    ...
)

Foutmelding:
Array
(
    [controller] => debtor
    [action] => add
    [status] => error
    [date] => 2016-12-03T15:06:22+00:00
    ...
)


Filtermogelijkheid

Bij veel list-functies kan gefilterd worden op een 'modified'-veld. Daarmee kunnen alle gewijzigde onderdelen opgehaald worden in een bepaalde periode. Hierdoor kan het aantal API-calls wat gedaan moet worden flink beperkt worden. Een voorbeeld van dit filter staat hieronder.

$params = array('date' 	   => array(	'from' 	=> '2016-01-01', // filter_date
					'to' 	=> '2016-12-31'),
		'modified' => array(	'from' 	=> '2016-01-01 00:00:00', // filter_datetime
					'to' 	=> '2016-12-31 23:59:59'));