Anda boleh mencipta bot yang berinteraksi dengan perkhidmatan lain melalui API. Sebagai contoh, bot boleh membuat permintaan untuk menyemak ketersediaan untuk tarikh tertentu atau untuk mencari produk di kedai dalam talian.

Cara berinteraksi dengan API pihak ketiga menggunakan Dadata sebagai contoh

Mari kita ambil API cadangan alamat sebagai contoh: https://dadata.ru/api/suggest/address/ pautan akan berbeza

Baca dokumentasi API pihak ketiga dengan teliti.

Sila ambil perhatian! API pihak ketiga memerlukan alamat IP dari mana permintaan akan dihantar: 158.160.49.208 – laman web.

Dalam medan "Request URL", masukkan https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address.

Dalam medan "Request header", masukkan pengepala dalam format JSON: {"Content-Type": "application/json", "Accept": "application/json", "Authorization": "Token " + token}.

Dalam medan "JSON parameters", masukkan permintaan itu sendiri: {"query": "#{CurrencyType}"}.

Untuk mendapatkan hasil permintaan, isi medan "Saved values".

Contoh permintaan ditunjukkan dalam ilustrasi di bawah.

Cara menyimpan nilai daripada pemboleh ubah

Ia mungkin tidak begitu jelas pada kali pertama—anda benar-benar perlu mencubanya sendiri.

Pertama, masukkan #{custom_answer} dalam medan "Answer". (Pemboleh ubah #{custom_answer} mengandungi respons yang diterima daripada pelayan yang dinyatakan dalam medan "Response URL".)

Jalankan blok permintaan untuk menghantar permintaan dan mendapatkan respons. Respons yang diterima perlu dianalisis, dan anda perlu menyediakan pemboleh ubah mana yang akan diekstrak daripadanya. Untuk ini, gunakan medan "Saved Values".

Mari kita lalui contoh yang diterangkan di atas.

Cara terbaik untuk memahami cara mengakses data dalam JSON adalah melalui contoh. Hasil daripada permintaan kami, respons yang diterima dalam #{custom_answer} kelihatan seperti ini:

{ "suggestions": [ { "value": "US Dollar", "unrestricted_value": "US Dollar", "data": { "code": "840", "strcode": "USD", "name": "US Dollar", "country": "United States" } } ] }

Dalam medan "Saved values", masukkan VALUE -> VARIABLE:

suggestions|0|value->CurrencyType;
suggestions|0|data|code->CurrencyDigCode;
suggestions|0|data|strcode->CurrencyStrCode;
suggestions|0|data|country->CurrencyCountry

suggestions - kunci untuk tatasusunan [{"value": "US Dollar", "unrestricted_value": "US Dollar", "data": {"code": "840", "strcode": "USD", "name": "US Dollar", "country": "United States"}}]

suggestions|0 - kunci untuk elemen pertama tatasusunan {"value": "US Dollar", "unrestricted_value": "US Dollar", "data": {"code": "840", "strcode": "USD", "name": "US Dollar", "country": "United States"}}

suggestions|0|value - kunci untuk nilai "US Dollar"

Kunci terpanjang dalam JSON ini:

suggestions|0|data|strcode - kunci untuk nilai "USD"

Kunci dipisahkan oleh palang menegak (|). Jika elemen JSON adalah tatasusunan, anda mengakses itemnya melalui indeks, bermula dari 0, dan ini juga ditulis menggunakan palang menegak.

Anda perlu mengulangi keseluruhan penyarangan. Untuk kemudahan, anda boleh memvisualisasikan JSON menggunakan aplikasi paparan JSON.

Tahap penyarangan dipisahkan oleh palang menegak. Iaitu, anda perlu menyenaraikan semua kunci untuk mencapai nilai, memisahkannya dengan palang menegak.

Jika JSON mengandungi tatasusunan, gunakan indeks elemen dan bukannya kunci, bermula dari sifar.

Pisahkan ungkapan untuk mendapatkan pemboleh ubah kami dengan koma bertitik ;.

Setiap ungkapan terdiri daripada laluan ke data dalam respons dan nama pemboleh ubah untuk menyimpannya, dipisahkan oleh ->.

Pertanyaan carian mewakili laluan dalam JSON ke nilai yang diperlukan.

Pembangunan API untuk bot

Bot menyokong permintaan GET dan POST, yang merupakan jenis utama yang digunakan dalam kebanyakan API awam.

GET ialah permintaan yang berlaku apabila anda mengklik pautan atau membuka URL dalam pelayar. Parameter dalam permintaan ini dihantar dalam URL.

Sintaks untuk menghantar parameter: selepas URL, letakkan tanda tanya ?, kemudian pisahkan setiap parameter dengan ampersand &. Setiap parameter terdiri daripada nama diikuti dengan = dan nilainya.

Contoh URL dengan parameter:

Fig. 3

Di sini, satu parameter q dihantar dengan nilai "good music". %20 mewakili ruang.

Apabila bekerja dengan pembina, anda boleh menggunakan ruang sahaja—bot akan menggantikannya secara automatik.

POST ialah permintaan yang paling kerap dihantar apabila menyerahkan borang di laman web. Parameter dihantar dalam badan permintaan. Walaupun ia juga boleh dihantar dalam URL seperti dalam permintaan GET, ini jarang berlaku. Parameter dalam badan boleh dalam format JSON atau sebagai pasangan kunci-nilai. Borang biasanya menghantar pasangan kunci-nilai, manakala API paling kerap menggunakan JSON.

Request header - anda boleh menambah pengepala pada setiap permintaan. Selalunya, ia menentukan format data dan kunci akses. Biasanya, medan ini dibiarkan kosong, tetapi dalam kes yang jarang berlaku, anda perlu memasukkan token API atau jenis permintaan, cth., "Content-Type": "application/json".

JSON (JavaScript Object Notation, biasanya disebut /ˈdʒeɪsən/ JAY-sən) ialah format pertukaran data berasaskan teks berdasarkan JavaScript. Seperti banyak format teks lain, JSON mudah dibaca oleh manusia. Untuk bekerja dengan API dalam bot, anda perlu memahami format ini, kerana ia mendasari semua interaksi.

Sebelum meneruskan, baca artikel berikut:

https://www.json.org/json-ru.html
https://developer.mozilla.org/ru/docs/Learn/JavaScript/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D1%8B/JSON

Juga, cuba buat fail JSON anda sendiri di laman web ini:

https://jsoneditoronline.org/

Amalan

Permintaan boleh dilaksanakan oleh blok dan syarat. Permintaan bersyarat direka untuk menyemak sama ada dialog boleh mengikuti cawangan tertentu di laman web. Dalam kes ini, permintaan dihantar setiap kali syarat cawangan dinilai. Permintaan dalam blok, sebaliknya, dilaksanakan hanya apabila dialog memasuki keadaan itu.

Sebelum membuat permintaan, anda perlu memilih jenisnya:

POST-data dan POST-JSON berbeza dalam cara parameter dihantar, seperti yang dinyatakan sebelum ini (sama ada dalam format JSON atau sebagai pasangan kunci-nilai). Jika anda memilih JSON, parameter hanya boleh dihantar dalam badan permintaan. Medan tambahan akan muncul untuk parameter POST JSON.

Penting! Parameter mesti ditulis dalam format JSON sahaja, kerana bot hanya berfungsi dengannya. Anda telah pun berlatih menulis JSON.

Respons daripada pelayan boleh dihuraikan dan disimpan ke dalam pemboleh ubah.

Anda boleh menghuraikan respons hanya jika ia dalam format JSON.

Pemboleh ubah yang disimpan direkodkan dalam borang terakhir yang tidak diisi. Jika borang diserahkan melalui blok merah, pemboleh ubah akan dibuang. Oleh itu, jika anda perlu menyimpan data ini, hantar pemboleh ubah ke sistem CRM melalui blok kuning.

Anda juga boleh melihat apa yang telah direkodkan oleh bot dalam pemboleh ubah di bahagian "Leads".

Fig. 8

Menghantar pemboleh ubah bukan sebagai rentetan

Secara lalai, nilai pemboleh ubah mestilah rentetan dalam format "#{}", tetapi dalam kes ini, pemboleh ubah dihantar sebagai rentetan. Untuk menghantar pemboleh ubah sebagai nombor, anda perlu melumpuhkan semakan format parameter dalam tetapan projek:

Kemudian anda boleh menggunakan nama pemboleh ubah sahaja, contohnya: {"key": #{variable_name}}, di mana variable_name ialah pemboleh ubah itu sendiri—tanpa tanda petik di sekelilingnya.

Adalah disyorkan untuk mengaktifkan semula semakan format selepas menetapkan parameter.