HTTP
Disertakan dengan Macro DeckKirim permintaan HTTP dari tombol dan simpan nilai dari respons ke dalam variabel.
Halaman integrasi HTTP dengan sakelar aktif dan tanpa opsi konfigurasi
- GET, POST, PUT, PATCH, DELETE, dan lainnya, dengan kueri dan header
- Autentikasi basic, bearer token, atau header kunci API
- Isi JSON, formulir, teks, dan unggahan file
- Simpan status, header, atau nilai JSON ke dalam variabel
- Variabel di nilai parameter kueri dan header
Integrasi HTTP mengirim permintaan web dari Macro Deck. Gunakan untuk memanggil webhook, mengendalikan perangkat di jaringan Anda yang memiliki API web, atau membaca nilai dari layanan online dan menampilkannya di tombol. Integrasi ini disertakan dengan Macro Deck dan sudah aktif sejak awal, jadi tidak ada yang perlu dihubungkan dan tidak perlu masuk ke akun apa pun.
Dua aksi
Kirim Permintaan HTTP menyusun permintaan lengkap. Pilih Metode, masukkan URL, lalu tambahkan Parameter kueri dan Header sebagai pasangan nama dan nilai. Di Jenis isi, pilih none, json, form, text, atau multipart (unggahan file dengan field formulir tambahan). Autentikasi menawarkan basic (nama pengguna dan kata sandi), bearer (token), dan header (token di header yang Anda namai, misalnya X-Api-Key). Status yang diharapkan menentukan jawaban mana yang dianggap berhasil, bawaannya 2xx. Anda juga dapat mengatur Batas waktu, menonaktifkan Ikuti pengalihan, dan membatasi Ukuran respons maks. (byte).
Tangkapan menyimpan bagian dari respons ke dalam variabel. Setiap baris memasangkan nama variabel dengan selektor: $status, $ok, $duration, $body, $truncated, $headers, $header:<name>, atau jalur JSON seperti data.items[0].name. Variabel yang belum ada akan dibuat.
Dapatkan Nilai JSON adalah bentuk singkat untuk membaca satu nilai: masukkan URL, Jalur JSON, dan variabel di Simpan ke variabel.
Contoh penggunaan
- Tombol yang mengirim
{"text": "Stream is live"}ke webhook obrolan dengan Kirim Permintaan HTTP dan jenis isijson. - Tombol yang menyalakan colokan pintar di jaringan Anda melalui API web lokalnya.
- Tombol yang membaca harga terkini dari API publik dengan Dapatkan Nilai JSON dan menampilkannya di labelnya dengan
{{ vars.price }}. - Alur yang mengirim permintaan, menangkap
$status, dan menggunakan Jika / Lainnya untuk mewarnai tombol merah saat server tidak menjawab dengan200.
Nilai parameter kueri dan header dapat berisi variabel, misalnya {{ vars.channel }}. Permintaan berjalan di komputer tempat Macro Deck berjalan, sehingga alamat seperti http://192.168.1.20 menjangkau perangkat di jaringan komputer tersebut. Aksi gagal dengan pesan yang jelas jika server tidak dapat dijangkau, permintaan melewati batas waktu, sertifikat TLS ditolak, atau status tidak sesuai dengan yang diharapkan.
Yang Anda butuhkan
- Macro Deck 3 di Windows, macOS, atau Linux
- Alamat API web atau webhook yang ingin dipanggil
- Kunci API, token, atau kata sandi, jika layanan membutuhkannya
Cara menyiapkan
Langkah 1: Pastikan integrasi aktif
Di Macro Deck, klik Integrasi di bilah samping, lalu klik HTTP. Sakelar di kanan atas aktif secara bawaan; aktifkan jika masih nonaktif. Tidak ada yang perlu disiapkan: tab Ringkasan menampilkan Tidak ada opsi konfigurasi untuk integrasi ini.
Langkah 2: Tambahkan aksi HTTP ke tombol
Di halaman Deck, klik sebuah tombol. Deck harus dalam keadaan tidak terkunci: jika tombol Kunci tampil di kanan atas, deck tidak terkunci. Editor terbuka dengan Ketuk Singkat terpilih. Klik + Tambah aksi, pilih HTTP di sisi kiri dialog Tambah aksi, lalu pilih Kirim Permintaan HTTP, atau Dapatkan Nilai JSON jika hanya ingin membaca satu nilai. Anda juga dapat mengetik namanya di Cari aksi….
Langkah 3: Masukkan permintaan
Pilih Metode dan masukkan URL. Tambahkan Parameter kueri dan Header jika API membutuhkannya. Untuk permintaan berisi data, pilih Jenis isi dan isi Isi JSON, Field formulir, atau Isi teks.
Langkah 4: Tambahkan autentikasi
Jika layanan membutuhkan login atau kunci, pilih di Autentikasi:
basicdengan Nama pengguna dan Kata sandi / token,bearerdengan token di Kata sandi / token, atauheaderdengan Nama header dan kuncinya di Kata sandi / token. Sebagian besar layanan menampilkan kunci API atau tokennya di pengaturan akun atau pengembang.Langkah 5: Simpan nilai dari respons
Untuk memakai jawabannya, tambahkan baris di Tangkapan: nama variabel dan selektor seperti
$statusatau jalur JSON sepertidata.temperature. Dengan Dapatkan Nilai JSON, masukkan Jalur JSON dan pilih variabel di Simpan ke variabel.Langkah 6: Coba tombolnya
Klik Jalankan di editor untuk langsung mengirim permintaan, atau simpan lalu tekan tombolnya. Jika aksi gagal, pesannya menjelaskan alasannya, misalnya server tidak dapat dijangkau atau status tidak cocok dengan Status yang diharapkan.
Aksi2
Pasang aksi ini di tombol atau jalankan dari alur.
- Kirim Permintaan HTTP
- Mengirim permintaan HTTP yang dapat dikonfigurasi dan dapat menangkap respons ke dalam variabel.
- Dapatkan Nilai JSON
- Mengambil URL dan menulis satu nilai dari respons JSON ke dalam variabel.
Pertanyaan yang sering diajukan
Di mana kunci API dan kata sandi disimpan?
Yang Anda masukkan di Kata sandi / token disimpan terenkripsi dan baru diubah menjadi teks biasa saat permintaan dikirim. Nilai yang diketik di Header disimpan tanpa enkripsi dan ikut terbawa di profil yang diekspor, jadi letakkan kunci dan token di kolom autentikasi.
Bisakah perangkat di jaringan lokal dipanggil?
Bisa. Permintaan dikirim dari komputer yang menjalankan Macro Deck, sehingga alamat apa pun yang dapat dijangkau komputer tersebut berfungsi. Untuk perangkat dengan sertifikat yang ditandatangani sendiri, Anda dapat menonaktifkan Validasi sertifikat TLS, tetapi lakukan itu hanya untuk perangkat di jaringan Anda sendiri.
Mengapa aksi gagal padahal server menjawab?
Jawabannya tidak cocok dengan Status yang diharapkan, yang bawaannya 2xx. Masukkan kode status yang benar-benar dikembalikan API, rentang seperti 200-204, daftar, atau any untuk menerima semua status. Dapatkan Nilai JSON selalu mengharapkan jawaban 2xx.
Jalur JSON apa yang dapat digunakan?
Gunakan titik dan indeks, misalnya data.items[0].name atau [0].id, atau $ untuk seluruh dokumen. Di Tangkapan, selektor khusus seperti $status didahulukan, sehingga field yang benar-benar bernama status dibaca dengan $.status.
Apakah variabel harus dibuat terlebih dahulu?
Tidak. Jika tangkapan atau Simpan ke variabel menyebut variabel yang belum ada, Macro Deck membuatnya. Jika variabel dengan nama itu sudah ada dengan jenis yang berbeda, penyimpanan gagal dan sebuah pesan ditampilkan.
Lainnya di Rumah pintar dan web
Home Assistant
Disertakan dengan Macro DeckNyalakan lampu, jalankan adegan dan skrip, dan tampilkan status langsung dari Home Assistant di deck Anda.
AdGuard Home
Disertakan dengan Macro DeckAktifkan, nonaktifkan, atau jeda perlindungan AdGuard Home, dan tampilkan statistiknya di deck Anda.
Feed RSS
Disertakan dengan Macro DeckIkuti feed RSS dan Atom, tampilkan artikel terbarunya di widget, dan tanggapi saat artikel baru masuk.
Cuaca
Disertakan dengan Macro DeckTampilkan cuaca saat ini dan prakiraan untuk lokasi Anda di deck, tanpa kunci API.