HostFact - Webhooks



Beginnen met ontwikkelen

We zullen u op deze pagina stap voor stap door het ontwikkelproces heen begeleiden.



Toevoegen van webhooks

Om gebruik te maken van webhooks dient u in de map '/Pro/includes/' het bestand 'hooks.php' aan te maken. In dit bestand kunt u de webhooks toevoegen. Download hier het voorbeeldbestand.

Naar aanleiding van een uitgevoerde functie in HostFact wilt u wellicht weer een (vervolg)actie uitvoeren in HostFact. Dit is mogelijk en dient via de API te gebeuren. U dient hiervoor de interne API te gebruiken, waardoor validatie en externe communicatie niet meer nodig is.
Lees hier verder over het gebruik van de interne API.



Type webhooks

Voor webhooks maken we onderscheid in verschillende types.


Action

Een actie webhook wordt aangeroepen wanneer een bepaalde actie in HostFact is uitgevoerd, bijvoorbeeld wanneer een dienst is aangemaakt.

Een actie webhook krijgt de parameters mee die informatie bevatten gerelateerd aan de uitgevoerde actie. Een actie webhook hoeft niets terug te geven.


Voorbeeld implementatie
add_action('service_is_edited', 'action_service_is_edited');

function action_service_is_edited($parameters)
{
	// echo $parameters['Type'];
    // echo $parameters['id'];
    // echo $parameters['Debtor'];
}                    


Filter

Een filter webhook wordt aangeroepen bij bepaalde weergaves of acties waarop een eigen uitbreiding gedaan kan worden, bijvoorbeeld het uitbreiden een menu of de notificatie lijst.

Een filter webhook krijgt de parameter mee die u kunt uitbreiden. De uitgebreide parameter dient u terug te geven.


Voorbeeld implementatie
add_filter('service_menu', 'filter_service_menu');

function filter_service_menu($menu)
{
	// print_r($menu);
    
    $menu[] = array('type'	=> 'vps',	
						'title' => 'vps', 
						'url' => 'modules.php?module=vps&page=overview',
						'children' => array(	array('title' => 'VPS toevoegen', 
                                                      'url' => 'services.php?page=add&type=vps')
					));
    return $menu;
}