Nieuwe order, verse koffie graag!

illustration10_29

Wat is IOT?

IOT is letterlijk vertaald “Internet of Things”. Dit is het vakgebied waar apparaten live op het Internet zijn aangesloten om of te voorzien in onze informatiebehoefte of dingen aan te sturen.

Wat heeft dat te maken met mijn orders op mijn e-commerce site?

Op zich niet zo heel veel maar willen we allemaal niet op een leuke manier te weten komen of er een nieuwe bestelling is geplaatst? Ik dacht het wel, zeker voor de teamspirit!

Een email is saai en krijgt alleen diegene die de winkel beheert in zijn mailbox. Wat nou als we dit wat leuker kunnen maken door bijvoorbeeld op kantoor een speciale lamp aan te zetten? Of misschien een luchtalarm 🙂

Wat heb je nodig?

In dit geval richt ik me op een simpele oplossing waarbij we een IOT Smart Plug gebruiken van het bedrijf Shelly. Dit bedrijf levert een mooie en betrouwbare Smartplug die je eenvoudig kunt aansturen via een app. of de Cloud.

Je moet zelf even uitzoeken hoe je de Smart plugs configureert, er bestaat goede documentatie hoe dit te doen.

Device id en authorisatie key van Shelly cloud

Nadat je de Smart Plug hebt geconfigureert via de app. moet je in de cloud (of via app.) nog even wat gegevens ophalen.

Authorisatie key
Haal de key op via Security
Device ID
Noteer de device ID.

Hoe krijg je dit voor elkaar?

Er zijn meerdere wegen die naar Rome lijden. Grofweg heb ik twee manieren:

  • Je kunt een stukje PHP code schrijven en dat hosten op je eigen site met een webhook in WooCommerce;
  • Je kunt het integratieplatform Integromat gebruiken met een webhook in WooCommerce.

Eigen code

Onderstaande code werkt maar is geen perfect geschreven code. Bewaar onderstaande code in de php file “api_shelly.php” en zet dit in een map op je server.

Hieronder zie je de code:

//sample url to call on your own server
//api_shelly.php?deviceid=your_device_id&turn=on
//options
turn can have values: on, off
$url='https://shelly-14-eu.shelly.cloud/device/relay/control';
	
	//turn on
	$fields = array(
		'auth_key'=>'your_shelly_key',
		'turn'=>urlencode($_GET["turn"]),
		'channel'=>0,
		'id'=>urlencode($_GET["deviceid"])
	);
	switchRelay ($fields,$url);
function switchRelay($fields,$url)
	{
		var_dump($fields);
		$fields_string = http_build_query($fields);
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL,$url);
		curl_setopt($ch,CURLOPT_POST,count($fields));
		curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		$response = curl_exec($ch);
	}

Je hebt nu alle ingrediënten om dit te koppelen aan nieuwe orders die via WooCommerce binnenkomen. Dit doe je in het volgende scherm. Dit scherm bereik je via de WooCommerce instellingen en dan naar het tabblad geavanceerd.

Klik op Webhook toevoegen en vul de volgende gegevens in op het scherm:

Naam
Een naam die je de webhook wilt geven

Status
Kies de optie Actief.

Onderwerp
Kies de optie Bestelling toegevoegd.

Aflever-URL
Vul de locatie van het script in zoals eerder aangemaakt.

Klik op Webhook bedwaren en deze is actief. Elke keer als er een nieuwe bestelling is dan zal het script worden aangeroepen en de Smart Plug geactiveerd worden via de Cloud. Sluit een lamp aan en voilà.

Via Integromat

Wat mij betreft is dit de eenvoudigste manier. Je maakt een flow aan in Integromat en je koppelt deze vervolgens aan de webhook van WooCommerce.

Wij hebben een BluePrint klaar staan om te downloaden voor Integromat. Je hebt wel een betaald account nodig bij Integromat.

In de Integromat flow staat de webhook in het eerste deel van de flow.

Related Post

Leave a Reply