Anda boleh mencipta bot yang berinteraksi dengan sumber lain menggunakan API. Sebagai contoh, bot boleh mematuhi permintaan dengan keupayaan untuk menyemak sama ada membuat janji temu pada tarikh tertentu adalah mungkin, atau mencari produk di kedai dalam talian.

Cara mengendalikan API pihak ketiga pada contoh DaData

Mari kita ambil petua API dari https://dadata.ru/api/suggest/address sebagai contoh

Baca dokumentasi API pihak ketiga dengan teliti

Buka projek anda di Salebot dan buka tetapan lanjutan dalam tetapan blok; di sana anda perlu menukar jenis permintaan kepada POST-json.

Dalam medan “URL request” masukkan URL berikut: https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address

Dalam medan “Request header” taipkan pengepala dalam format JSON:

{ "Content-Type": "application/json", "Accept": "application/json", "Authorization": "Token " + token }

Dalam “JSON parameters” masukkan permintaan itu sendiri - { "query": "#{CurrencyType}" }

Untuk mendapatkan hasil, anda juga perlu mengisi tab “Stored values”.

Contoh permintaan adalah di bawah:

Cara menyimpan nilai daripada pemboleh ubah

Tidak semua orang faham dengan serta-merta, sehingga anda mencuba melakukannya sendiri.

Untuk memulakan, taipkan #{custom_answer} dalam medan jawapan. (Pemboleh ubah #{custom_answer} memegang jawapan yang diperoleh daripada pelayan yang disebut dalam medan “URL for an answer from the server”)

Lancarkan blok dengan permintaan untuk menghantar permintaan dan mendapatkan jawapan kepadanya. Anda perlu menganalisis balasan dan menyediakan akses kepada pemboleh ubah di dalamnya. Untuk ini, anda perlu bekerja dengan tab “Stored values”.

Mari kita lihat contoh untuk memahami proses dengan lebih baik.

Hasil daripada permintaan kami #{custom_answer}, jawapan dalam format berikut diterima:

{"suggestions": [{"value": "British pound", "unrestricted_value": "British pound", "data": {"code": "826", "strcode": "GBP", "name": "British pound", "country": "The UK"}}]}

Sekarang mari kita tulis dalam medan “Stored values” NILAI->PEMBOLEH UBAH kami

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

suggestions - kunci tatasusunan [{"value": "British pound", "unrestricted_value": "British pound", "data": {"code": "826", "strcode": "GBP", "name": "British pound", "country": "The UK"}}]

suggestions|0 - kunci elemen pertama dalam tatasusunan {"value": "British pound", "unrestricted_value": "British pound", "data": {"code": "826", "strcode": "GBP", "name": "British pound", "country": "The UK"}}

suggestions|0|value - kunci kepada nilai “British pound”

Kunci terpanjang dalam JSON ini:

suggestions|0|data|strcode - kunci kepada nilai “GBP”

Kunci dipisahkan dengan garis menegak (|). Jika terdapat tatasusunan dalam JSON, maka akses kepada elemennya dinomborkan, bermula dengan nombor 0 dan ia juga ditulis dengan garis menegak.

Adalah perlu untuk mengulangi keseluruhan sarang. Untuk keselesaan, anda boleh memvisualisasikan JSON dalam aplikasi JSON-viewer.

Tahap sarang dipisahkan oleh garis menegak. Jadi anda perlu menyenaraikan semua kunci yang dipisahkan oleh garis untuk mendapatkan nilai.

Jika terdapat tatasusunan dalam JSON maka daripada kunci anda perlu menyebut nombor elemen bermula dengan 0.

Pisahkan frasa mendapatkan pemboleh ubah dengan simbol koma bertitik (;). Frasa terdiri daripada pautan ke data dalam jawapan dan nama pemboleh ubah untuk menyimpannya, yang dipisahkan oleh simbol -> (sempang + kurungan sudut).

Pertanyaan carian adalah, dalam cara tertentu, laluan dalam JSON ke nilai yang diperlukan.

Membangunkan API untuk bot

Untuk membangunkan API, anda memerlukan hosting di mana ia akan berasaskan. Jika anda tidak mempunyai hosting atau anda bukan pakar dalam pengaturcaraan, maka anda boleh menghubungi kami dan kami akan membangunkan API untuk bot anda dan mendasarkannya pada hosting kami. Hosting itu sendiri adalah percuma, anda hanya akan membayar untuk pembangunan.

Tetapi buat masa ini sedikit teori.

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

GET adalah permintaan yang berlaku dengan klik pada pautan atau apabila membuka pautan dalam pelayar. Parameter dalam permintaan sedemikian dipindahkan ke URL-permintaan.

Sintaks parameter yang dipindahkan: selepas url terdapat tanda soal (?) kemudian setiap parameter dipisahkan dengan ampersand (&). Parameter terdiri daripada nama dan nilainya selepas tanda sama (=). Contoh URL dengan parameter:

Di sini anda dapat melihat bahawa satu parameter dengan nama “search_query” sedang dikongsi dan nilainya adalah “queen live aid”. ‘+’ di sini adalah ruang antara perkataan; apabila bekerja dengan perisian penyuntingan, anda boleh meninggalkan ruang – bot akan menukarnya sendiri.

POST adalah jenis permintaan yang paling kerap dihantar apabila mengisi borang di laman web. Permintaan memindahkan parameter dalam badan; sudah tentu, ia boleh dikongsi dengan cara yang sama seperti GET tetapi jarang dilakukan dengan cara ini. Parameter dalam badan boleh dalam format JSON atau sebagai kunci-nilai. Sebagai kunci-nilai, parameter berkongsi borang, format JSON adalah yang paling kerap digunakan untuk API.

Request header. Setiap permintaan boleh mempunyai pengepala/tajuk tambahan. Format data yang dikongsi dan kunci akses ditulis di dalamnya paling kerap. Biasanya kita biarkan tab ini kosong, tetapi ia perlu untuk meletakkan Token API atau jenis permintaan “Content-type”: “application/json” pada kesempatan yang jarang berlaku.

JSON - (JavaScript Object Notation) adalah format fail standard terbuka dan format pertukaran data yang menggunakan teks yang boleh dibaca manusia untuk menyimpan dan menghantar objek data yang terdiri daripada pasangan atribut-nilai dan tatasusunan. Untuk bekerja dengan API dalam bot, anda perlu mengetahui format ini, semuanya berasaskannya.

Sebelum meneruskan, baca artikel berikut:

https://www.json.org/json-en.html
https://developer.mozilla.org/en-US/docs/learn/javascript/objects/json

Dan juga cuba buat fail JSON anda sendiri di laman web ini:

https://jsoneditoronline.org

Amalan

Blok dan syarat boleh mematuhi permintaan. Permintaan syarat dicipta untuk memahami di laman web sama ada dialog boleh mengikuti laluan tertentu atau tidak. Permintaan dalam kes ini berlaku setiap kali syarat laluan diperiksa. Permintaan blok sebaliknya hanya dijalankan apabila pergerakan ke dalam blok berlaku.

Sebelum mencipta permintaan, anda perlu memilih jenisnya:

POST-data dan POST-json dibezakan oleh kaedah pemindahan parameter seperti yang disebutkan di atas (format JSON atau sebagai kunci-nilai). Jika anda memilih JSON maka parameter hanya boleh dipindahkan dalam permintaan. Medan tambahan dibuka untuk pos: JSON POST-parameters. Penting! Parameter mesti ditulis dalam format JSON sahaja, bot hanya berfungsi dengan cara ini.

Balasan daripada pelayan boleh dihuraikan dan disimpan dalam pemboleh ubah.

Anda boleh memahami balasan hanya jika ia dalam format JSON.

Pemboleh ubah yang disimpan ditulis dalam penghantaran terakhir yang tidak diisi; jika penghantaran dipindahkan melalui blok merah, pemboleh ubah dibatalkan. Jadi jika anda perlu menyimpan data, anda perlu memindahkan pemboleh ubah melalui blok kuning.

Ngomong-ngomong, anda boleh melihat apa yang bot tulis dalam pemboleh ubah di bahagian Leads:

Pemindahan data bukan sebagai baris

Secara lalai, nilai pemboleh ubah datang dalam format #{} tetapi kemudian ia datang sebagai baris. Untuk menjadikan pemboleh ubah dipindahkan sebagai nombor, anda perlu mematikan pemeriksaan format parameter post-json.

Kemudian anda hanya boleh menyebut nama pemboleh ubah, seperti {"key": #{variable_name}}, variable_name adalah pemboleh ubah, jadi tanpa menggunakan kurungan.

Selepas menyediakan parameter, adalah disyorkan untuk menghidupkan semula pemeriksaan.