{"id":27788,"date":"2021-05-15T16:00:00","date_gmt":"2021-05-15T13:00:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27788"},"modified":"2021-10-17T17:06:55","modified_gmt":"2021-10-17T14:06:55","slug":"api-de-tipos-de-cambio-con-conversion-de-moneda-en-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/es\/api-de-tipos-de-cambio-con-conversion-de-moneda-en-php\/","title":{"rendered":"API de tipos de cambio con conversi\u00f3n de moneda en PHP"},"content":{"rendered":"<p>Recientemente, estaba trabajando en el proyecto de un cliente en el que necesitaba cobrar el pago de usuarios de todo el mundo. El cliente que usa Razorpay para recibir pagos en l\u00ednea. En Razorpay, debe convertir la tasa de moneda extranjera a INR (rupias indias) y luego cobrar el pago. Para realizar esta tarea, quer\u00eda obtener la API de tipos de cambio que encontr\u00e9 en la <a href=\"http:\/\/exchangeratesapi.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">API de tipos de cambio<\/a>.<\/p>\n<p>La API de tipos de cambio es un servicio de c\u00f3digo abierto para los tipos de cambio actuales e hist\u00f3ricos publicados por el <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\">Banco Central Europeo<\/a>.<\/p>\n<p>En este art\u00edculo, le mostrar\u00e9 c\u00f3mo usar la API de tipos de cambio y obtener la cantidad de moneda extranjera.<\/p>\n<h3>C\u00f3mo utilizar la API de tipos de cambio de divisas<\/h3>\n<p>Este servicio proporciona puntos finales de API. Una vez que llegamos a los puntos finales junto con los par\u00e1metros, devuelven una respuesta adecuada.<\/p>\n<p>Para dar llamadas a la API y manejar la respuesta, podemos elegir Guzzle (cliente PHP HTTP) o cURL. Ambos proporcionan una forma f\u00e1cil y confiable de interactuar con las API.<\/p>\n<p>Empecemos por el Guzzle primero. Instale Guzzle a trav\u00e9s del compositor con el siguiente comando:<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>Tras la instalaci\u00f3n, puede realizar una llamada a la API y recibir la respuesta escribiendo el c\u00f3digo a continuaci\u00f3n.<\/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>El c\u00f3digo anterior le brinda una tasa de conversi\u00f3n de d\u00f3lares estadounidenses para otras monedas. El usuario puede establecer otros s\u00edmbolos de moneda en la tecla &quot;base&quot;.<\/p>\n<p>De la misma manera, los usuarios obtienen una tasa de conversi\u00f3n de una moneda \u00fanica. Digamos que quiere el precio INR del d\u00f3lar USD.<\/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>La API de tipos de cambio tambi\u00e9n le proporciona datos hist\u00f3ricos. En ese caso, debe pasar valores de fecha para las claves &#8216;start_at&#8217; y &#8216;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>Interactuar con la API usando cURL<\/h4>\n<p>Prefer\u00ed usar un Guzzle para interactuar con la API. Pero si alguien quiere usar cURL, puede usar el siguiente c\u00f3digo. Aseg\u00farese de haber habilitado la extensi\u00f3n cURL en su servidor.<\/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>Se trata de obtener tipos de cambio en PHP. Espero que lo entiendas y puedas usarlo en tu trabajo de desarrollo. Me gustar\u00eda escuchar sus pensamientos o sugerencias en la secci\u00f3n de comentarios a continuaci\u00f3n.<\/p>\n<h4>Art\u00edculos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/encuentre-la-geolocalizacion-usando-la-direccion-ip-de-forma-gratuita-en-php\/\" title=\"Encuentre la geolocalizaci\u00f3n usando la direcci\u00f3n IP de forma gratuita en PHP\">Encuentre la geolocalizaci\u00f3n usando la direcci\u00f3n IP de forma gratuita en PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/es\/como-leer-texto-de-una-imagen-en-php\/\" title=\"C\u00f3mo leer texto de una imagen en PHP\">C\u00f3mo leer texto de una imagen en PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este art\u00edculo, estudiamos c\u00f3mo obtener tipos de cambio para monedas extranjeras en PHP. Usaremos un servicio de c\u00f3digo abierto que proporcione puntos finales para obtener estos<\/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":[271],"tags":[849],"class_list":["post-27788","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27788","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/comments?post=27788"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/posts\/27788\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media\/22212"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/media?parent=27788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/categories?post=27788"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/es\/wp-json\/wp\/v2\/tags?post=27788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}