{"id":24543,"date":"2021-05-15T16:12:00","date_gmt":"2021-05-15T13:12:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24543"},"modified":"2021-10-17T19:12:07","modified_gmt":"2021-10-17T16:12:07","slug":"valuutakursside-api-koos-valuutakonversiooniga-php-s","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/et\/valuutakursside-api-koos-valuutakonversiooniga-php-s\/","title":{"rendered":"Valuutakursside API koos valuutakonversiooniga PHP-s"},"content":{"rendered":"<p>Hiljuti t\u00f6\u00f6tasin kliendi projektiga, kus mul oli vaja kogu maailmas kasutajatelt makse koguda. Klient, kes kasutab veebimaksete saamiseks Razorpay-d. Razorpays peate teisendama v\u00e4lisvaluuta kursi INR-iks (India ruupiateks) ja seej\u00e4rel tasuma makse. Selle \u00fclesande t\u00e4itmiseks soovisin saada valuutakursside API, mille leidsin <a href=\"http:\/\/exchangeratesapi.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">valuutakursside API-st<\/a>.<\/p>\n<p>Vahetuskursside API on avatud l\u00e4htekoodiga teenus <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\">Euroopa Keskpanga<\/a> avaldatud praeguste ja ajalooliste valuutakursside jaoks .<\/p>\n<p>Selles artiklis n\u00e4itan teile, kuidas kasutada vahetuskursside API-d ja saada v\u00e4lisvaluuta summat.<\/p>\n<h3>Kuidas kasutada valuutakursside API-d<\/h3>\n<p>See teenus pakub API l\u00f5pp-punkte. Kui j\u00f5uame l\u00f5pp-punktidesse koos parameetritega, tagastavad need asjakohase vastuse.<\/p>\n<p>API-k\u00f5nede andmiseks ja vastuse saamiseks saame valida kas Guzzle (PHP HTTP klient) v\u00f5i cURL. M\u00f5lemad pakuvad lihtsat ja usaldusv\u00e4\u00e4rset viisi API-dega suhtlemiseks.<\/p>\n<p>Alustame k\u00f5igepealt Guzzle&#8217;ist. Installige Guzzle helilooja kaudu j\u00e4rgmise k\u00e4suga:<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>Installimisel saate API k\u00f5ne teha ja vastuse saada, kirjutades alloleva koodi.<\/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>\u00dclaltoodud kood annab teile USA dollari teisenduskursi teiste valuutade jaoks. Kasutaja saab &#8216;baas&#8217; klahvile seada muud valuutas\u00fcmbolid.<\/p>\n<p>Samamoodi saavad kasutajad \u00fcmberarvestuskursi \u00fchest valuutast. Oletame, et soovite USA dollari INR-hinda.<\/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>Vahetuskursside API annab teile ka ajaloolisi andmeid. Sellisel juhul peate edastama v\u00f5tmete &#8216;algus_at&#8217; ja &#8216;l\u00f5pp_aart&#8217; kuup\u00e4eva v\u00e4\u00e4rtused.<\/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>Suhtle API-ga, kasutades cURL-i<\/h4>\n<p>Eelistasin API-ga suhtlemiseks kasutada Guzzle&#8217;i. Aga kui keegi soovib kasutada cURL-i, saab ta kasutada allolevat koodi. Veenduge, et olete oma serveris lubanud laienduse cURL.<\/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>See k\u00f5ik on seotud valuutakursside saamisega PHP-des. Loodan, et saate sellest aru ja saate seda oma arendust\u00f6\u00f6s kasutada. Tahaksin kuulda teie m\u00f5tteid v\u00f5i ettepanekuid allpool olevas kommentaaride jaotises.<\/p>\n<h4>seotud artiklid<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/leidke-geograafiline-asukoht-kasutades-php-s-tasuta-ip-aadressi\/\" title=\"Leidke geograafiline asukoht, kasutades PHP-s tasuta IP-aadressi\">Leidke geograafiline asukoht, kasutades PHP-s tasuta IP-aadressi<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/kuidas-lugeda-pilti-teksti-php-s\/\" title=\"Kuidas lugeda pilti teksti PHP-s\">Kuidas lugeda pilti teksti PHP-s<\/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>Selles artiklis uurime, kuidas saada v\u00e4lisvaluutade vahetuskursse PHP-des. Nende saamiseks kasutame avatud l\u00e4htekoodiga teenust, mis pakub l\u00f5pp-punkte<\/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":[274],"tags":[842],"class_list":["post-24543","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-5","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/24543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/comments?post=24543"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/24543\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media\/22212"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media?parent=24543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/categories?post=24543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/tags?post=24543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}