{"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\/id\/user-manual\/remote-control-automation\/http-api\/","title":{"rendered":"API HTTP"},"content":{"rendered":"<p>Di satu sisi, mimoLive menerbitkan sebuah <a href=\"https:\/\/mimolive.com\/id\/panduan-pengguna\/permukaan-kendali-jarak-jauh\/\">UI Kontrol Jarak Jauh<\/a> yang dapat Anda gunakan untuk membuat antarmuka pengguna khusus yang dapat Anda gunakan pada tablet atau perangkat serupa untuk mengendalikan mimoLive dari jarak jauh.<\/p>\n\n\n\n<p>Selain itu, mimoLive menyediakan akses ke <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> sehingga Anda dapat membuat skrip khusus (melalui <strong>bash<\/strong> dan <strong>ikal<\/strong>, <strong>AppleScript<\/strong>, built-in <a href=\"https:\/\/mimolive.com\/id\/panduan-pengguna\/otomatisasi\/\">Lapisan Otomasi<\/a> atau sesuatu yang serupa yang dapat berbicara dengan <span class=\"caps\">HTTP<\/span> server) yang mengontrol berbagai aspek mimoLive - kemungkinannya hampir tak terbatas. (Lihat <a href=\"https:\/\/mimolive.com\/id\/panduan-pengguna\/contoh-penggunaan-api\/\">Contoh <span class=\"caps\">API<\/span> penggunaan<\/a>)<\/p>\n\n\n\n<p>Dalam topik ini, kita akan fokus pada bagian telanjang <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span>. Sebagai <span class=\"caps\">API<\/span> didasarkan pada <a href=\"http:\/\/jsonapi.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Spesifikasi json:api<\/a> pastikan untuk membiasakan diri Anda dengannya sebelum bekerja dengan mimoLive <span class=\"caps\">API<\/span>.<\/p>\n\n\n\n<p>*Selain dokumentasi, Anda juga dapat melihat skrip demo PHP kami di github<\/p>\n\n\n\n<p><br>Selain itu, tersedia juga contoh untuk Shell dan Apple Script.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"api-endpoint\"><span class=\"caps\">API<\/span> Akses<\/h3>\n\n\n\n<p>MimoLive <span class=\"caps\">API<\/span> dapat diakses di mesin yang sama dengan tempat mimoLive berjalan (melalui \"localhost\") dan di jaringan lokal (melalui \".local\").<\/p>\n\n\n\n<p>Jika diaktifkan, mimoLive melayani sebuah <span class=\"caps\">HTTP<\/span> server pada \"port 8989\".<\/p>\n\n\n\n<p>Semua <span class=\"caps\">API<\/span> diawali dengan path \"\/api\/v1\/\" sehingga jika Anda ingin mendapatkan daftar dokumen yang dibuka, Anda dapat memanggil \"http:\/\/localhost:8989\/api\/v1\/documents\".<\/p>\n\n\n\n<p>Semua ID (untuk dokumen, layer, sumber, tujuan keluaran, dll.) disimpan dan dipertahankan ke disk, sehingga pengkodean nilai-nilai ini aman selama dokumen yang sama digunakan di dalam mimoLive.<br><br>Silakan merujuk ke <a href=\"https:\/\/mimolive.com\/id\/panduan-pengguna\/kustomisasi\/http-api\/titik-akhir\/\" data-type=\"user-manual\" data-id=\"32488\">Titik Akhir API<\/a> untuk mempelajari lebih lanjut tentang semua titik akhir yang disediakan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"authentication\">Otentikasi<\/h3>\n\n\n\n<p>Dimulai dengan mimoLive 3.1, jika pengguna mengaktifkan autentikasi di preferensi mimoLive, Anda perlu memberikan kata sandi pengguna untuk setiap permintaan ke <span class=\"caps\">API<\/span> yang dapat dilakukan dengan dua cara:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mengatur kebiasaan <span class=\"caps\">HTTP<\/span> header \"X-MimoLive-Password-SHA256: xxxxxxx\"<\/li>\n\n\n\n<li>Menambahkan parameter kueri \"?pwSHA256=xxxxxxx\"<\/li>\n<\/ul>\n\n\n\n<p>Dalam kedua kasus tersebut, xxxxxxx harus diganti dengan kata sandi asli (dalam <span class=\"caps\">UTF<\/span>Pengkodean -8) di-hash menggunakan <span class=\"caps\">SHA<\/span>-256 dan dikodekan sebagai serangkaian digit heksadesimal.<br>Untuk memudahkan pengembangan skrip dan aplikasi khusus, mimoLive menunjukkan hal ini <span class=\"caps\">API<\/span> dan memungkinkan penyalinan ke clipboard di panel preferensi Remote Controls (Kontrol Jarak Jauh):<\/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\">Metode Otentikasi yang Sudah Tidak Digunakan<\/h4>\n\n\n\n<p>Sebelum mimoLive versi 3.1, permintaan terhadap <span class=\"caps\">API<\/span> akan diautentikasi dengan menggunakan <span class=\"caps\">HTTP<\/span> header \"X-MimoLive-Password: \" atau parameter kueri \"?pw=\" pada setiap permintaan.<br>Sayangnya, metode ini mengirimkan kata sandi secara jelas melalui koneksi jaringan yang berpotensi tidak aman yang dapat mengekspos data sensitif jika <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> kata sandi sedang digunakan kembali di tempat lain.<br>Meskipun masih berfungsi, metode autentikasi ini tidak disarankan dan mungkin akan dihapus di masa mendatang.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"errors\">Kesalahan<\/h3>\n\n\n\n<p>Jika terjadi kesalahan selama permintaan, mimoLive akan berhenti memproses permintaan itu dan mengembalikan <span class=\"caps\">HTTP<\/span> dengan kode status yang menunjukkan kesalahan. Tanggapan tersebut juga berisi sebuah <span class=\"caps\">JSON<\/span> payload array objek kesalahan yang berisi informasi tambahan tentang setiap kesalahan yang terjadi:<\/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\">Akses Jarak Jauh melalui Internet<\/h3>\n\n\n\n<p>Sebagai <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> diaktifkan oleh server web yang terpasang di mimoLive, akses jarak jauh ke <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> dari mana saja di Internet dapat diaktifkan dengan memberikan nomor IP publik pada komputer mimoLive. Karena <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> tidak terlindungi dengan baik, ini adalah ide yang buruk. Cara yang lebih baik untuk mengaktifkan akses jarak jauh ke <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> melalui jaringan publik adalah untuk <a href=\"https:\/\/mimolive.com\/id\/panduan-pengguna\/mengakses-permukaan-kendali-jarak-jauh-dan-http-api-dari-jarak-jauh\/\">membuat terowongan yang aman ke komputer host mimoLive Anda menggunakan 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\/id\/wp-json\/wp\/v2\/user-manual\/32486","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mimolive.com\/id\/wp-json\/wp\/v2\/user-manual"}],"about":[{"href":"https:\/\/mimolive.com\/id\/wp-json\/wp\/v2\/types\/user-manual"}],"author":[{"embeddable":true,"href":"https:\/\/mimolive.com\/id\/wp-json\/wp\/v2\/users\/3"}],"version-history":[{"count":1,"href":"https:\/\/mimolive.com\/id\/wp-json\/wp\/v2\/user-manual\/32486\/revisions"}],"predecessor-version":[{"id":39706,"href":"https:\/\/mimolive.com\/id\/wp-json\/wp\/v2\/user-manual\/32486\/revisions\/39706"}],"up":[{"embeddable":true,"href":"https:\/\/mimolive.com\/id\/wp-json\/wp\/v2\/user-manual\/40865"}],"wp:attachment":[{"href":"https:\/\/mimolive.com\/id\/wp-json\/wp\/v2\/media?parent=32486"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mimolive.com\/id\/wp-json\/wp\/v2\/categories?post=32486"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mimolive.com\/id\/wp-json\/wp\/v2\/tags?post=32486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}