Integraatiot · Oma lomakkeesi
Osoitteiden automaattinen täydennys omassa lomakkeessasi, kolmessa tiedostossa.
Ei pluginia, 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 27 maan rekistereistä.

Mitä kitissä on
- ra-suggerisci.js·widget: ei riippuvuuksia, sama tiedosto kuin WooCommerce- ja PrestaShop-plugineissa; 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
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ä.
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ää.
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',
modulo: 'contatti/indirizzo' // valinnainen: mikä lomake, lokiasi varten
});
</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 osoitteen 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-plugin käyttää lohkopohjaisessa kassassa.
Mitä se kuluttaa?
Kirjoittaminen on ilmaista. Yksi osoitteen 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.1.1 — tämän päivän widget: ehdotuslista kentän levyinen, «snc» ehdotetaan vain italialaiselle osoitteelle, tekstit kolmellatoista kielellä (ilman annettua kieltä englanniksi).
- 1.0.0 — kitin ensimmäinen versio: widget, PHP-proxy rajoituksin ja alkuperän tarkistuksella, esimerkkilomake, README.
Muut integraatiot: AcyMailing, Community Builder, Contact Form 7, Convert Forms, Drupal Webform, Fluent Forms, Formidable Forms, Gravity Forms, Magento, MailPoet, Make, n8n, Ninja Forms, OpenCart, PrestaShop, Shopify, Shopware, The Newsletter Plugin, VirtueMart, WooCommerce, WPForms ja Zapier. Luettelo.