castomFLOW

Referentiedata en verrijking

Vierendertig miljoen rijen, als een stap

Landen, talen en valuta's. 13,4 miljoen bewoonde plaatsen en geografische kenmerken. 19 miljoen naamvarianten. Twee miljoen postcodes. Luchthavens, zeehavens, automerken. Vijfenzestig endpoints, geen authenticatie, geen tarievenkaart, want het is hetzelfde platform waarop je workflow al draait.

Waarom dit bijzonder is

In elk ander automatiseringstool is “valideer dit adres” een betaalde integratie van derden. Je zoekt een leverancier, opent een account, spreekt een tarievenkaart af, verkrijgt een sleutel, bewaart de sleutel, bewaakt het quotum en onderhandelt opnieuw wanneer je volume verandert. De opzoeking zelf kost twintig milliseconden; de inkoop kost een veertien dagen.

Hier is het een stap in de kiezer. De data is openbare referentiedata — GeoNames, officiële codelijsten, gepubliceerde registers — opgeschoond, geïndexeerd en geserveerd door castomAPI, dat bestaat omdat een dozijn producten in deze familie hetzelfde nodig hadden en het één keer bouwen goedkoper was dan het twaalf keer bouwen.

Zoeken is gebaseerd op trigrammen met een minimum van drie tekens, dus een gedeeltelijke of verkeerd gespelde naam vindt de plaats alsnog. Dat minimum is bewust gekozen: twee tekens matchen alles, en een opzoeking die alles matcht is slechter dan geen opzoeking.

De drie dingen die mensen ermee doen

Valideren — stop slechte data bij de deur. Is dat een echte postcode voor die stad? Bestaat die landcode, of is het een typefout die iemand in 2019 maakte en die sindsdien wordt doorgegeven? Is PLN een valuta, en is het degene waarin deze klant gefactureerd zou moeten worden?

Normaliseren — “Warsaw”, “Warszawa”, “Varsovie” en “Варшава” zijn één plaats met één identificatie. Negentien miljoen naamvarianten bestaan zodat je klantendatabase niet vier spellingen van dezelfde stad hoeft bij te houden en te doen alsof het vier steden zijn.

Verrijken — een stadsnaam wordt coördinaten, een tijdzone, een administratieve regio en een inwonertal. Een luchthavencode wordt een naam en een locatie. Een postcode wordt alles erboven in de hiërarchie. Zes velden die een persoon anders zou hebben ingetypt, ingevuld in twintig milliseconden, voor niets.

De tijdzone is de stille

Het oplossen van een plaats geeft je de tijdzone, en een tijdzone is wat “verstuur dit om negen uur 's ochtends” negen uur 's ochtends voor de ontvanger laat betekenen in plaats van negen uur 's ochtends voor jou. Stille uren, schema's en herinneringen worden allemaal correct voor een internationale lijst zonder dat iemand een koppeltabel bijhoudt.

Een contact verrijkencastomAPI-data
  • 1Invoer“ul. Powstańców Śląskich 5, 53-332 Wrocław, PL”
  • 2Postcode gematcht53-332 → Wrocław, Dolnośląskie, PL.
  • 3Plaats opgelost51.0938 N, 17.0226 E · Europe/Warsaw · inwoners 674 079.
  • 4TeruggeschrevenZes velden gevuld die een persoon anders had moeten intypen.
  • §KostenDeterministische stap. Geen sleutel, geen quotum, geen kosten per opzoeking.

Verstreken: 40 ms65 endpoints beschikbaar

Vierendertig miljoen rijen. Eén stap.

Uitgewerkte voorbeelden

Waar het zijn plek verdient

Voordat de vervoerder het ziet

Een adres gecontroleerd en genormaliseerd voordat het verzendlabel wordt gekocht. Een geweigerd label kost een vergoeding en een dag; een geweigerde postcode kost twintig milliseconden.

Voordat de accountant het ziet

Een valutacode en een landcode gevalideerd voordat een factuur wordt opgesteld, wat aanzienlijk goedkoper is dan ze valideren nadat deze is verstuurd.

Een lijst ontdubbelen

Twee records met dezelfde klant onder twee spellingen van dezelfde stad worden correct samengevoegd zodra beide steden naar dezelfde identifier verwijzen.

Routeren op geografie

Coördinaten voor een klant en coördinaten voor je depots, en de run kiest de dichtstbijzijnde zonder dat iemand een spreadsheet met postcodes per depot moet bijhouden.

Taal, correct

Een land verwijst naar zijn talen, zodat het bericht dat de deur uit gaat in een taal is die de ontvanger waarschijnlijk leest — bepaald door data in plaats van door een aanname over een vlag.

Vloot en logistiek

Automerken, luchthavens en zeehavens als canonieke records, voor de workflows waarbij iets fysiek op pad gaat.

De eerlijke grenzen

Dit is openbare referentiedata, geen commerciële adresverificatiedienst. Het vertelt je dat 53-332 een echte postcode in Wrocław is en geeft je de coördinaten van de plaats. Het vertelt je niet of appartement 212 bestaat op nummer 5, of of er iemand woont. Voor verificatie op het niveau van een bezorgpunt wil je een product van een nationale postverwerker, en een workflow kan die via HTTP aanroepen naast dit.

Het is ook geen bron van persoonsgegevens. Er zitten geen mensen in. Het bevat plaatsen, codes, registers en openbare feiten — precies daarom kan het zonder authenticatie worden aangeboden.

Over actualiteit: referentiedata verandert langzaam, en dit wordt volgens een schema ververst in plaats van doorlopend. Een pas hernoemd dorp verschijnt niet diezelfde middag. Voor alles wat per uur verandert wil je de eventsfeed, die daar precies voor gebouwd is.