Funkcija API izsaukums ļauj aptaujas laukam veikt HTTP pieprasījumu ārējam pakalpojumam un izmantot atbildi, lai aizpildītu aprēķinātu vērtību vai validētu lietotāja ievadi. Tas ļauj veikt reāllaika uzmeklēšanu, ID verifikāciju, svītrkoda uzmeklēšanu un jebkuru citu servera puses pārbaudi datu vākšanas laikā.

Ir divas funkcijas:

  • callapi() — iegūst vērtību no API un glabā to laukā calculate vai text
  • callapi-verify() — izsauc API un bloķē progresu, ja atbilde neatbilst paredzētajai vērtībai (izmanto constraint)

callapi() — API atbildes iegūšana un glabāšana

Sintakse

Ievietojiet callapi() kolonnā calculation calculate vai text laukam:

  callapi(method, url, allowed_auto, max_retry, no_overwrite, extract_expr, timeout, lifetime, response_q, call_type, post_body)
  

Parametri

Nr.ParametrsApraksts
1methodHTTP metode: 'GET' vai 'POST'
2urlAPI galapunkta URL
3allowed_auto1, lai izsauktu automātiski, kad lauks ir sasniegts; 0, lai prasītu manuālu pogas aktivizāciju
4max_retryMaksimālais atkārtojumu mēģinājumu skaits kļūmes gadījumā
5no_overwrite1, lai saglabātu esošo vērtību, ja laukā jau ir vērtība; 0, lai vienmēr pārrakstītu
6extract_exprJSONPath izteiksme vēlamās vērtības iegūšanai no atbildes (piemēram, $.data.name)
7timeoutPieprasījuma taimauts milisekundēs
8lifetimeCik ilgi (ms) kešotā atbilde paliek derīga pirms atkārtotas iegūšanas
9response_qLauka nosaukums neapstrādātā HTTP atbildes koda glabāšanai (piemēram, ${response_status})
10call_type(Neobligāts) Speciāls izsaukuma režīms: 'lazy-upload' vai 'lazy-upload-multiple'
11post_body(Neobligāts) POST pamatteksta virkne. Atsaucieties uz formas laukiem ar ##fieldname##

Piemērs: GET pieprasījums mājsaimniecības uzmeklēšanai pēc ID

typenamelabelappearancecalculation
texthousehold_idMājsaimniecības ID
calculatehh_namecallapicallapi('GET', concat('https://api.example.com/households/', ${household_id}), 1, 3, 0, '$.name', 10000, 0, '')
notehh_displayMājsaimniecība: ${hh_name}

Piemērs: POST pieprasījums ar JSON pamattekstu

  callapi('POST', 'https://api.example.com/lookup', 1, 2, 0, '$.result.value', 15000, 0, '', '', '{"id": "##household_id##"}')
  

Labākā prakse

  1. Pārbaudiet API izsaukumus gan tiešsaistē, gan bezsaistē.
  2. Izmantojiet no_overwrite = 1, lai saglabātu manuāli ievadītas vērtības.
  3. Iestatiet saprātīgus taimautus — pārāk īsi taimauti var radīt kļūmes lauka apstākļos.
  4. Glabājiet HTTP atbildes kodus, lai diagnosticētu kļūmes.
Vai šī lapa bija noderīga?