{"id":24255,"date":"2021-05-15T15:47:00","date_gmt":"2021-05-15T12:47:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24255"},"modified":"2021-10-17T20:58:11","modified_gmt":"2021-10-17T17:58:11","slug":"valuuttakurssien-sovellusliittyma-ja-valuuttamuunnos-php-ssa","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/valuuttakurssien-sovellusliittyma-ja-valuuttamuunnos-php-ssa\/","title":{"rendered":"Valuuttakurssien sovellusliittym\u00e4 ja valuuttamuunnos PHP: ss\u00e4"},"content":{"rendered":"<p>Viime aikoina ty\u00f6skentelin asiakkaan projektissa, jossa minun piti ker\u00e4t\u00e4 maksuja k\u00e4ytt\u00e4jilt\u00e4 ymp\u00e4ri maailmaa. Asiakas, joka k\u00e4ytt\u00e4\u00e4 Razorpaya verkkomaksujen vastaanottamiseen. Razorpay-sovelluksessa sinun on muunnettava valuuttakurssi INR: ksi (Intian rupia) ja veloitettava sitten maksu. T\u00e4m\u00e4n teht\u00e4v\u00e4n suorittamiseksi halusin saada valuuttakurssiohjelmointirajapinnan, jonka l\u00f6ysin <a href=\"http:\/\/exchangeratesapi.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">valuuttakurssirajapinnasta<\/a>.<\/p>\n<p>Valuuttakurssirajapinta on avoimen l\u00e4hdekoodin palvelu <a href=\"https:\/\/www.ecb.europa.eu\/stats\/policy_and_exchange_rates\/euro_reference_exchange_rates\/html\/index.en.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Euroopan keskuspankin<\/a> julkaisemille nykyisille ja historiallisille valuuttakursseille .<\/p>\n<p>T\u00e4ss\u00e4 artikkelissa n\u00e4yt\u00e4n sinulle, kuinka voit k\u00e4ytt\u00e4\u00e4 valuuttakurssiohjelmointirajapintaa ja saada valuuttam\u00e4\u00e4r\u00e4.<\/p>\n<h3>Kuinka k\u00e4ytt\u00e4\u00e4 valuuttakurssirajapintaa<\/h3>\n<p>T\u00e4m\u00e4 palvelu tarjoaa API-p\u00e4\u00e4tepisteet. Kun osumme p\u00e4\u00e4tepisteisiin yhdess\u00e4 parametrien kanssa, ne palauttavat asianmukaisen vastauksen.<\/p>\n<p>API-puheluiden antamiseksi ja vastausten k\u00e4sittelemiseksi voimme valita joko Guzzlen (PHP HTTP-asiakas) tai cURL: n. Molemmat tarjoavat helpon ja luotettavan tavan olla vuorovaikutuksessa sovellusliittymien kanssa.<\/p>\n<p>Aloitetaan ensin Guzzlesta. Asenna Guzzle s\u00e4velt\u00e4j\u00e4n kautta seuraavalla komennolla:<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>Asennuksen yhteydess\u00e4 voit soittaa API-puhelun ja vastaanottaa vastauksen kirjoittamalla alla olevan koodin.<\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\nuse GuzzleHttpClient;\n\u00a0\n$client = new Client([\n\u00a0\u00a0\u00a0\u00a0\/\/ Base URI is used with relative requests\n\u00a0\u00a0\u00a0\u00a0'base_uri' =&gt; 'https:\/\/api.exchangeratesapi.io\/',\n]);\n\u00a0\n\/\/ get all rates\n$response = $client-&gt;request('GET', 'latest', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'base' =&gt; 'USD',\n\u00a0\u00a0\u00a0\u00a0]\n]);\n\u00a0\nif($response-&gt;getStatusCode() == 200) {\n\u00a0\u00a0\u00a0\u00a0$body = $response-&gt;getBody();\n\u00a0\u00a0\u00a0\u00a0$arr_body = json_decode($body);\n\u00a0\u00a0\u00a0\u00a0print_r($arr_body);\n}<\/code><\/pre>\n<p>Yll\u00e4 oleva koodi antaa sinulle USD-dollarin muuntokurssin muille valuutoille. K\u00e4ytt\u00e4j\u00e4 voi asettaa muita valuuttamerkkej\u00e4 &quot;perus&quot; -n\u00e4pp\u00e4imelle.<\/p>\n<p>Samalla tavalla k\u00e4ytt\u00e4j\u00e4t saavat muuntokurssin yhdest\u00e4 valuutasta. Oletetaan, ett\u00e4 haluat USD: n INR-hinnan.<\/p>\n<pre><code>$response = $client-&gt;request('GET', 'latest', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'base' =&gt; 'USD',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'symbols' =&gt; 'INR',\n\u00a0\u00a0\u00a0\u00a0]\n]);<\/code><\/pre>\n<p>Valuuttakurssien sovellusliittym\u00e4 antaa sinulle my\u00f6s historiallisia tietoja. Siin\u00e4 tapauksessa sinun on v\u00e4litett\u00e4v\u00e4 p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4arvot avaimille &#8217;start_at&#8217; ja &#8217;end_at&#8217;.<\/p>\n<pre><code>$response = $client-&gt;request('GET', 'history', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'base' =&gt; 'USD',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'symbols' =&gt; 'INR',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'start_at' =&gt; '2020-01-01',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'end_at' =&gt; '2020-01-20'\n\u00a0\u00a0\u00a0\u00a0]\n]);<\/code><\/pre>\n<h4>Ole vuorovaikutuksessa API: n kanssa cURL: n avulla<\/h4>\n<p>Pidin parempana k\u00e4ytt\u00e4\u00e4 Guzzlea vuorovaikutuksessa API: n kanssa. Mutta jos joku haluaa k\u00e4ytt\u00e4\u00e4 cURL: \u00e4\u00e4, h\u00e4n voi k\u00e4ytt\u00e4\u00e4 alla olevaa koodia. Varmista, ett\u00e4 olet ottanut cURL-laajennuksen k\u00e4ytt\u00f6\u00f6n palvelimellasi.<\/p>\n<pre><code>&lt;?php\n$url = \"https:\/\/api.exchangeratesapi.io\/latest?base=USD\";\n$ch = curl_init();\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);\ncurl_setopt($ch, CURLOPT_URL, $url);\n$response = curl_exec($ch);\n$arr_result = json_decode($response);\nprint_r($arr_result);<\/code><\/pre>\n<p>Kyse on valuuttakurssien saamisesta PHP: ss\u00e4. Toivon, ett\u00e4 ymm\u00e4rr\u00e4t sen ja voit k\u00e4ytt\u00e4\u00e4 sit\u00e4 kehitysty\u00f6ss\u00e4si. Haluaisin kuulla ajatuksesi tai ehdotuksesi alla olevassa kommenttiosassa.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/etsi-maantieteellinen-sijainti-kayttamalla-ip-osoitetta-ilmaiseksi-php-sta\/\" title=\"Etsi maantieteellinen sijainti k\u00e4ytt\u00e4m\u00e4ll\u00e4 IP-osoitetta ilmaiseksi PHP: st\u00e4\">Etsi maantieteellinen sijainti k\u00e4ytt\u00e4m\u00e4ll\u00e4 IP-osoitetta ilmaiseksi PHP: st\u00e4<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-lukea-tekstia-kuvasta-php-ssa\/\" title=\"Kuinka lukea teksti\u00e4 kuvasta PHP: ss\u00e4\">Kuinka lukea teksti\u00e4 kuvasta PHP: ss\u00e4<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4ss\u00e4 artikkelissa tutkitaan, kuinka saada valuuttakurssit PHP: ss\u00e4. K\u00e4yt\u00e4mme avoimen l\u00e4hdekoodin palvelua, joka tarjoaa p\u00e4\u00e4tepisteit\u00e4 n\u00e4iden hankkimiseksi<\/p>\n","protected":false},"author":1,"featured_media":22212,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[275],"tags":[843],"class_list":["post-24255","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=24255"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24255\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/22212"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=24255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=24255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=24255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}