{"id":763,"date":"2018-08-06T17:06:07","date_gmt":"2018-08-06T20:06:07","guid":{"rendered":"https:\/\/programathor.com.br\/blog\/?p=763"},"modified":"2021-07-08T16:07:34","modified_gmt":"2021-07-08T19:07:34","slug":"o-que-e-api","status":"publish","type":"post","link":"https:\/\/programathor.com.br\/blog\/o-que-e-api\/","title":{"rendered":"Afinal, o que \u00e9 uma API?"},"content":{"rendered":"<p>O que \u00e9 API? Tecnicamente, API significa Application Programming Interface. Em algum ponto ou outro, a maioria das grandes empresas criou APIs para seus clientes ou para uso interno.<\/p>\n<p>Mas como voc\u00ea explica API em portugu\u00eas simples? E existe um significado mais amplo do que aquele usado no desenvolvimento e nos neg\u00f3cios? Primeiro, vamos retroceder e ver como a pr\u00f3pria Web funciona.<\/p>\n<p><!--more--><\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-767\" src=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/o-que-e-api-1.png\" alt=\"o que e api\" width=\"726\" height=\"205\" srcset=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/o-que-e-api-1.png 726w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/o-que-e-api-1-300x85.png 300w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/o-que-e-api-1-676x191.png 676w\" sizes=\"(max-width: 726px) 100vw, 726px\" \/><\/p>\n<h2><strong>Servidores WWW e remotos<\/strong><\/h2>\n<p>Cada p\u00e1gina na internet \u00e9 armazenada em algum lugar em um servidor remoto. Um servidor remoto n\u00e3o \u00e9 t\u00e3o m\u00edstico, afinal, \u00e9 apenas uma parte de um computador localizado remotamente, otimizado para processar solicita\u00e7\u00f5es.<\/p>\n<p>Para colocar as coisas em perspectiva, voc\u00ea pode criar um servidor no seu laptop capaz de servir um site inteiro na Web (na verdade, um servidor local \u00e9 o que os engenheiros usam para desenvolver sites antes de divulg\u00e1-los ao p\u00fablico).<\/p>\n<p>Quando voc\u00ea digita <a title=\"\" href=\"https:\/\/programathor.com.br\/\" target=\"_blank\" rel=\"noopener\">www.programathor.com.br<\/a> em seu navegador, uma solicita\u00e7\u00e3o \u00e9 enviada para o servidor remoto da ProgramaThor. Quando o seu navegador recebe a resposta, ele interpreta o c\u00f3digo e exibe a p\u00e1gina.<\/p>\n<p>Para o navegador, tamb\u00e9m conhecido como cliente, o servidor da ProgramaThor \u00e9 uma API. Isso significa que toda vez que voc\u00ea visitar uma p\u00e1gina na Web, voc\u00ea interage com a API de alguns servidores remotos.<\/p>\n<h2><strong>APIs como forma de atender seus clientes<\/strong><\/h2>\n<p>Voc\u00ea provavelmente j\u00e1 ouviu falar de empresas vendendo APIs como produtos. Por exemplo, o Weather Underground vende o acesso \u00e0 sua API de dados meteorol\u00f3gicos.<\/p>\n<p>Exemplo: o site da sua pequena empresa tem um formul\u00e1rio usado para assinar clientes para compromissos. Voc\u00ea deseja fornecer a seus clientes a capacidade de criar automaticamente um evento da agenda do Google com os detalhes desse compromisso.<\/p>\n<p>Uso da API: a ideia \u00e9 que o servidor do seu site fale diretamente com o servidor do Google com uma solicita\u00e7\u00e3o para criar um evento com os detalhes fornecidos. Seu servidor receberia a resposta do Google, processaria e retornaria informa\u00e7\u00f5es relevantes ao navegador, como uma mensagem de confirma\u00e7\u00e3o para o usu\u00e1rio.<\/p>\n<p>Como alternativa, seu navegador pode enviar uma solicita\u00e7\u00e3o de API diretamente ao servidor do Google ignorando seu servidor.<\/p>\n<p><strong>Como a API do Google Agenda \u00e9 diferente da API de qualquer outro servidor remoto?<\/strong><\/p>\n<p>Em termos t\u00e9cnicos, a diferen\u00e7a \u00e9 o formato da solicita\u00e7\u00e3o e a resposta.<\/p>\n<p>Para renderizar toda a p\u00e1gina da Web, o navegador espera uma resposta em HTML, que cont\u00e9m c\u00f3digo de apresenta\u00e7\u00e3o, enquanto a chamada da API do Google Agenda retornaria os dados, provavelmente em um formato como o JSON.<\/p>\n<div id=\"attachment_769\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" aria-describedby=\"caption-attachment-769\" class=\"wp-image-769 size-medium_large\" src=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/api-768x300.jpg\" alt=\"api\" width=\"676\" height=\"264\" srcset=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/api-768x300.jpg 768w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/api-300x117.jpg 300w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/api-676x264.jpg 676w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/api.jpg 1000w\" sizes=\"(max-width: 676px) 100vw, 676px\" \/><p id=\"caption-attachment-769\" class=\"wp-caption-text\">Imagem via:&nbsp;<a title=\"\" href=\"https:\/\/www.handsonconnect.org\/blog\/2016\/8\/17\/what-is-an-api-and-why-should-i-care\" target=\"_blank\" rel=\"noopener\">handsonconnect<\/a><\/p><\/div>\n<p>N\u00e3o \u00e9 incomum que as equipes de desenvolvimento dividam seus aplicativos em v\u00e1rios servidores que conversam entre si por meio de APIs. Os servidores que executam fun\u00e7\u00f5es auxiliares do servidor de aplicativos principal s\u00e3o comumente chamados de microservices.<\/p>\n<p>Para resumir, quando uma empresa oferece uma API para seus clientes, isso significa apenas que eles criaram um conjunto de URLs dedicados que retornam respostas de dados puras-&nbsp; ou seja, as respostas n\u00e3o cont\u00eam o tipo de sobrecarga de apresenta\u00e7\u00e3o que voc\u00ea esperaria em uma interface gr\u00e1fica do usu\u00e1rio, como um website.<\/p>\n<p>Voc\u00ea pode fazer essas solicita\u00e7\u00f5es com o seu navegador? Muitas vezes sim. Como a transmiss\u00e3o HTTP real acontece no texto, o seu navegador sempre far\u00e1 o melhor poss\u00edvel para exibir a resposta.<\/p>\n<p>Por exemplo, voc\u00ea pode acessar a API do GitHub diretamente com seu navegador sem precisar de um token de acesso. Esta \u00e9 a resposta do JSON que voc\u00ea recebe quando visita uma rota da API do <a title=\"\" href=\"https:\/\/programathor.com.br\/blog\/5-dicas-de-github\/\" target=\"_blank\" rel=\"noopener\">usu\u00e1rio do GitHub<\/a> no seu navegador (https:\/\/api.github.com\/users\/petrgazarov):<\/p>\n<h2><strong>A de &#8220;Aplicativo&#8221;<\/strong><\/h2>\n<p>Para fechar, vamos adicionar mais alguns exemplos de APIs.<\/p>\n<p>\u201cAplicativo\u201d pode se referir a muitas coisas. Aqui est\u00e3o alguns deles no contexto da API:<\/p>\n<ol>\n<li>Um software com uma fun\u00e7\u00e3o distinta.<\/li>\n<li>O servidor inteiro, o aplicativo inteiro ou apenas uma pequena parte de um aplicativo.<\/li>\n<\/ol>\n<p>Basicamente, qualquer software que possa ser separado do seu ambiente, pode ser um &#8220;A&#8221; na API, e provavelmente tamb\u00e9m ter\u00e1 algum tipo de API.<\/p>\n<p>Veja outro exemplo: No projeto orientado a objetos, o c\u00f3digo \u00e9 organizado em objetos. Seu aplicativo pode ter centenas de objetos definidos que podem interagir uns com os outros.<\/p>\n<p>Cada objeto tem uma API &#8211; um conjunto de m\u00e9todos e propriedades p\u00fablicos que ele usa para interagir com outros objetos em seu aplicativo. Um objeto tamb\u00e9m pode ter uma l\u00f3gica interna privada, o que significa que ela est\u00e1 oculta do escopo externo (e n\u00e3o de uma API).<\/p>\n<p>Pelo que abordamos, espero que voc\u00ea tire o significado mais amplo da API, assim como os usos mais comuns do termo hoje.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-770\" src=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/api-768x768.png\" alt=\"api\" width=\"149\" height=\"149\" srcset=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/api-768x768.png 768w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/api-150x150.png 150w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/api-300x300.png 300w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/api-676x676.png 676w, https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/api.png 1000w\" sizes=\"(max-width: 149px) 100vw, 149px\" \/><\/p>\n<hr>\n<h3><strong>Consiga um emprego!<\/strong><\/h3>\n<p>Se voc\u00ea \u00e9 um programador e est\u00e1 buscando novas oportunidades profissionais, acesse a&nbsp;<a href=\"https:\/\/programathor.com.br\/\">ProgramaThor<\/a>, uma startup focada no recrutamento de desenvolvedores. Para se candidatar \u00e0s vagas e receber notifica\u00e7\u00f5es em casos de matching, basta de cadastrar e completar seu perfil corretamente.<\/p>\n<p style=\"text-align: center;\"><a href=\"https:\/\/programathor.com.br\/jobs?utm_source=blog&amp;utm_medium=post&amp;utm_campaign=o_que_e_api\" class=\"large otw-greenish radius otw-button\" target=\"_blank\">VAGAS PARA PROGRAMADORES<\/a><\/p>\n<p>Esse artigo \u00e9 uma tradu\u00e7\u00e3o do texto da <a title=\"\" href=\"https:\/\/medium.freecodecamp.org\/what-is-an-api-in-english-please-b880a3214a82\" target=\"_blank\" rel=\"noopener\">FreeCodeCamp<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O que \u00e9 API? Tecnicamente, API significa Application Programming Interface. Em algum ponto ou outro, a maioria das grandes empresas criou APIs para seus clientes ou para uso interno. Mas como voc\u00ea explica API em portugu\u00eas simples? E existe um significado mais amplo do que aquele usado no desenvolvimento e nos neg\u00f3cios? Primeiro, vamos retroceder [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":768,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41,43,1],"tags":[53,45,5,13,17,38],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>O que \u00e9 API? - Blog da ProgramaThor<\/title>\n<meta name=\"description\" content=\"Neste artigo, a ProgramaThor explicou o que \u00e9 uma API. Vem aqui conferir e tirar todas suas d\u00favidas com a gente!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/programathor.com.br\/blog\/o-que-e-api\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"O que \u00e9 API? - Blog da ProgramaThor\" \/>\n<meta property=\"og:description\" content=\"Neste artigo, a ProgramaThor explicou o que \u00e9 uma API. Vem aqui conferir e tirar todas suas d\u00favidas com a gente!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/programathor.com.br\/blog\/o-que-e-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog ProgramaThor\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ProgramaThorBr\/\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/pedro.lucinio.94\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-06T20:06:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-07-08T19:07:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/o-que-\u00e9-api.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"700\" \/>\n\t<meta property=\"og:image:height\" content=\"368\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Pedro Lucinio\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pedrolucinio27\" \/>\n<meta name=\"twitter:site\" content=\"@ProgramaThor\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pedro Lucinio\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"O que \u00e9 API? - Blog da ProgramaThor","description":"Neste artigo, a ProgramaThor explicou o que \u00e9 uma API. Vem aqui conferir e tirar todas suas d\u00favidas com a gente!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/programathor.com.br\/blog\/o-que-e-api\/","og_locale":"pt_PT","og_type":"article","og_title":"O que \u00e9 API? - Blog da ProgramaThor","og_description":"Neste artigo, a ProgramaThor explicou o que \u00e9 uma API. Vem aqui conferir e tirar todas suas d\u00favidas com a gente!","og_url":"https:\/\/programathor.com.br\/blog\/o-que-e-api\/","og_site_name":"Blog ProgramaThor","article_publisher":"https:\/\/www.facebook.com\/ProgramaThorBr\/","article_author":"https:\/\/www.facebook.com\/pedro.lucinio.94","article_published_time":"2018-08-06T20:06:07+00:00","article_modified_time":"2021-07-08T19:07:34+00:00","og_image":[{"width":700,"height":368,"url":"https:\/\/programathor.com.br\/blog\/wp-content\/uploads\/2018\/08\/o-que-\u00e9-api.jpg","type":"image\/jpeg"}],"author":"Pedro Lucinio","twitter_card":"summary_large_image","twitter_creator":"@pedrolucinio27","twitter_site":"@ProgramaThor","twitter_misc":{"Escrito por":"Pedro Lucinio","Tempo estimado de leitura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/programathor.com.br\/blog\/o-que-e-api\/","url":"https:\/\/programathor.com.br\/blog\/o-que-e-api\/","name":"O que \u00e9 API? - Blog da ProgramaThor","isPartOf":{"@id":"https:\/\/programathor.com.br\/blog\/#website"},"datePublished":"2018-08-06T20:06:07+00:00","dateModified":"2021-07-08T19:07:34+00:00","author":{"@id":"https:\/\/programathor.com.br\/blog\/#\/schema\/person\/0d0da03131226876dd51a85cdbe26458"},"description":"Neste artigo, a ProgramaThor explicou o que \u00e9 uma API. Vem aqui conferir e tirar todas suas d\u00favidas com a gente!","breadcrumb":{"@id":"https:\/\/programathor.com.br\/blog\/o-que-e-api\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/programathor.com.br\/blog\/o-que-e-api\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/programathor.com.br\/blog\/o-que-e-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/programathor.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Pesquisas","item":"https:\/\/programathor.com.br\/blog\/category\/pesquisas\/"},{"@type":"ListItem","position":3,"name":"Afinal, o que \u00e9 uma API?"}]},{"@type":"WebSite","@id":"https:\/\/programathor.com.br\/blog\/#website","url":"https:\/\/programathor.com.br\/blog\/","name":"Blog ProgramaThor","description":"A plataforma de recrutamento  para programadores pensada por programadores. Entenda melhor o mundo da programa\u00e7\u00e3o, a cria\u00e7\u00e3o de uma vaga eficiente, dicas de entrevista, as linguagens do momento, o mercado de desenvolvimento e muito mais!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/programathor.com.br\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/programathor.com.br\/blog\/#\/schema\/person\/0d0da03131226876dd51a85cdbe26458","name":"Pedro Lucinio","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/programathor.com.br\/blog\/#\/schema\/person\/image\/","url":"https:\/\/programathor.com.br\/blog\/wp-content\/litespeed\/avatar\/c57a1d2b28234277049c88e675e47e45.jpg?ver=1780843675","contentUrl":"https:\/\/programathor.com.br\/blog\/wp-content\/litespeed\/avatar\/c57a1d2b28234277049c88e675e47e45.jpg?ver=1780843675","caption":"Pedro Lucinio"},"description":"Apaixonado por tecnologia e entusiasta da literatura !","sameAs":["http:\/\/www.programathor.com.br","https:\/\/www.facebook.com\/pedro.lucinio.94","https:\/\/twitter.com\/pedrolucinio27"],"url":"https:\/\/programathor.com.br\/blog\/author\/pedro\/"}]}},"_links":{"self":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts\/763"}],"collection":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/comments?post=763"}],"version-history":[{"count":6,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts\/763\/revisions"}],"predecessor-version":[{"id":3203,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/posts\/763\/revisions\/3203"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/media\/768"}],"wp:attachment":[{"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/media?parent=763"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/categories?post=763"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programathor.com.br\/blog\/wp-json\/wp\/v2\/tags?post=763"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}