SDK TypeScript
@addrova/sdk est le client officiel pour Node 18 ou plus, les navigateurs, Deno et Bun. Il utilise le fetch natif, n'a aucune dépendance d'exécution, fournit des builds ESM et CommonJS, et ses types sont générés depuis la spécification OpenAPI.
Installation
Le paquet est privé et n'est pas encore publié sur npm ; construisez-le depuis le dépôt. [À VÉRIFIER : publication sur npm]
cd sdk/js && npm ci && npm run build
Géocoder, inverse, autocomplétion, réparation
import { Addrova } from "@addrova/sdk";
const client = new Addrova(); // clé : process.env.ADDROVA_API_KEY (ou { apiKey })
const r = await client.geocode("4 place d'Armes, Belfort", { country: "FR" });
console.log(r.results[0].label, r.results[0].location, r.attribution);
await client.reverse(47.6376, 6.8626);
await client.autocomplete("4 place d'ar", { focus: [47.64, 6.86], session: "checkout-123" });
await client.repair({ address: "4 pl darmes belfor", country: "FR" });
await client.usage();
await client.coverage(); // pays couverts, sources, licences
Fichiers par lot
import { Addrova } from "@addrova/sdk";
const client = new Addrova();
const csvText = "adresse\n4 place d'Armes Belfort\n";
const job = await client.submitBatch(csvText, { addressColumn: "adresse" });
await client.waitBatch(job.id);
const csv = await client.batchResult(job.id);
await client.deleteBatch(job.id);
Erreurs et nouvelles tentatives
- Nouvelles tentatives sur
429 rate_limited(en respectantRetry-After), les erreurs 5xx et les erreurs réseau, avec backoff exponentiel et gigue ;maxRetriesvaut 3 par défaut. Un dépôt de lot n'est pas rejoué après une erreur serveur. - Erreurs typées :
AuthenticationError,InvalidRequestError,NotFoundError,ConflictError,RateLimitError,QuotaExceededError,ServerErroretTransportError, avecstatus,codeetrequestId.
Confidentialité et navigateurs
geocode envoie l'adresse dans le corps d'un POST ; le SDK ne journalise rien. Dans un navigateur, n'exposez pas une clé live dans une page publique : utilisez une clé restreinte par origine ou un relais côté serveur.