{"id":32486,"date":"2023-03-08T16:31:06","date_gmt":"2023-03-08T15:31:06","guid":{"rendered":"https:\/\/mimolive.com\/?post_type=user-manual&#038;p=32486"},"modified":"2024-10-08T09:55:45","modified_gmt":"2024-10-08T07:55:45","slug":"http-api","status":"publish","type":"user-manual","link":"https:\/\/mimolive.com\/nl\/user-manual\/remote-control-automation\/http-api\/","title":{"rendered":"HTTP API"},"content":{"rendered":"<p>Aan de ene kant publiceert mimoLive een <a href=\"https:\/\/mimolive.com\/nl\/gebruikershandleiding\/oppervlakken-voor-afstandsbediening\/\">UI afstandsbediening<\/a> die u kunt gebruiken om aangepaste gebruikersinterfaces te maken die u kunt gebruiken op een tablet of vergelijkbaar apparaat om mimoLive op afstand te bedienen.<\/p>\n\n\n\n<p>Daarnaast biedt mimoLive toegang tot de kale <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> zodat je aangepaste scripts kunt maken (via <strong>bash<\/strong> en <strong>krul<\/strong>, <strong>AppleScript<\/strong>, ingebouwd <a href=\"https:\/\/mimolive.com\/nl\/gebruikershandleiding\/automatisering\/\">Automatiseringslaag<\/a> of iets dergelijks dat kan praten met een <span class=\"caps\">HTTP<\/span> server) die verschillende aspecten van mimoLive beheren - de mogelijkheden zijn bijna eindeloos. (Zie <a href=\"https:\/\/mimolive.com\/nl\/gebruikershandleiding\/voorbeelden-van-api-gebruik\/\">Voorbeelden van <span class=\"caps\">API<\/span> gebruik<\/a>)<\/p>\n\n\n\n<p>In dit onderwerp richten we ons op de kale <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span>. Als de <span class=\"caps\">API<\/span> is gebaseerd op de <a href=\"http:\/\/jsonapi.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">json:api specificatie<\/a> Zorg ervoor dat u hiermee vertrouwd raakt voordat u met mimoLive werkt. <span class=\"caps\">API<\/span>.<\/p>\n\n\n\n<p>*Naast de documentatie kun je ook onze PHP-demoscripts op github bekijken.<\/p>\n\n\n\n<p><br>Er is ook een voorbeeld voor Shell en Apple Script beschikbaar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"api-endpoint\"><span class=\"caps\">API<\/span> Toegang<\/h3>\n\n\n\n<p>De mimoLive <span class=\"caps\">API<\/span> is toegankelijk op dezelfde machine als waarop mimoLive draait (via \"localhost\") en op het lokale netwerk (via \".local\").<\/p>\n\n\n\n<p>Indien ingeschakeld serveert mimoLive een <span class=\"caps\">HTTP<\/span> server op \"poort 8989\".<\/p>\n\n\n\n<p>Alle <span class=\"caps\">API<\/span> Oproepen hebben als prefix \"\/api\/v1\/\", dus als je een lijst met geopende documenten wilt opvragen, roep je \"http:\/\/localhost:8989\/api\/v1\/documents\" op.<\/p>\n\n\n\n<p>Alle ID's (voor documenten, lagen, bronnen, uitvoerbestemmingen enz.) worden opgeslagen en bewaard op schijf, dus het hard coderen van deze waarden is veilig zolang hetzelfde document binnen mimoLive gebruikt wordt.<br><br>Zie <a href=\"https:\/\/mimolive.com\/nl\/gebruikershandleiding\/maatwerk\/http-api\/eindpunten\/\" data-type=\"user-manual\" data-id=\"32488\">API Eindpunten<\/a> voor meer informatie over alle beschikbare eindpunten.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"authentication\">Authenticatie<\/h3>\n\n\n\n<p>Vanaf mimoLive 3.1, als de gebruiker authenticatie heeft ingeschakeld in de mimoLive voorkeuren, moet u het gebruikerswachtwoord opgeven voor elk verzoek aan de <span class=\"caps\">API<\/span> wat op twee manieren kan:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>De aangepaste instelling <span class=\"caps\">HTTP<\/span> koptekst \"X-MimoLive-Password-SHA256: xxxxxxx\".<\/li>\n\n\n\n<li>De queryparameter \"?pwSHA256=xxxxxxx\" toevoegen<\/li>\n<\/ul>\n\n\n\n<p>In beide gevallen moet xxxxxxx worden vervangen door het oorspronkelijke wachtwoord (in <span class=\"caps\">UTF<\/span>-8 codering) gehasht met <span class=\"caps\">SHA<\/span>-256 en gecodeerd als een reeks hexadecimale cijfers.<br>Om de ontwikkeling van aangepaste scripts en toepassingen te vergemakkelijken, toont mimoLive dit <span class=\"caps\">API<\/span> toets en maakt kopi\u00ebren naar het klembord mogelijk in het voorkeurenpaneel Afstandsbediening:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1000\" height=\"448\" src=\"https:\/\/mimolive.com\/wp-content\/uploads\/2023\/03\/dddc6bf5-964b-493c-b35e-ee5b37e44e40.png\" alt=\"\" class=\"wp-image-32487\" srcset=\"https:\/\/mimolive.com\/wp-content\/uploads\/2023\/03\/dddc6bf5-964b-493c-b35e-ee5b37e44e40.png 1000w,  https:\/\/mimolive.com\/wp-content\/uploads\/2023\/03\/dddc6bf5-964b-493c-b35e-ee5b37e44e40-300x134.png 300w,  https:\/\/mimolive.com\/wp-content\/uploads\/2023\/03\/dddc6bf5-964b-493c-b35e-ee5b37e44e40-768x344.png 768w,  https:\/\/mimolive.com\/wp-content\/uploads\/2023\/03\/dddc6bf5-964b-493c-b35e-ee5b37e44e40-18x8.png 18w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"deprecated-authentication-method\">Afgeschreven verificatiemethode<\/h4>\n\n\n\n<p>V\u00f3\u00f3r mimoLive versie 3.1 werden verzoeken tegen de <span class=\"caps\">API<\/span> zouden worden geverifieerd met de speciale <span class=\"caps\">HTTP<\/span> header \"X-MimoLive-Password: \" of de queryparameter \"?pw=\" op elk verzoek.<br>Helaas verzendt deze methode het wachtwoord onversleuteld over een mogelijk onveilige netwerkverbinding waardoor gevoelige gegevens kunnen vrijkomen als de <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> wachtwoord wordt elders hergebruikt.<br>Hoewel het blijft werken, wordt deze authenticatiemethode daarom afgeraden en mogelijk in de toekomst verwijderd.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"errors\">Fouten<\/h3>\n\n\n\n<p>Als er een fout optreedt tijdens een verzoek, zal mimoLive stoppen met het verwerken van dat verzoek en een <span class=\"caps\">HTTP<\/span> antwoord met de statuscode die de fout aangeeft. Het antwoord bevat ook een <span class=\"caps\">JSON<\/span> payload array van foutobjecten met aanvullende informatie over elke fout die zich voordeed:<\/p>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\"><code>{\n  \"errors\": &#91;\n    {\n      \"status\": \"404\",\n      \"title\": \"Not Found\",\n      \"description\": \"The requested object could not be found\"\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"remote-access\">Toegang op afstand via internet<\/h3>\n\n\n\n<p>Als de <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> wordt mogelijk gemaakt door een webserver die is ingebouwd in mimoLive, externe toegang tot de <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> van eender waar op het Internet kan ingeschakeld worden door de mimoLive-computer een publiek IP-nummer te geven. Aangezien de <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> niet erg goed beschermd is, is dit een slecht idee. Een betere manier om toegang op afstand tot de <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> via een openbaar netwerk is om <a href=\"https:\/\/mimolive.com\/nl\/gebruikershandleiding\/access-remote-control-surfaces-and-http-api-remotely\/\">maak een veilige tunnel naar uw mimoLive-hostcomputer met behulp van ngrok<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>On one hand, mimoLive publishes a Remote Control UI which you can use to create custom user interfaces that you can use on a tablet or similar device to remote control mimoLive. Additionally, mimoLive provides access to the bare HTTP API so you can create custom scripts (via bash and curl, AppleScript, build-in Automation Layer [&hellip;]<\/p>","protected":false},"author":3,"featured_media":0,"parent":40865,"menu_order":2,"template":"","meta":{"_acf_changed":false,"_angie_page":false,"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[258],"tags":[],"class_list":["post-32486","user-manual","type-user-manual","status-publish","hentry","category-manual"],"acf":[],"_links":{"self":[{"href":"https:\/\/mimolive.com\/nl\/wp-json\/wp\/v2\/user-manual\/32486","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mimolive.com\/nl\/wp-json\/wp\/v2\/user-manual"}],"about":[{"href":"https:\/\/mimolive.com\/nl\/wp-json\/wp\/v2\/types\/user-manual"}],"author":[{"embeddable":true,"href":"https:\/\/mimolive.com\/nl\/wp-json\/wp\/v2\/users\/3"}],"version-history":[{"count":1,"href":"https:\/\/mimolive.com\/nl\/wp-json\/wp\/v2\/user-manual\/32486\/revisions"}],"predecessor-version":[{"id":39706,"href":"https:\/\/mimolive.com\/nl\/wp-json\/wp\/v2\/user-manual\/32486\/revisions\/39706"}],"up":[{"embeddable":true,"href":"https:\/\/mimolive.com\/nl\/wp-json\/wp\/v2\/user-manual\/40865"}],"wp:attachment":[{"href":"https:\/\/mimolive.com\/nl\/wp-json\/wp\/v2\/media?parent=32486"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mimolive.com\/nl\/wp-json\/wp\/v2\/categories?post=32486"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mimolive.com\/nl\/wp-json\/wp\/v2\/tags?post=32486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}