Integraatiot · Oma lomakkeesi

Osoitteiden automaattinen täydennys omassa lomakkeessasi, kolmessa tiedostossa.

Ei lisäosaa, ei alustaa: yksi JavaScript-tiedosto, joka kytkeytyy jo olemassa oleviin kenttiisi, valmis proxy palvelimellesi joka pitää tokenin turvassa, kolme riviä niiden yhdistämiseen. Kävijä kirjoittaa, katu täydentyy, postinumero, kaupunki ja maakunta täyttyvät itsestään; käsin kirjoitettu osoite tarkistetaan, kun se poistuu kentästä. Ehdotukset 26 maan rekistereistä.

RadarAddressin widget missä tahansa lomakkeessa: katu täydentyy kirjoittaessa

Mitä kitissä on

  • ra-suggerisci.js·widget: ei riippuvuuksia, sama tiedosto kuin WooCommerce- ja PrestaShop-lisäosissa; ehdottaa kirjoittaessa ja jakaa valinnan yhteydessä tarkistetun osoitteen kenttiin
  • ra-proxy.php·proxy: pitää tokenin palvelimella, hyväksyy vain oman verkkotunnuksesi, rajoittaa kävijäkohtaisesti, välittää pyynnön RadarAddressille; jos token puuttuu tai saldo on loppu, se vastaa tyhjällä listalla ja lomake jatkaa toimintaansa
  • esempio.html·täydellinen lomake — maa, osoite, postinumero, kaupunki, maakunta — joka toimii heti kun token on proxyssa: sen kopioi ja mukauttaa
  • README·widgetin asetukset, proxyn sopimus niille, jotka eivät käytä PHP:tä, mitä se kuluttaa

Miten se tehdään, kolmessa vaiheessa

1

Luo tili ja token

Tili on ilmainen, se ei vaadi korttia ja siihen kuuluu joka kuukausi osuus käsittelyjä: token luodaan yhdellä klikkauksella ja vaiheet on selitetty siellä.

2

Aseta proxy palvelimelle

Kopioi ra-proxy.php samaan verkkotunnukseen lomakkeen kanssa ja kirjoita token osoitetulle riville (vielä parempi: tiedostoon web-kansion ulkopuolella, josta se luetaan). Muuta ei tarvitse määrittää.

3

Kytke widget kenttiin

Sisällytä ra-suggerisci.js sivulle ja ilmoita kenttiesi valitsimet: osoite, postinumero, kaupunki, maakunta ja, jos sellainen on, maa. Loput hoitaa widget.

<script src="ra-suggerisci.js"></script>
<script>
RASuggerisci.attacca({
  url: '/ra-proxy.php',                       // proxy omalla palvelimellasi, ei koskaan API suoraan
  campi: { indirizzo: '#indirizzo', cap: '#cap', localita: '#citta',
           provincia: '#provincia', nazione_iso2: '#nazione' },   // maa on valinnainen
  lingua: 'fi'
});
</script>

campi hyväksyy minkä tahansa CSS-valitsimen. Lisäasetukset: onSeleziona vastaanottaa tarkistetun tietueen (normalisoitu osoite, tulos, koordinaatit kun niitä on), scriviCampo React- ja Vue-lomakkeille, correggiAlBlur päättää, tarkistetaanko myös käsin kirjoitetut osoitteet, headers CSRF-tokenia varten proxylle. Kaikki kitin READMEssä; API:n sopimus on dokumentaatiossa.

Vaatimukset: mikä tahansa verkkosivu ja, kitin proxylle, PHP 8.0 tai uudempi cURL:n kanssa; muutoin kuusikymmentä riviä omalla kielelläsi. Widget on julkaistu Academic Free License 3.0 -lisenssillä.

Mitä lomakkeessa tapahtuu

  • Kirjoittaessa·kahden kirjaimen jälkeen widget ehdottaa katuja, täydellisellä nimellä ja kunnalla; lisäkirjaimet suodattavat sitä, mitä se on jo vastaanottanut, kutsumatta palvelinta jokaisella näppäimellä; jo täytetty postinumero ja kaupunki rajaavat hakua
  • Valinnan yhteydessä·tarkistettu osoite tulee kenttiin oikeassa muodossa — katu kokonaisuudessaan, talonumero, oikea postinumero myös suurissa aluejaetuissa kaupungeissa, kaupunki ja maakunta — ja yksi yhteystiedon tarkistus lasketaan; kadun talonumerot täydentyvät ilman lisäveloitusta
  • Käsin kirjoitettuna·se, joka jättää listan huomiotta ja kirjoittaa kaiken itse, tarkistetaan kentästä poistuttaessa: jos osoite tunnistetaan, kentät järjestyvät; jos ei, se pysyy ennallaan. Mikään ei koskaan estä lähetystä
  • Ulkomailla·kun maa on ilmoitettu, ehdotukset tulevat kyseisen maan rekisteristä ja kävijä kirjoittaa niin kuin siellä kirjoitetaan, vaikka kaiken yhteen kenttään; rekisterin lähdemerkintä on listan alareunassa

Usein kysyttyä

Miksi tarvitaan proxy? Enkö voi kutsua API:a suoraan sivulta?

API-token antaa pääsyn saldoosi: sivulla kuka tahansa voisi lukea sen. Widget puhuu vain oman sivustosi osoitteen kanssa; siellä kuudenkymmenen rivin tiedosto lisää tokenin ja välittää pyynnön eteenpäin. Kitin PHP-proxy on valmis: kopioit sen, kirjoitat tokenin, siinä kaikki.

Sivustoni ei ole PHP:llä tehty.

Proxy on malliesimerkki, ei pakko: se vastaanottaa JSONin selaimelta, lisää Authorization-otsakkeen tokenin kanssa, välittää pyynnön osoitteeseen /api/v1/suggest ja palauttaa vastauksen. Sen voi kirjoittaa uudelleen millä tahansa kielellä muutamassa minuutissa; README kuvaa sopimuksen.

Toimiiko se Reactin, Vuen, Angularin kanssa?

Kyllä: widget kytkeytyy kenttiin millä tahansa CSS-valitsimella. Kontrolloidut lomakkeet vaativat, että arvo kirjoitetaan natiivilla setterillä: scriviCampo-asetus on juuri tätä varten, ja se on sama, jota WooCommerce-lisäosa käyttää lohkopohjaisessa kassassa.

Mitä se kuluttaa?

Kirjoittaminen on ilmaista. Yksi yhteystiedon tarkistus lasketaan, kun kävijä valitsee osoitteen listalta (tai kun käsin kirjoitettu osoite tarkistetaan kentästä poistuttaessa, jos pidät correggiAlBlur-asetuksen päällä): yksi osoitetta kohti, ei näppäintä kohti. Joka kuukausi ensimmäiset 50 ovat ilmaisia; sen jälkeen hinnoittelusivun paketit ja tilaukset.

Entä jos saldo loppuu tai RadarAddress ei vastaa?

Widget vaikenee ja lomake toimii kuten aina: ei viestiä kävijälle, ei estettyä lähetystä. Proxy palauttaa tyhjän listan virhekoodeilla 401, 402 ja missä tahansa verkkovirheessä.

Toimiiko se ulkomailla?

Kaikissa käytössä olevissa maissa: riittää kenttä, jossa on maan ISO-koodi (valintalista IT, DE, FR… tai piilotettu kenttä), ilmoitettuna nazione_iso2:ssa. Kävijä kirjoittaa niin kuin omassa maassaan kirjoitetaan, vaikka kaiken yhteen kenttään; popup näyttää rekisterin lähdemerkinnän.

Voinko muuttaa popupin ulkoasua?

Widget tuo mukanaan omat tyylinsä, ilman CSS-tiedostoa: muuttujat --ra-sugg-bg, --ra-sugg-bordo ja --ra-sugg-hover sivullasi muuttavat värit; luokka on .ra-sugg-pop kaiken muun osalta.

Versiot

  • 1.0.0 — kitin ensimmäinen versio: widget, PHP-proxy rajoituksin ja alkuperän tarkistuksella, esimerkkilomake, README.

Muut integraatiot: WooCommerce, PrestaShop, AcyMailing, Convert Forms ja Community Builder. Luettelo.