Fermer

juin 1, 2021

Configurer un convertisseur de devises avec ExchangeRatesApi.io —


À propos de l'auteur

Leonardo Losoviz est un développeur et écrivain indépendant, avec une quête permanente pour intégrer des paradigmes innovants (Serverless PHP, composants côté serveur, GraphQL) …
En savoir plus sur
Léonard

Amazon permet aux visiteurs d'afficher les prix dans leur propre devise. Grâce à ExchangeRatesApi.ionous pouvons faire de même pour nos boutiques en ligne, offrant une meilleure expérience à nos clients. Voyons comment.

Les produits et services sont de plus en plus consultés et achetés en ligne. Comme nous vivons dans un village mondial, si nous avons une boutique en ligne, nombre de nos visiteurs seront très probablement basés dans un pays différent du nôtre et utiliseront une devise différente de la nôtre.

Si nous voulons fournir un grande expérience utilisateur pour eux, pour augmenter les chances qu'ils achètent notre produit, et reviennent sur le site, il y a quelque chose de très simple que nous pouvons faire : afficher le prix des articles d'achat dans leur propre devise. Pour y parvenir, nous pouvons convertir le prix de l'article d'une devise de base (disons, EUR) dans la devise du visiteur (disons, CNY) en utilisant le taux de change entre les deux devises à ce moment précis.

Les taux de change changent. constamment, sur une base horaire (et même plus rapidement). Cela signifie que nous ne pouvons pas avoir une liste prédéfinie de taux de change stockée dans notre application ; ceux-ci doivent être rassemblés en temps réel. Cependant, ce n'est pas un problème de nos jours. Grâce aux API fournissant des données de change, nous pouvons ajouter un convertisseur de devises à nos boutiques en ligne assez facilement.

Dans cet article, nous présenterons ExchangeRatesApi.ioune solution API populaire fournissant des données pour taux de change historiques pour 168 devises.

Ce que nous voulons réaliser

En termes simples, nous voulons faire ce que fait Amazon : Donner la possibilité à l'utilisateur de notre boutique en ligne d'afficher les prix dans une devise qui lui est propre. en choisissant.

Lors de la visite d'une page produit sur amazon.co.ukle prix s'affiche en livres sterling :

Page produit sur amazon.co.uk, avec le prix indiqué en livres sterling</p data-recalc-dims=
 19659013]Page produit sur <a href=amazon.co.ukavec le prix indiqué en livres. ( Grand aperçu)

Mais nous pouvons également voir le prix dans une devise différente, si nous le souhaitons. Dans les paramètres de pays/région, il est possible de changer la devise :

Liste déroulante avec paramètres de région
Liste déroulante avec paramètres de région. ( Grand aperçu )

Après avoir cliqué sur «Modifier», on nous présente une entrée de sélection, contenant plusieurs devises prédéfinies. Parmi eux, j’ai choisi l’euro:

 Liste déroulante avec paramètres régionaux
Liste déroulante avec paramètres régionaux. ( Grand aperçu)

Enfin, de retour sur la page produit, le prix est affiché en euros :

Page produit sur amazon.co.uk, avec prix affiché en euros.
Produit page sur amazon.co.uk, avec le prix indiqué en euros. ( Grand aperçu)

Ayant accès aux données de taux de change via une API, nous pouvons implémenter cette même fonctionnalité pour nos propres boutiques en ligne.

Comment le faisons-nous

ExchangeRatesApi.io fournit une API REST, offrant les dernières données forex pour 168 devises. Il est toujours à jour et compile les données d'une large base de sources commerciales et de banques du monde entier.

Après inscription à leur service ( conseil: ils ont un niveau gratuit), une clé d'accès API nous sera attribuée :

Dashboard in ExchangeRatesApi.io
Dashboard in ExchangeRatesApi.io. ( Grand aperçu)

Nous récupérons notre clé d'accès API et l'ajoutons au point de terminaison :

https://api.exchangeratesapi.io/v1/latest
 ? access_key = VOTRE_API_KEY

Pour visualiser la réponse, copiez/collez le point de terminaison dans votre navigateur :

Affichage de la réponse à l'API REST sur le navigateur
Affichage de la réponse à l'API REST sur le navigateur. ( Grand aperçu)

Comme on peut le voir dans l'image ci-dessus, les données pour les 168 devises ont été récupérées. Pour réduire les résultats à quelques-uns d'entre eux, nous indiquons les codes de devise via les symboles param .

Par exemple, pour récupérer des données pour l'USD, la livre sterling, le dollar australien, le japonais Yen et Yuan chinois (par rapport à l'euro, qui est la devise de base par défaut), nous exécutons ce point de terminaison :

https://api.exchangeratesapi.io/v1/latest
 ?access_key=YOUR_API_KEY
 &symboles=USD,GBP,AUD,JPY,CNY

La réponse est la suivante :

{
 "succès": vrai,
 "horodatage": 1620904263,
 "base": "EUR",
 "date": "2021-05-13",
 "les taux": {
   "USD": 1.207197,
   "GBP": 0.860689,
   "AUD": 1.568196,
   "JPY": 132.334216,
   "CNY": 7,793428
 }
}

Quelles données pouvons-nous récupérer

ExchangeRatesApi.io fournit plusieurs points de terminaison REST, pour récupérer différents ensembles de données. Selon le forfait souscrit, les points de terminaison peuvent être disponibles ou non (leur page de tarification explique quelles fonctionnalités sont couvertes par chaque niveau).

Les points de terminaison indiqués ci-dessous doivent être attachés à https :/ /api.exchangeratesapi.io/v1/ (par exemple : latest devient https://api.exchangeratesapi.io/v1/latest), et a ajouté le access_key avec votre clé d'accès API.

Derniers taux

Le derniers endpoint renvoie les données de taux de change en temps réel pour toutes les devises disponibles ou pour un set.

Conversion de devises

Le point de terminaison convert permet de convertir un montant, de n'importe quelle devise vers n'importe quelle autre parmi les 168 devises prises en charge.

Taux historiques[19659045] Ce point final a la forme AAAA-MM-JJ (comme 2021-03-20 ), correspondant à la date pour laquelle nous voulons récupérer les informations de taux de change historiques.

Données de séries chronologiques

La série chronologique renvoie les données historiques quotidiennes pour les taux de change entre deux spécifiés dates, pour une période maximale de 365 jours.

Données de fluctuation

Le fluctuation endpoint renvoie les données de fluctuation entre les dates spécifiées, pour une période maximale de 365 jours.[19659064]Récupération de données à partir de l'API

Afin de mettre en œuvre le convertisseur de devises, nous pouvons utiliser le point de terminaison convert (pour lequel nous devons être abonnés au niveau de base) :

https:// api.exchangeratesapi.io/v1/convert
 ?access_key=YOUR_API_KEY
 &de=GBP
 &à=JPY
 &montant=25

La réponse que nous obtiendrons ressemble à ceci :

{
 "succès": vrai,
 "mettre en doute": {
   "de": "GBP",
   "à": "JPY",
   "montant": 25
 },
 "Info": {
   "horodatage": 1620904845,
   "taux": 154.245331
 },
 "historique": "",
 "date": "2021-05-14",
 "résultat": 3856.079212
}

Étant donné que les données sont exposées via une API REST, nous pouvons facilement les récupérer pour n'importe quelle application basée sur n'importe quelle pile, qu'elle s'exécute côté client ou côté serveur, sans avoir à installer de bibliothèque supplémentaire.

Côté client

Le code JavaScript suivant se connecte à l'API et imprime le montant converti et le taux de change dans la console:

 // Définir le point de terminaison et votre clé d'accès
const access_key = 'YOUR_API_KEY';
const de = 'GPB';
const à = 'JPY';
montant total = 25 ;
const url = `https://api.exchangeratesapi.io/v1/convert?access_key=$ {access_key} & from = $ {from} & to = $ {to} & amount = $ {amount}`;

// Obtenez les taux de change les plus récents via le point de terminaison « derniers » :
chercher (URL)
 .then(réponse => réponse.json())
 .then(données => {
   // Si notre niveau ne prend pas en charge le point de terminaison demandé, nous obtiendrons une erreur
   si (données.erreur) {
     console.log('Erreur :', data.error);
     revenir;
   }

   // Nous avons les données
   console.log('Succès :', données);
   console.log('Montant converti : ' + data.result);
   console.log('(Taux de change : ' + data.info.rate + ')');
 })
 .catch((erreur) => {
   console.error('Erreur :', erreur);
 });

Côté serveur

Le code suivant montre comment se connecter à l'API REST et imprimer le résultat converti, dans une application PHP.

La même procédure peut être implémentée pour d'autres langages :

  • Définissez l'URL du point de terminaison, attachez votre clé d'accès API.
  • Connectez-vous au point de terminaison, récupérez sa réponse au format JSON.
  • Décodez les données JSON en un objet/tableau.
  • Obtenez le montant converti sous la propriété result.
// Définir le point de terminaison et votre clé d'accès
$ access_key = 'VOTRE_API_KEY';
$de = 'GBP';
$à = 'JPY';
montant $ = 25 ;

// Initialiser CURL :
$ch = curl_init("https://api.exchangeratesapi.io/v1/convert?access_key=${access_key}&from=${from}&to=${to}&amount=${amount}");
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, vrai);

// Récupère les données JSON :
$json = curl_exec($ch);
curl_close($ch);

// Décode la réponse JSON :
$conversionResult = json_decode($json, true);

// Accéder au montant converti
echo $ conversionResult ['result'];

Conclusion

ExchangeRatesApi.io est né comme un projet open sourceavec l'intention de fournir les taux de change actuels et historiques publiés par la Banque centrale européenne, et écrit en Python.

Si vous souhaitez intégrer la conversion de devises pour votre boutique en ligne, pour émuler Amazon et offrir une expérience utilisateur convaincante à vos visiteurs, vous pouvez télécharger et installer le projet open-source.

Et vous pouvez également le rendre beaucoup plus facile: si vous souhaitez que votre convertisseur de devises fonctionne en un rien de temps, pour n'importe quel langage de programmation, en accédant à des données toujours à jour qui incluent un large éventail de sources commerciales, et à partir d'un super- API rapide avec une disponibilité de près de 100 % (99,9 % au cours des 12 derniers mois), puis consultez ExchangeRatesApi.io.

Smashing Editorial" width="35" height="46" loading=" lazy "decoding =" async (vf, yk, il)




Source link