Jūs varat izveidot botus, kas mijiedarbojas ar citiem pakalpojumiem, izmantojot API. Piemēram, boti var veikt pieprasījumus, lai pārbaudītu pieejamību konkrētam datumam vai atrastu preci tiešsaistes veikalā.
Kā mijiedarboties ar trešo pušu API, izmantojot Dadata piemēru
Ņemsim par piemēru adreses ieteikumu API: https://dadata.ru/api/suggest/address/ saite būs cita
Uzmanīgi izlasiet trešo pušu API dokumentāciju.
Lūdzu, ņemiet vērā! Trešo pušu API pieprasa IP adreses, no kurām tiks sūtīti pieprasījumi: 158.160.49.208 – vietne.
Laukā "Pieprasījuma URL" ievadiet https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address.
Laukā "Pieprasījuma galvene" ievadiet galveni JSON formātā: {"Content-Type": "application/json", "Accept": "application/json", "Authorization": "Token " + token}.
Laukā "JSON parametri" ievadiet pašu pieprasījumu: {"query": "#{CurrencyType}"}.
Lai iegūtu pieprasījuma rezultātu, aizpildiet lauku "Saglabātās vērtības".
Pieprasījuma piemērs ir parādīts zemāk esošajā ilustrācijā.
Kā saglabāt vērtības no mainīgajiem
Pirmajā reizē tas var nebūt pilnīgi skaidrs – jums tiešām ir jāizmēģina pašam.
Vispirms ievadiet #{custom_answer} laukā "Atbilde". (Mainīgais #{custom_answer} satur atbildi, kas saņemta no servera, kas norādīts laukā "Atbildes URL".)
Palaidiet pieprasījuma bloku, lai nosūtītu pieprasījumu un saņemtu atbildi. Saņemtā atbilde ir jāanalizē, un jums ir jāiestata, kurus mainīgos no tās iegūt. Šim nolūkam izmantojiet lauku "Saglabātās vērtības".
Apskatīsim iepriekš aprakstīto piemēru.
Vislabāk ir saprast, kā adresēt datus JSON, izmantojot piemēru. Mūsu pieprasījuma rezultātā atbilde, kas saņemta #{custom_answer}, izskatās šādi:
{ "suggestions": [ { "value": "US Dollar", "unrestricted_value": "US Dollar", "data": { "code": "840", "strcode": "USD", "name": "US Dollar", "country": "United States" } } ] }
Laukā "Saglabātās vērtības" ievadiet VĒRTĪBA -> MAINĪGAIS:
suggestions|0|value->CurrencyType;
suggestions|0|data|code->CurrencyDigCode;
suggestions|0|data|strcode->CurrencyStrCode;
suggestions|0|data|country->CurrencyCountry
suggestions - atslēga masīvam [{"value": "US Dollar", "unrestricted_value": "US Dollar", "data": {"code": "840", "strcode": "USD", "name": "US Dollar", "country": "United States"}}]
suggestions|0 - atslēga masīva pirmajam elementam {"value": "US Dollar", "unrestricted_value": "US Dollar", "data": {"code": "840", "strcode": "USD", "name": "US Dollar", "country": "United States"}}
suggestions|0|value - atslēga vērtībai "US Dollar"
Garākā atslēga šajā JSON:
suggestions|0|data|strcode - atslēga vērtībai "USD"
Atslēgas tiek atdalītas ar vertikālo svītru (|). Ja JSON elements ir masīvs, tā elementiem piekļūst pēc indeksa, sākot no 0, un tas arī tiek rakstīts, izmantojot vertikālo svītru.
Jums ir jāatkārto visa ligzdošana. Ērtības labad varat vizualizēt JSON, izmantojot JSON skatītāja lietotni.
Ligzdošanas līmenis tiek atdalīts ar vertikālo svītru. Tas nozīmē, ka jums ir jāuzskaita visas atslēgas, lai sasniegtu vērtību, atdalot tās ar vertikālo svītru.
Ja JSON satur masīvu, izmantojiet elementa indeksu atslēgas vietā, sākot no nulles.
Atdaliet izteiksmes mūsu mainīgo iegūšanai ar semikolu ;.
Katra izteiksme sastāv no ceļa uz datiem atbildē un mainīgā nosaukuma, kurā to saglabāt, atdalītiem ar ->.
Meklēšanas vaicājums attēlo ceļu JSON līdz vajadzīgajai vērtībai.
API izstrāde botiem
Bots atbalsta GET un POST pieprasījumus, kas ir galvenie veidi, ko izmanto lielākajā daļā publisko API.
GET ir pieprasījums, kas notiek, noklikšķinot uz saites vai atverot URL pārlūkprogrammā. Parametri šajā pieprasījumā tiek nodoti URL.
Parametru nodošanas sintakse: pēc URL ievietojiet jautājuma zīmi ?, pēc tam atdaliet katru parametru ar & zīmi. Katrs parametrs sastāv no nosaukuma, kam seko = un tā vērtība.
URL piemērs ar parametru:
Šeit tiek nodots viens parametrs q ar vērtību "good music". %20 apzīmē atstarpi.
Strādājot ar veidotāju, varat vienkārši izmantot atstarpi – bots to aizstās automātiski.
POST ir pieprasījums, kas visbiežāk tiek nosūtīts, iesniedzot veidlapu vietnē. Parametri tiek nosūtīti pieprasījuma pamattekstā. Lai gan tos var nosūtīt arī URL, tāpat kā GET pieprasījumos, tas ir reti. Parametri pamattekstā var būt JSON formātā vai kā atslēgas-vērtības pāri. Veidlapas parasti sūta atslēgas-vērtības pārus, savukārt API visbiežāk izmanto JSON.
Pieprasījuma galvene - katram pieprasījumam varat pievienot galveni. Visbiežāk tajā tiek norādīts datu formāts un piekļuves atslēgas. Parasti šis lauks tiek atstāts tukšs, bet retos gadījumos jums ir jāiekļauj API marķieris vai pieprasījuma veids, piemēram, "Content-Type": "application/json".
JSON (JavaScript Object Notation, parasti izrunā /ˈdʒeɪsən/ JAY-sən) ir uz tekstu balstīts datu apmaiņas formāts, kura pamatā ir JavaScript. Tāpat kā daudzi citi teksta formāti, JSON ir viegli lasāms cilvēkiem. Lai strādātu ar API botā, jums ir jāsaprot šis formāts, jo tas ir visu mijiedarbību pamatā.
Pirms turpināt, izlasiet šādus rakstus:
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
Arī mēģiniet izveidot savu JSON failu šajā vietnē:
Prakse
Pieprasījumus var izpildīt ar bloku un nosacījumu palīdzību. Nosacījumu pieprasījumi ir paredzēti, lai pārbaudītu, vai dialogs var sekot noteiktam atzaram vietnē. Šajā gadījumā pieprasījums tiek nosūtīts katru reizi, kad tiek novērtēts atzara nosacījums. Savukārt pieprasījumi blokos tiek izpildīti tikai tad, kad dialogs nonāk šajā stāvoklī.
Pirms pieprasījuma izveides jums ir jāizvēlas tā veids:
POST-dati un POST-JSON atšķiras ar to, kā tiek nosūtīti parametri, kā minēts iepriekš (vai nu JSON formātā, vai kā atslēgas-vērtības pāri). Ja izvēlaties JSON, parametrus var nosūtīt tikai pieprasījuma pamattekstā. Parādīsies papildu lauks JSON POST parametriem.
Svarīgi! Parametri jāraksta tikai JSON formātā, jo bots strādā tikai ar to. Jūs jau esat praktizējies rakstīt JSON.
Atbildi no servera var parsēt un saglabāt mainīgajos.
Atbildi var parsēt tikai tad, ja tā ir JSON formātā.
Saglabātie mainīgie tiek ierakstīti pēdējā neaizpildītajā formā. Ja veidlapa tiek iesniegta caur sarkano bloku, mainīgie tiek atmesti. Tāpēc, ja jums ir nepieciešams saglabāt šos datus, nododiet mainīgos CRM sistēmai caur dzelteno bloku.
Varat arī redzēt, ko bots ir ierakstījis mainīgajos sadaļā "Potenciālie klienti".
Mainīgo nodošana nevis kā virkne
Pēc noklusējuma mainīgo vērtībām jābūt virknēm formātā "#{}", bet šajā gadījumā mainīgais tiek nosūtīts kā virkne. Lai nodotu mainīgo kā skaitli, jums ir jāatspējo formāta pārbaude projekta iestatījumos:

Pēc tam varat vienkārši izmantot mainīgā nosaukumu, piemēram: {"key": #{variable_name}}, kur variable_name ir pats mainīgais – bez pēdiņām.
Pēc parametru iestatīšanas ieteicams atkal iespējot formāta pārbaudi.