<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[API Playbook: API Essentials]]></title><description><![CDATA[Explore o mundo fascinante das APIs. De introduções básicas a conceitos fundamentais, esta seção é o ponto de partida para todos que desejam compreender a essência das APIs.]]></description><link>https://www.apiplaybook.com/s/api-basics</link><image><url>https://substackcdn.com/image/fetch/$s_!GdFN!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb08af87d-4b66-473f-a437-07a9f5881317_1280x1280.png</url><title>API Playbook: API Essentials</title><link>https://www.apiplaybook.com/s/api-basics</link></image><generator>Substack</generator><lastBuildDate>Tue, 21 Apr 2026 10:17:06 GMT</lastBuildDate><atom:link href="https://www.apiplaybook.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[David Ruiz]]></copyright><language><![CDATA[pt-br]]></language><webMaster><![CDATA[apiplaybook@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[apiplaybook@substack.com]]></itunes:email><itunes:name><![CDATA[David Ruiz]]></itunes:name></itunes:owner><itunes:author><![CDATA[David Ruiz]]></itunes:author><googleplay:owner><![CDATA[apiplaybook@substack.com]]></googleplay:owner><googleplay:email><![CDATA[apiplaybook@substack.com]]></googleplay:email><googleplay:author><![CDATA[David Ruiz]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[LGPD e API: Como proteger seus dados e sua empresa de sanções financeiras e danos à reputação]]></title><description><![CDATA[Alessandra Martins, Vice-presidente do IBRASPD - Instituto Brasileiro de Seguran&#231;a, Prote&#231;&#227;o e Privacidade de Dados]]></description><link>https://www.apiplaybook.com/p/lgpd-e-api-como-proteger-seus-dados</link><guid isPermaLink="false">https://www.apiplaybook.com/p/lgpd-e-api-como-proteger-seus-dados</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Mon, 25 Mar 2024 10:00:41 GMT</pubDate><enclosure url="https://substack-video.s3.amazonaws.com/video_upload/post/138155144/c80c51ab-3cb0-4a19-ba10-83df0d5efbd8/transcoded-00000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Participe desta palestra do API Connect Conference 2023 (APICON) com Alessandra Martins, Vice-presidente do IBRASPD - Instituto Brasileiro de Seguran&#231;a, Prote&#231;&#227;o e Privacidade de Dados, que explora como proteger seus dados e sua empresa de san&#231;&#245;es financeiras e danos &#224; reputa&#231;&#227;o, em conformidade com a Lei Geral de Prote&#231;&#227;o de Dados (LGPD). </p><p>Aprenda as me&#8230;</p>
      <p>
          <a href="https://www.apiplaybook.com/p/lgpd-e-api-como-proteger-seus-dados">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Construindo APIs seguras: melhores práticas para criação de seu produto]]></title><description><![CDATA[Alessandra Martins, Vice-presidente do IBRASPD - Instituto Brasileiro de Seguran&#231;a, Prote&#231;&#227;o e Privacidade de Dados | Andr&#233;a Thom&#233;, Head Brasil da WOMCY | Tatiana Scarpioni, Founder da TheFemTech]]></description><link>https://www.apiplaybook.com/p/construindo-apis-seguras-melhores</link><guid isPermaLink="false">https://www.apiplaybook.com/p/construindo-apis-seguras-melhores</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Mon, 15 Jan 2024 10:00:17 GMT</pubDate><enclosure url="https://substack-video.s3.amazonaws.com/video_upload/post/138153960/42f7210a-aeba-48b6-aa13-af89262e4289/transcoded-00000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Neste painel da API Connect Conference 2023 (APICON), Alessandra Martins, Vice-Presidente do IBRASPD - Instituto Brasileiro de Seguran&#231;a, Prote&#231;&#227;o e Privacidade de Dados, Andr&#233;a Thom&#233;, Head Brasil da WOMCY, e Tatiana Scarpioni, Founder da TheFemTech, compartilham suas percep&#231;&#245;es e conhecimentos sobre a constru&#231;&#227;o de APIs seguras. Aprenda as melhores pr&#225;&#8230;</p>
      <p>
          <a href="https://www.apiplaybook.com/p/construindo-apis-seguras-melhores">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[APIs e Integrações: uma abordagem moderna para a junção dos dois mundos]]></title><description><![CDATA[Com Luis Gustavo Franco, L&#237;der de Arquitetura e Estrat&#233;gia de Tecnologia na Axway]]></description><link>https://www.apiplaybook.com/p/apis-e-integracoes-uma-abordagem</link><guid isPermaLink="false">https://www.apiplaybook.com/p/apis-e-integracoes-uma-abordagem</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Mon, 08 Jan 2024 10:00:51 GMT</pubDate><enclosure url="https://substack-video.s3.amazonaws.com/video_upload/post/138153918/4ef3b9f8-9307-440b-8186-fbb8d81dc666/transcoded-00000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Descubra o poder da jun&#231;&#227;o entre APIs e Integra&#231;&#245;es com Luis Gustavo Franco, l&#237;der de Arquitetura e Estrat&#233;gia de Tecnologia na Axway. Nesta palestra, Luis apresenta o Axway Amplify Integration Builder, uma solu&#231;&#227;o inovadora que facilita a integra&#231;&#227;o de sistemas, melhorando a efici&#234;ncia e o desempenho. Aprenda como esta ferramenta pode elevar seu neg&#243;ci&#8230;</p>
      <p>
          <a href="https://www.apiplaybook.com/p/apis-e-integracoes-uma-abordagem">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Desenvolvimento de aplicações distribuídas com APIs de Eventos: Casos de uso e melhores práticas]]></title><description><![CDATA[Nic Marcondes, CO-founder na Quanto]]></description><link>https://www.apiplaybook.com/p/desenvolvimento-de-aplicacoes-distribuidas</link><guid isPermaLink="false">https://www.apiplaybook.com/p/desenvolvimento-de-aplicacoes-distribuidas</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Mon, 11 Dec 2023 10:00:39 GMT</pubDate><enclosure url="https://substack-video.s3.amazonaws.com/video_upload/post/138153781/cd0aacfd-cb75-4bb2-9bad-9ad2a8a70bab/transcoded-00000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Junte-se a Nic Marcondes, Co-founder na Quanto, nesta apresenta&#231;&#227;o da API Connect Conference 2023 (APICON). Aprenda sobre casos de uso reais e melhores pr&#225;ticas para criar sistemas altamente escal&#225;veis e resilientes. Descubra como a arquitetura orientada a eventos pode melhorar a efici&#234;ncia, a performance e a adaptabilidade de suas aplica&#231;&#245;es, ao mesmo &#8230;</p>
      <p>
          <a href="https://www.apiplaybook.com/p/desenvolvimento-de-aplicacoes-distribuidas">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[APIs de Open Finance: Como elas estão democratizando o acesso aos serviços financeiros]]></title><description><![CDATA[Vitor Leal (Moderador) | Alex Moraes - Mulesoft | Erika Oliveira - RD RaiaDrogasil | Rafael Rebelo - Remessa Online]]></description><link>https://www.apiplaybook.com/p/apis-de-open-finance-como-elas-estao</link><guid isPermaLink="false">https://www.apiplaybook.com/p/apis-de-open-finance-como-elas-estao</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Mon, 27 Nov 2023 10:00:26 GMT</pubDate><enclosure url="https://substack-video.s3.amazonaws.com/video_upload/post/138153571/db60c38c-ed2d-4c1a-98d6-e40a47f4e2ca/transcoded-00000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Junte-se a Vitor Leal, VP of Engineering na Kiwify, moderando um painel com Alex Moraes, Regional Vice President Brazil da Mulesoft, Erika Oliveira, Sr. Product Manager da RD RaiaDrogasil, e Rafael Rebelo, Partner da Remessa Online, no API Connect Conference 2023 (APICON). Descubra como essas tecnologias est&#227;o mudando a maneira como as pessoas interagem&#8230;</p>
      <p>
          <a href="https://www.apiplaybook.com/p/apis-de-open-finance-como-elas-estao">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Design de APIs: Criando APIs modernas e escaláveis]]></title><description><![CDATA[Fabricio Oliveira, Technical Product Manager e Software Engineer Leader no Ita&#250; Unibanco (Moderador) | Marcelo Raveli, Principal Architect na Engineering Brasil | Vin&#237;cius Christ, Solutions Architect]]></description><link>https://www.apiplaybook.com/p/design-de-apis-criando-apis-modernas</link><guid isPermaLink="false">https://www.apiplaybook.com/p/design-de-apis-criando-apis-modernas</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Mon, 13 Nov 2023 10:00:34 GMT</pubDate><enclosure url="https://substack-video.s3.amazonaws.com/video_upload/post/138152592/bac9e043-e501-444a-8b97-675ffce538c5/transcoded-00000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Explore o mundo do design de APIs modernas e escal&#225;veis neste painel do API Connect Conference 2023 (APICON). Fabricio Oliveira, Technical Product Manager e Software Engineer Leader no Ita&#250; Unibanco, modera um painel de especialistas composto por Marcelo Raveli, Principal Architect na Engineering Brasil, e Vin&#237;cius Christ, Solutions Architect na Digibee&#8230;</p>
      <p>
          <a href="https://www.apiplaybook.com/p/design-de-apis-criando-apis-modernas">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[API First: Acelerando a entrega de software e de valor para o negócio!]]></title><description><![CDATA[Bruno Oliveira, API Strategy Consultant na Engineering Brasil.]]></description><link>https://www.apiplaybook.com/p/api-first-acelerando-a-entrega-de</link><guid isPermaLink="false">https://www.apiplaybook.com/p/api-first-acelerando-a-entrega-de</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Mon, 06 Nov 2023 10:00:28 GMT</pubDate><enclosure url="https://substack-video.s3.amazonaws.com/video_upload/post/138154135/86c7cb48-cbfc-4ba4-95a9-37dab77e6e05/transcoded-00000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Assista a esta apresenta&#231;&#227;o da API Connect Conference 2023 (APICON) com Bruno Oliveira, API Strategy Consultant na Engineering Brasil. Descubra como adotar a estrat&#233;gia API first para melhorar a colabora&#231;&#227;o entre equipes, aumentar a agilidade e otimizar a integra&#231;&#227;o de sistemas e entregar solu&#231;&#245;es mais eficientes e impactantes para sua organiza&#231;&#227;o.</p>
      <p>
          <a href="https://www.apiplaybook.com/p/api-first-acelerando-a-entrega-de">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Platform Engineering: Dev First, Colaboração e APIs]]></title><description><![CDATA[Tatiana Scarpioni, Senior Manager Solutions Architecture na TheFemTech]]></description><link>https://www.apiplaybook.com/p/platform-engineering-dev-first-colaboracao</link><guid isPermaLink="false">https://www.apiplaybook.com/p/platform-engineering-dev-first-colaboracao</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Mon, 30 Oct 2023 10:01:14 GMT</pubDate><enclosure url="https://substack-video.s3.amazonaws.com/video_upload/post/138152429/44ca5597-f56c-46e7-8d80-1b9db5a6b562/transcoded-00000.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Participe desta sess&#227;o informativa da API Connect Conference 2023 (APICON) com Tatiana Scarpioni, Senior Manager Solutions Architect na TheFemTech. Tatiana compartilha sua experi&#234;ncia e conhecimento em promover a colabora&#231;&#227;o entre desenvolvedores e a import&#226;ncia das APIs no ecossistema da engenharia de plataformas. Aprenda como adotar uma abordagem 'Dev&#8230;</p>
      <p>
          <a href="https://www.apiplaybook.com/p/platform-engineering-dev-first-colaboracao">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Boas práticas no desenvolvimento de APIs RESTful]]></title><description><![CDATA[Antes de qualquer coisa, &#233; preciso esclarecer alguns termos usados dentro do universo REST, que ser&#227;o utilizados constantemente neste texto.]]></description><link>https://www.apiplaybook.com/p/boas-praticas-desenvolvimento-apis-rest</link><guid isPermaLink="false">https://www.apiplaybook.com/p/boas-praticas-desenvolvimento-apis-rest</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Mon, 16 Aug 2021 14:09:03 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e460263b-f052-4255-b3d8-25f7a39a3004_3984x2656.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bx_8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d60b1ef-8d2a-4a81-8ba7-9c247b4c8028_3984x2656.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bx_8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d60b1ef-8d2a-4a81-8ba7-9c247b4c8028_3984x2656.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Bx_8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d60b1ef-8d2a-4a81-8ba7-9c247b4c8028_3984x2656.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Bx_8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d60b1ef-8d2a-4a81-8ba7-9c247b4c8028_3984x2656.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Bx_8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d60b1ef-8d2a-4a81-8ba7-9c247b4c8028_3984x2656.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bx_8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d60b1ef-8d2a-4a81-8ba7-9c247b4c8028_3984x2656.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d60b1ef-8d2a-4a81-8ba7-9c247b4c8028_3984x2656.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Boas pr&#225;ticas no desenvolvimento de APIs RESTful&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Boas pr&#225;ticas no desenvolvimento de APIs RESTful" title="Boas pr&#225;ticas no desenvolvimento de APIs RESTful" srcset="https://substackcdn.com/image/fetch/$s_!Bx_8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d60b1ef-8d2a-4a81-8ba7-9c247b4c8028_3984x2656.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Bx_8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d60b1ef-8d2a-4a81-8ba7-9c247b4c8028_3984x2656.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Bx_8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d60b1ef-8d2a-4a81-8ba7-9c247b4c8028_3984x2656.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Bx_8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d60b1ef-8d2a-4a81-8ba7-9c247b4c8028_3984x2656.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">None</figcaption></figure></div><p>Antes de qualquer coisa, &#233; preciso esclarecer alguns termos usados dentro&nbsp;do universo REST, que ser&#227;o utilizados constantemente neste texto. S&#227;o significados que podem divergir dependendo do contexto.&nbsp;</p><p><strong>Recursos</strong>: s&#227;o as entidades que a API pode gerenciar (ex: usu&#225;rio e empresa).&nbsp;</p><p><strong>URI (</strong><em><strong>Uniform&nbsp;Resource&nbsp;Identifier</strong></em><strong>)</strong>:&nbsp;&#233; o identificador do recurso, que deve&nbsp;ser &#250;nico.&nbsp;</p><p><strong>Endpoint</strong>: de forma simplificada,&nbsp;&#233; o que vem ap&#243;s o URN. Um&nbsp;exemplo hipot&#233;tico:&nbsp;para adicionar uma empresa no banco de dados, &#233; feita uma requisi&#231;&#227;o POST &#224; API no URL&nbsp;https://site.com/api/empresas&nbsp;e segue a seguinte l&#243;gica no universo REST:&nbsp;</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S71A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c03a03-9381-405f-a770-7d63abb18895_1287x348.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S71A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c03a03-9381-405f-a770-7d63abb18895_1287x348.png 424w, https://substackcdn.com/image/fetch/$s_!S71A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c03a03-9381-405f-a770-7d63abb18895_1287x348.png 848w, https://substackcdn.com/image/fetch/$s_!S71A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c03a03-9381-405f-a770-7d63abb18895_1287x348.png 1272w, https://substackcdn.com/image/fetch/$s_!S71A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c03a03-9381-405f-a770-7d63abb18895_1287x348.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S71A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c03a03-9381-405f-a770-7d63abb18895_1287x348.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27c03a03-9381-405f-a770-7d63abb18895_1287x348.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!S71A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c03a03-9381-405f-a770-7d63abb18895_1287x348.png 424w, https://substackcdn.com/image/fetch/$s_!S71A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c03a03-9381-405f-a770-7d63abb18895_1287x348.png 848w, https://substackcdn.com/image/fetch/$s_!S71A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c03a03-9381-405f-a770-7d63abb18895_1287x348.png 1272w, https://substackcdn.com/image/fetch/$s_!S71A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27c03a03-9381-405f-a770-7d63abb18895_1287x348.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p><strong>M&#233;todos</strong>:&nbsp;s&#227;o os m&#233;todos de requisi&#231;&#227;o HTTP, tamb&#233;m conhecidos como&nbsp;<em>HTTP&nbsp;Verbs&nbsp;</em>(verbos HTTP).&nbsp;</p><p>Neste artigo, voc&#234;&nbsp;vai&nbsp;encontrar conven&#231;&#245;es usadas durante a constru&#231;&#227;o de uma API que podem torn&#225;-la mais segura e consistente.&nbsp;</p><h4><strong>Utilizando HTTP do jeito certo</strong></h4><p>Uma requisi&#231;&#227;o HTTP pode ser realizada com base em alguns m&#233;todos.&nbsp;Dentre os mais utilizados est&#227;o: (GET, PUT, POST e DELETE). &#201; comum dar o nome do recurso aos&nbsp;<em>endpoints&nbsp;</em>e utilizar os m&#233;todos para diferenciar a fun&#231;&#227;o do&nbsp;<em>endpoint&nbsp;</em>em quest&#227;o.&nbsp;</p><p>Exemplos&nbsp;de gerenciamento do recurso&nbsp;<em><strong>empresa</strong></em>:&nbsp;</p><p>GET&nbsp;<em><strong>/empresas</strong></em>:&nbsp;solicita todas as empresas cadastradas;&nbsp;</p><p>POST&nbsp;<em><strong>/empresas</strong></em>:&nbsp;efetua cadastro de&nbsp;uma&nbsp;nova&nbsp;empresa;&nbsp;</p><p>PUT&nbsp;<em><strong>/empresas</strong></em>: atualiza informa&#231;&#245;es de uma empresa com base em um identificador passado na requisi&#231;&#227;o;&nbsp;</p><p>DELETE&nbsp;<em><strong>/empresas</strong></em>:&nbsp;deleta&nbsp;uma empresa&nbsp;do banco de dados&nbsp;com base em um identificador passado na requisi&#231;&#227;o.&nbsp;</p><p>Note que n&#227;o foi criado um&nbsp;URI&nbsp;diferente para cada a&#231;&#227;o da API como&nbsp;<em><strong>criarEmpresa&nbsp;</strong></em>ou&nbsp;<em><strong>deletarEmpresa</strong></em>. A API foi configurada para ter o mesmo&nbsp;<em><strong>endpoint</strong></em>&nbsp;para&nbsp;todas&nbsp;as&nbsp;fun&#231;&#245;es e diferenci&#225;-las apenas pelo m&#233;todo da requisi&#231;&#227;o.&nbsp;</p><p><strong>Sobre o uso de plurais</strong>&nbsp;-&nbsp;&#201; uma conven&#231;&#227;o utilizar o plural nos URIs para disponibilizar o recurso em quest&#227;o. Exemplo:&nbsp;<em><strong>/empresas&nbsp;</strong></em>ao inv&#233;s de&nbsp;<em><strong>/empresa</strong></em>.&nbsp;</p><p>Um ponto importante que vale ressaltar &#233; que o m&#233;todo GET n&#227;o deve ser utilizado para efetuar altera&#231;&#245;es nos dados armazenados,&nbsp;como adicionar, atualizar ou deletar.&nbsp;Utilize os demais m&#233;todos para estas a&#231;&#245;es.&nbsp;</p><h4><strong>Padroniza&#231;&#227;o&nbsp;e tratamento&nbsp;de&nbsp;erros</strong></h4><p>Trate&nbsp;as mensagens para evitar o retorno de erros internos da aplica&#231;&#227;o ao usu&#225;rio final e procure sempre detalh&#225;-los e evitar mensagens gen&#233;ricas.&nbsp;</p><p>Por exemplo: voc&#234; est&#225; inserindo um novo usu&#225;rio em um banco de dados MySQL e&nbsp;foi&nbsp;retornado&nbsp;um erro espec&#237;fico do banco. Ao inv&#233;s de devolver a requisi&#231;&#227;o com a mensagem original do erro,&nbsp;trate-a&nbsp;para se tornar mais amig&#225;vel e evitar revelar informa&#231;&#245;es sens&#237;veis sobre o banco.&nbsp;</p><p>Quanto ao detalhamento do erro, seja o mais espec&#237;fico poss&#237;vel. No lugar de devolver uma mensagem simples como &#8220;N&#227;o foi poss&#237;vel cadastrar o usu&#225;rio&#8221;, deixe o motivo o mais claro poss&#237;vel, como &#8220;O e-mail informado j&#225; est&#225; cadastrado&#8221;.&nbsp;</p><p>Procure padronizar as mensagens de erro, utilizando sempre o mesmo idioma e linguagem. Ao responder &#224; chamada com&nbsp;um&nbsp;erro, utilize os cabe&#231;alhos HTTP para identificar o tipo do erro retornado.&nbsp;</p><p><strong>4xx- Client error</strong>: um erro cujo c&#243;digo inicia-se com o n&#250;mero&nbsp;<strong>4</strong>&nbsp;indica que o erro foi causado por alguma falha por parte do&nbsp;<em>client</em>. Dentre os principais, est&#227;o inclusos:&nbsp;</p><p><strong>400 Bad&nbsp;Request</strong>:&nbsp;o servidor n&#227;o entendeu o que o <em>client</em>&nbsp;est&#225; solicitando.&nbsp;</p><p><strong>401&nbsp;Unauthorized</strong>: o&nbsp;<em>client&nbsp;</em>n&#227;o est&#225; autenticado e n&#227;o tem autoriza&#231;&#227;o para acessar o&nbsp;<em>endpoint</em>.&nbsp;</p><p><strong>403&nbsp;Forbidden</strong>: o&nbsp;<em>client&nbsp;</em>est&#225; autenticado e a requisi&#231;&#227;o &#233; v&#225;lida, por&#233;m n&#227;o tem permiss&#227;o de acesso &#224;quele&nbsp;<em>endpoint</em>.&nbsp;</p><p><strong>404 Not&nbsp;Found</strong>: o&nbsp;<em>endpoint&nbsp;</em>n&#227;o foi localizado.</p><p><strong>5xx- Server error</strong>: um erro cujo c&#243;digo inicia-se com o n&#250;mero&nbsp;<strong>5</strong>&nbsp;indica que foi causado por alguma falha por parte do servidor. Dentre os principais, est&#227;o inclusos:&nbsp;</p><p><strong>500&nbsp;Internal&nbsp;Server Error</strong>: o servidor n&#227;o conseguiu lidar com o erro.&nbsp;</p><p><strong>503 Service&nbsp;Unavailable</strong>: o servidor est&#225; indispon&#237;vel para responder a requisi&#231;&#227;o, onde a causa mais comum &#233; sobrecarga.&nbsp;</p><p><strong>504 Gateway Timeout</strong>: o tempo de resposta expirou e o servidor n&#227;o conseguiu responder a tempo.&nbsp;</p><h4><strong>Filtragem</strong></h4><p>Procure adicionar filtros nas chamadas&nbsp;a fim de&nbsp;reduzir a largura da banda de dados transportados, tempo de processamento e de resposta do&nbsp;servidor,&nbsp;assim&nbsp;reduzindo custos desnecess&#225;rios&nbsp;e contribuindo com a disponibilidade do servi&#231;o.&nbsp;</p><p>Procure&nbsp;tamb&#233;m&nbsp;utilizar sub recursos para as rela&#231;&#245;es durante as consultas e filtros. Por exemplo: para resgatar os empregados de uma determinada empresa, construa um&nbsp;<em>endpoint&nbsp;</em>semelhante a:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AdAR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffe65635-96f5-42cf-92ae-6fdd5ad69451_1287x348.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AdAR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffe65635-96f5-42cf-92ae-6fdd5ad69451_1287x348.png 424w, https://substackcdn.com/image/fetch/$s_!AdAR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffe65635-96f5-42cf-92ae-6fdd5ad69451_1287x348.png 848w, https://substackcdn.com/image/fetch/$s_!AdAR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffe65635-96f5-42cf-92ae-6fdd5ad69451_1287x348.png 1272w, https://substackcdn.com/image/fetch/$s_!AdAR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffe65635-96f5-42cf-92ae-6fdd5ad69451_1287x348.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AdAR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffe65635-96f5-42cf-92ae-6fdd5ad69451_1287x348.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ffe65635-96f5-42cf-92ae-6fdd5ad69451_1287x348.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!AdAR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffe65635-96f5-42cf-92ae-6fdd5ad69451_1287x348.png 424w, https://substackcdn.com/image/fetch/$s_!AdAR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffe65635-96f5-42cf-92ae-6fdd5ad69451_1287x348.png 848w, https://substackcdn.com/image/fetch/$s_!AdAR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffe65635-96f5-42cf-92ae-6fdd5ad69451_1287x348.png 1272w, https://substackcdn.com/image/fetch/$s_!AdAR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffe65635-96f5-42cf-92ae-6fdd5ad69451_1287x348.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h4><strong>Seguran&#231;a</strong></h4><p>Utilize um sistema de autentica&#231;&#227;o para restringir o acesso &#224; API, seja por meio de usu&#225;rios autenticados por um token criptografado ou qualquer outra forma considerada segura.&nbsp;</p><p>Uma camada a mais de seguran&#231;a &#233; a configura&#231;&#227;o do CORS (<em>Cross-Origin&nbsp;Resource&nbsp;Sharing</em>) para evitar&nbsp;que&nbsp;URLs n&#227;o autorizados fa&#231;am requisi&#231;&#227;o &#224; API.&nbsp;</p><p>Fa&#231;a valida&#231;&#227;o e tratamento nos&nbsp;<em>inputs</em>, para evitar a inje&#231;&#227;o de&nbsp;<em>scripts&nbsp;</em>na aplica&#231;&#227;o que possam comprometer&nbsp;sua integridade.&nbsp;</p><h4><strong>Conclus&#227;o</strong></h4><p>Suas APIs tem mais chances de cumprirem a miss&#227;o e deixar seus clientes satisfeitos se voc&#234; aplicar cuidados simples, como os descritos acima.&nbsp;&nbsp;</p><p>Boas pr&#225;ticas como estas podem ser uma parte do que transformar&#225;&nbsp;a forma como as empresas enxergam&nbsp;voc&#234;, de um programador comum, a&nbsp;algu&#233;m que se preocupa com&nbsp;uma entrega de qualidade.&nbsp;</p><div><hr></div><p><strong>Quer conversar sobre DX e APIs? <a href="https://calendly.com/api-pedro/assessment-api-playbook">Clique aqui</a> e marque uma reuni&#227;o.</strong></p><p>Este artigo foi escrito por Henry Kimura e publicado originalmente em <a href="/api-playbook/boas-praticas-desenvolvimento-apis-rest/">Prensa.li</a>.</p>]]></content:encoded></item><item><title><![CDATA[Descubra a importância da criação de SDKs]]></title><description><![CDATA[Se voc&#234; trabalha na &#225;rea de tecnologia provavelmente j&#225; ouviu falar do termo SDK, especialmente na hora de discutir sobre produtos e servi&#231;os com a equipe de desenvolvimento de software.]]></description><link>https://www.apiplaybook.com/p/descubra-importancia-da-criacao-de-sdks</link><guid isPermaLink="false">https://www.apiplaybook.com/p/descubra-importancia-da-criacao-de-sdks</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Tue, 25 Aug 2020 15:24:24 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/81af3e87-0391-4d81-9ff4-2051352a41cf_2000x2000.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wrdY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba21b8d4-86d3-4996-9b9a-30d633536c6b_2000x2000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wrdY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba21b8d4-86d3-4996-9b9a-30d633536c6b_2000x2000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wrdY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba21b8d4-86d3-4996-9b9a-30d633536c6b_2000x2000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wrdY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba21b8d4-86d3-4996-9b9a-30d633536c6b_2000x2000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wrdY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba21b8d4-86d3-4996-9b9a-30d633536c6b_2000x2000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wrdY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba21b8d4-86d3-4996-9b9a-30d633536c6b_2000x2000.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba21b8d4-86d3-4996-9b9a-30d633536c6b_2000x2000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Descubra a import&#226;ncia da cria&#231;&#227;o de SDKs&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Descubra a import&#226;ncia da cria&#231;&#227;o de SDKs" title="Descubra a import&#226;ncia da cria&#231;&#227;o de SDKs" srcset="https://substackcdn.com/image/fetch/$s_!wrdY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba21b8d4-86d3-4996-9b9a-30d633536c6b_2000x2000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wrdY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba21b8d4-86d3-4996-9b9a-30d633536c6b_2000x2000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wrdY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba21b8d4-86d3-4996-9b9a-30d633536c6b_2000x2000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wrdY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba21b8d4-86d3-4996-9b9a-30d633536c6b_2000x2000.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">None</figcaption></figure></div><p>Se voc&#234; trabalha na &#225;rea de tecnologia provavelmente j&#225; ouviu falar do termo SDK, especialmente na hora de discutir sobre produtos e servi&#231;os com a equipe de desenvolvimento de software. No entanto, voc&#234; sabe exatamente o que &#233; e qu&#227;o importante &#233; um SDK?</p><p>A maioria dos aplicativos m&#243;veis faz uso de APIs (interfaces de programa&#231;&#227;o de aplicativos) para aprimorar os recursos do aplicativo, adicionar recursos exclusivos ao aplicativo e melhorar a padroniza&#231;&#227;o do aplicativo.</p><p>Sem eles, os desenvolvedores achariam um desafio implantar aplicativos de alto desempenho com recursos limitados. Mas outra tecnologia utilizada para esse mesmo fim &#233; o SDK.</p><p><strong>Afinal o que &#233; um SDK?</strong></p><p>Trata-se de uma abrevia&#231;&#227;o para&nbsp;Software Developer Kit, ou seja, um&nbsp;Kit de Desenvolvimento de Software. Ele deve incluir todas as informa&#231;&#245;es e ferramentas necess&#225;rias para a cria&#231;&#227;o de uma aplica&#231;&#227;o espec&#237;fica.</p><p>O ideal &#233; que SDKs contenham documenta&#231;&#227;o relevante, bibliotecas, exemplos de c&#243;digos, explica&#231;&#227;o dos processos, guias para desenvolvedores usarem e integrarem em seus pr&#243;prios aplicativos. Todos esses recursos visam uma redu&#231;&#227;o da complexidades do desenvolvimento de programas e aplicativos.</p><p>Logo um bom SDK:</p><ul><li><p>&#201; f&#225;cil de usar por outros desenvolvedores;</p></li><li><p>Apresenta documenta&#231;&#227;o completa;</p></li><li><p>Possui funcionalidades que agreguem valor;</p></li><li><p>N&#227;o afeta negativamente o consumo de CPU, bateria ou dados de um dispositivo m&#243;vel.</p></li></ul><p><strong>E a rela&#231;&#227;o de SDKs com APIs?</strong></p><p>Existe uma rela&#231;&#227;o muito importante entre SDKs e APIs. Eles garantem que a API fornecida seja implementada corretamente, reduzindo o esfor&#231;o do desenvolvedor&nbsp;quanto &#224; implementa&#231;&#227;o de APIs. H&#225; vezes em que o SDK oferece at&#233; recursos aprimorados em cima de APIs, o que representa uma melhora na User Experience.</p><p>Al&#233;m disso SDKs auxiliam em uma atualiza&#231;&#227;o mais f&#225;cil e no manuseio de depreca&#231;&#245;es para determinadas APIs de n&#237;vel inferior.</p><p>Os m&#233;todos, sistemas e integra&#231;&#245;es da API n&#227;o est&#227;o somente presentes no SDK, como tamb&#233;m est&#227;o explicados e demonstrados &#8212; dessa maneira, o SDK consegue oferecer n&#227;o s&#243; um conjunto de ferramentas para cria&#231;&#227;o, mas tamb&#233;m um canal de comunica&#231;&#227;o direto, customiz&#225;vel e gerido pelo provedor da API.</p><h3><strong>Geradores de SDKs</strong></h3><p>Mesmo que n&#227;o seja obrigat&#243;ria a associa&#231;&#227;o entre APIs e SDKs, estes podem ser muito &#250;teis&nbsp;por conta de suas bibliotecas, estruturas, documenta&#231;&#227;o e diretrizes, oferecendo melhor suporte &#224;s APIs.</p><p>Pensando na quest&#227;o da experi&#234;ncia do usu&#225;rio final, os SDKs s&#227;o grandes pontos de contato com as pessoas, o que significa que desenvolver um SDK adequado pode gerar um impacto positivo quanto ao sucesso de uma API.</p><p>A quest&#227;o envolvendo SDKs criados manualmente &#233; o tempo e esfor&#231;o necess&#225;rio por parte do time de desenvolvimento. Uma solu&#231;&#227;o para isso &#233; gerar automaticamente SDKs tendo como base a de uma especifica&#231;&#227;o de API.</p><p><strong>Como gerar automaticamente um SDK</strong></p><p>Geradores de c&#243;digo viabilizam a gera&#231;&#227;o autom&#225;tica de SDKs. A ideia &#233; utilizar uma Especifica&#231;&#227;o de API como fonte para derivar SDKs funcionais mais rapidamente.</p><p>Um exemplo &#233; o <strong>APIMatic CodeGen Engine</strong>, que aceita especifica&#231;&#245;es de APIs em diferentes formatos como Swagger / OpenAPI, RAML e API Blueprint, oferecendo assim SDKs funcionais e completos, contendo:</p><ul><li><p>Bibliotecas cliente;</p></li><li><p>Amostras de c&#243;digo din&#226;mico;</p></li><li><p>Documenta&#231;&#227;o;</p></li><li><p>Guias de primeiros passos.</p></li></ul><p><strong>Mas ser&#225; que a gera&#231;&#227;o autom&#225;tica de SDK &#233; para todos?</strong></p><p>Os SDKs ajudam no aumento da ado&#231;&#227;o de APIs, possibilitando que desenvolvedores, de diferentes plataformas ou linguagens consigam iniciar o uso da API rapidamente. Poder contar com um gerador de SDK facilita a integra&#231;&#227;o especialmente quando o time &#233; reduzido e n&#227;o existe a oportunidade de produzir o seu pr&#243;prio SDK.</p><p>Apesar dos custos reduzidos e de ferramentas de gera&#231;&#227;o de c&#243;digo serem um boa solu&#231;&#227;o se voc&#234; precisa de SDKs para suas APIs, &#233; necess&#225;rio analisar o cen&#225;rio, para concluir se &#233; mais sensato escrever SDKs manualmente ou mesmo uma combina&#231;&#227;o de ambos.</p><p>Por exemplo, quando voc&#234; planeja inserir uma alguma l&#243;gica espec&#237;fica de neg&#243;cio em seus SDKs a fim de facilitar o design da API ou para para explorar o processamento do lado do cliente e otimizar a escalabilidade da API.</p><p>De certa forma, &#233; poss&#237;vel contornar isso a partir de uma abstra&#231;&#227;o HTTP e ganchos de solicita&#231;&#227;o antes e depois no SDK, possibilitando que os wrappers sejam gravados sobre o c&#243;digo gerado. O mais adequado, no fim das contas &#233; que o provedor da API decidase determinadas medidas s&#227;o suficientes para seu caso de uso espec&#237;fico.</p><h3><strong>O mercado de Mobile SDK</strong></h3><p>Por meio de SDKs desenvolvedores conseguem integrar servi&#231;os externos em seus aplicativos com maior facilidade, o que representa uma economia significativa de tempo e dinheiro em um projeto. Logo, ao usar SDKs devs tem em m&#227;os atalhos de programa&#231;&#227;o, j&#225; que n&#227;o precisam se preocupar com funcionalidades que est&#227;o prontas e foram criadas por terceiros.</p><p>Atualmente o mercado de SDKs apresenta variadas oportunidades, sendo f&#225;cil encontrar um bom devkit para as fun&#231;&#245;es necess&#225;rias de determinado aplicativo. Alguns exemplos existentes s&#227;o de Crash Reporting (relat&#243;rio de bugs), de Engagement (reten&#231;&#227;o e engajamento de usu&#225;rios) e de Advertising (aux&#237;lio financeiro com exibi&#231;&#227;o de an&#250;ncios).&nbsp;</p><p>Dentre os existentes o SDK do Facebook &#233; um dos mais utilizados. Ele fornece a maneira f&#225;cil de acompanhar o desempenho dos an&#250;ncios de aplicativos, implementar o compartilhamento na rede, permitir que as pessoas acessem um aplicativo com o Facebook, criar bots e integrar outras funcionalidades.</p><p>Entre outras ferramentas, esse SDK prov&#234; dados an&#244;nimas do p&#250;blico sobre as pessoas que interagem com o aplicativo. O Facebook tamb&#233;m cont&#233;m cinco SDKs de componentes que podem ser conectados individualmente.</p><p>Outra SDK amplamente utilizada, no caso de dispositivos m&#243;veis Android &#233; o SDK de Google Analytics. Ele fornece dados sobre uso de aplicativos, o envolvimento do usu&#225;rio e a atribui&#231;&#227;o entre redes. &#201; integrado nativamente ao Firebase, a plataforma de desenvolvedores de aplicativos do Google e fornece relat&#243;rios ilimitados para at&#233; 500 eventos distintos.</p><h3><strong>Benef&#237;cios do SDK no desenvolvimento e uso de aplica&#231;&#245;es</strong></h3><p>Se voc&#234; est&#225; pensando em integrar um SDK ao um aplicativo, vale mencionar alguns impactos positivos no seu neg&#243;cio</p><ul><li><p><strong>Integra&#231;&#227;o simplificada com menos custos</strong></p></li></ul><blockquote><p>Atrav&#233;s de funcionalidade j&#225; definidas do SDK, o processo de integra&#231;&#227;o se torna mais simples. Al&#233;m disso, os SDKs proporcionam todo o suporte e instru&#231;&#245;es necess&#225;rias para que sua equipe de desenvolvimento possa integr&#225;-los sem grandes complica&#231;&#245;es.&nbsp;</p></blockquote><ul><li><p><strong>Maior confiabilidade e seguran&#231;a</strong></p></li></ul><blockquote><p>Os SDKs permitem que o desenvolvedor deixe as features de seguran&#231;a nas m&#227;os de empresas com experi&#234;ncia e conhecimento consolidado no assunto. Ainda sim, &#233; preciso pesquisar muito bem a respeito da reputa&#231;&#227;o da empresa desenvolvedora e questionar sobre a estabilidade e os n&#237;veis de seguran&#231;a do SDK desejado.</p></blockquote><ul><li><p><strong>Produtos lan&#231;ados em menos tempo</strong></p></li></ul><blockquote><p>A integra&#231;&#227;o com SDKs permite que as empresas fa&#231;am uso de funcionalidades desenvolvidas por terceiros e por isso n&#227;o precisam lidar com processos muito complexos. A baixa complexidade e burocracia acaba interferindo positivamente no tempo de lan&#231;amento de uma aplica&#231;&#227;o.</p></blockquote><h3><strong>Alguns cuidados</strong></h3><p>Como voc&#234; pode ver, integrar um SDK a um aplicativo pode trazer vantagens aos neg&#243;cios, por&#233;m &#233; importante ter em mente o conhecimento aprofundado dos aspectos t&#233;cnicos de tais kits antes de adicion&#225;-los a um app.&nbsp;</p><p>A seguir alguns dos crit&#233;rios que os desenvolvedores precisam ficar atentos:</p><p><strong>1. Compatibilidade</strong></p><p>&#201; importante sempre verificar a compatibilidade do seu SDK com a arquitetura mais recentes do sistema operacional. Por isso, acompanhe as diretrizes impostas pelas vers&#245;es mais novas do SO&nbsp;e teste seus SDKs.</p><p>Quando se est&#225; criando um SDK pela primeira vez, voc&#234; deve definir uma vers&#227;o base do sistema operacional compat&#237;vel com o SDK e verificar se as futuras vers&#245;es do SDK conseguir&#227;o dar suporte a primeira vers&#227;o com a qual voc&#234; come&#231;ou.</p><p><strong>2. Recursos</strong></p><p>Na cria&#231;&#227;o de SDKs, especialmente os voltados para mobiles, o desenvolvedor precisa ter em mente quais recursos seu SDK ir&#225; utilizar/consumir. Ao atender aos requisitos, um SDK deve fazer isso mantendo os recursos m&#237;nimos e fornecendo a funcionalidade m&#225;xima.</p><p>Para isso, os seguintes fatores apresentam papel fundamental:</p><ul><li><p><strong>Bateria:</strong> Procure evitar a&#231;&#245;es que esgotem a bateria do usu&#225;rio final tais quais pesquisa persistente de rede, processamento intensivo em segundo plano ou solicita&#231;&#227;o frequente de atualiza&#231;&#245;es de localiza&#231;&#227;o. Por isso, preste aten&#231;&#227;o ao estado de energia do dispositivo, por exemplo, verificando se dispositivo est&#225; no modo de baixa. Opte por usar instrumentos como &#8220;Diagn&#243;stico de energia&#8221; para verificar o consumo da bateria.</p></li><li><p><strong>Mem&#243;ria: </strong>o SDK deve obter aloca&#231;&#245;es quando necess&#225;rio, mas liberar mem&#243;ria ap&#243;s a conclus&#227;o da tarefa. Um vazamento de mem&#243;ria no SDK normalmente recebe feedback negativo. Logo, execute instrumentos para aloca&#231;&#227;o e vazamentos de mem&#243;ria e teste regularmente.</p></li><li><p><strong>Desempenho</strong>: enviar um SDK para desenvolvedores sem antes realizar uma verifica&#231;&#227;o de desempenho acarreta em risco. Execute testes de desempenho e testes de unidade oportunos, tendo como meta um mobile SDK que n&#227;o afete o aplicativo host durante uso do seu SDK.</p></li><li><p><strong>Uso da rede: </strong>&#233; importante que as solicita&#231;&#245;es sejam regradas, afinal de contas, nem todos os usu&#225;rios finais possuem planos de dados ilimitados e tamb&#233;m n&#227;o h&#225; garantia sobre a qualidade da rede.</p></li><li><p><strong>Tamanho do kit: </strong>O tamanho de um SDK n&#227;o &#233; se resume ao tamanho do arquivo .aar ou .framework. Para chegar a uma estimativa mais realista, &#233; necess&#225;rio comparar o tamanho do arquivo de aplicativos de host de amostra .apk ou .ipa antes e depois de integrar o SDK. Al&#233;m disso, outros fatores devem ser levados em conta como arquiteturas necess&#225;rias e depend&#234;ncias externas.</p></li></ul><h3><strong>Melhores Pr&#225;ticas para criar um SDK</strong></h3><p>Com o pensamento de melhorar a &#225;rea de atua&#231;&#227;o do desenvolvedor, quais s&#227;o as melhores pr&#225;ticas para a cria&#231;&#227;o de uma SDK?</p><ul><li><p><strong>Simplicidade</strong></p></li></ul><p>Um SDK somente tem utilidade quando o usu&#225;rio consegue compreend&#234;-lo. C&#243;digos muito complexos, implementa&#231;&#245;es arcaicas podem desestimular o uso de um SDK. Por isso, &#233; necess&#225;rio que voc&#234; garanta simplicidade em todas as etapas de cria&#231;&#227;o.</p><p>Umas das maneiras que evitar tais situa&#231;&#245;es &#233; priorizar em um primeiro momento classes e m&#233;todos comumente mais utilizados. Assim o SDK mostra as fun&#231;&#245;es utilizadas pelo usu&#225;rios sem ofuscar as outras op&#231;&#245;es com m&#233;todos/fun&#231;&#245;es que n&#227;o ser&#227;o usados</p><p>Simplicidade envolve forma e fun&#231;&#227;o. Ter isso em mente resultar&#225; em um SDK simplificado.</p><ul><li><p><strong>Mapeamento de Endpoints</strong></p></li></ul><p>SDKs podem ser comparados a roadmaps, pois ao criar um SDK voc&#234; est&#225; garantindo a corretude do seu mapeamento. Os endpoints devem ser mapeados no seu SDK assim como nas APIs. Isso facilitar&#225; a utiliza&#231;&#227;o do SDK</p><p>Realizar um mapeamento de endpoints implica em:</p><ol><li><p>Atualiza&#231;&#245;es cont&#237;nuas do SDK;</p></li><li><p>Fun&#231;&#245;es mapeadas e nomeadas adequadamente - o uso de nomea&#231;&#245;es consistentes al&#233;m de ajudar na utiliza&#231;&#227;o do SDK, torna a comunica&#231;&#227;o mais clara;</p></li><li><p>Novas funcionalidades imediatamente adicionadas e definidas junto ao SDK e a documenta&#231;&#227;o - no caso de classe ocultas, estas devem existir simplesmente por motivos de seguran&#231;a, n&#227;o porque foi esquecida.</p></li></ol><ul><li><p><strong>Usabilidade</strong></p></li></ul><p>A fun&#231;&#227;o de um SDK &#233; seu maior valor, logo assegurar sua usabilidade &#233; imprescind&#237;vel. Uma boa maneira de introduzir um SDK e todas as suas peculiaridades &#233; elaborando um modelo de Getting Started. Ele deve ser estruturado de forma que desenvolvedores j&#225; familiarizados com a linguagem e a fun&#231;&#227;o do c&#243;digo que representa o SDK, seja capaz de us&#225;-lo em at&#233; 10 minutos.</p><p>Outro ponto &#233; garantir que um bom volume de usu&#225;rios possa usar seu servi&#231;o, por exemplo, oferecendo o codebase da API em diferentes linguagens. Por&#233;m, &#233; preciso oferecer suporte correto de tais integra&#231;&#245;es.</p><p><strong>Dois grandes aspectos</strong></p><p>As vantagens de um SDK bem elaborado s&#227;o evidentes. Experi&#234;ncia aprimorada do desenvolvedor, integra&#231;&#227;o mais r&#225;pida e implementa&#231;&#227;o de novos recursos, o que acaba levando a uma maior ado&#231;&#227;o do seu produto.</p><p>Por isso, na hora de criar ou optar por um SDK para integrar a um aplicativo, por exemplo, &#233; preciso levar dois aspectos principais: dados e seguran&#231;a. Voc&#234; deve garantir que o SDK n&#227;o tenha apenas alta velocidade, mas tamb&#233;m proteja seus dados e informa&#231;&#245;es. No caso de Mobile SDK, este deve valorizar solu&#231;&#245;es m&#243;veis opt-in e baseadas em permiss&#227;o.</p><p><em>Como voc&#234; pode ver, um SDK representa uma s&#233;rie de vantagens, dentre elas redu&#231;&#227;o de&nbsp;esfor&#231;os quanto as APIs. Quer ler outros artigos relacionados ao Ecossistema de APIs e Transforma&#231;&#227;o Digital? Confira ent&#227;o o <strong><a href="https://prensa.li/api-playbook/">perfil&nbsp;da API Playbook</a> </strong>na&nbsp;plataforma Prensa.</em></p><div><hr></div><p><strong>Quer conversar sobre DX e APIs? <a href="https://calendly.com/api-pedro/assessment-api-playbook">Clique aqui</a> e marque uma reuni&#227;o.</strong></p><p>Este artigo foi escrito por David Ruiz e publicado originalmente em <a href="/api-playbook/descubra-importancia-da-criacao-de-sdks/">Prensa.li</a>.</p>]]></content:encoded></item><item><title><![CDATA[Das melhores práticas aos principais erros: aprenda como testar suas APIs]]></title><description><![CDATA[&#201; cada vez mais comum que sites e aplicativos incorporem servi&#231;os terceirizados para estender e criar novas funcionalidades, muitos deles atualmente envolvem APIs.]]></description><link>https://www.apiplaybook.com/p/das-melhores-praticas-aos-principais-erros-aprenda-como-testar-suas-apis</link><guid isPermaLink="false">https://www.apiplaybook.com/p/das-melhores-praticas-aos-principais-erros-aprenda-como-testar-suas-apis</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Tue, 21 Jul 2020 14:06:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/abe31b3b-fa66-4919-ba95-f27cb51daa7b_1152x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Si4h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f879aa-2014-4a0c-9d94-a982e8ec423d_1152x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Si4h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f879aa-2014-4a0c-9d94-a982e8ec423d_1152x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Si4h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f879aa-2014-4a0c-9d94-a982e8ec423d_1152x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Si4h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f879aa-2014-4a0c-9d94-a982e8ec423d_1152x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Si4h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f879aa-2014-4a0c-9d94-a982e8ec423d_1152x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Si4h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f879aa-2014-4a0c-9d94-a982e8ec423d_1152x768.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/40f879aa-2014-4a0c-9d94-a982e8ec423d_1152x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Das melhores pr&#225;ticas aos principais erros: aprenda como testar suas APIs&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Das melhores pr&#225;ticas aos principais erros: aprenda como testar suas APIs" title="Das melhores pr&#225;ticas aos principais erros: aprenda como testar suas APIs" srcset="https://substackcdn.com/image/fetch/$s_!Si4h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f879aa-2014-4a0c-9d94-a982e8ec423d_1152x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Si4h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f879aa-2014-4a0c-9d94-a982e8ec423d_1152x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Si4h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f879aa-2014-4a0c-9d94-a982e8ec423d_1152x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Si4h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f879aa-2014-4a0c-9d94-a982e8ec423d_1152x768.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">None</figcaption></figure></div><p>&#201; cada vez mais comum que sites e aplicativos incorporem servi&#231;os terceirizados para estender e criar novas funcionalidades, muitos deles atualmente envolvem APIs. Qualquer servi&#231;o terceirizado, especialmente os dependentes dessas interfaces, precisa ser testado e monitorado frequentemente.</p><p>H&#225; diversos fatores que podem ocasionar no mau funcionamento da API como:</p><ul><li><p>Pontos de extremidade da API com tempo de inatividade;</p></li><li><p>Bugs na integra&#231;&#227;o;</p></li><li><p>Lentid&#227;o para autenticar API;</p></li><li><p>API pouco robusta, ou seja, n&#227;o consegue lidar com picos nas solicita&#231;&#245;es de entrada ou nas respostas de sa&#237;da;</p></li><li><p>Lat&#234;ncia nas chamadas de API, adicionando e criando gargalos de desempenho.</p></li></ul><p>A maioria dos problemas acima apresenta uma solu&#231;&#227;o espec&#237;fica, entretanto melhor que buscar a solu&#231;&#227;o de um problema &#233; saber se prevenir contra ele. A maneira mais eficiente de evitar dores de cabe&#231;a com estes empecilhos &#233; por meio de <strong>testes e monitoramento das APIs.</strong></p><p>A realiza&#231;&#227;o desses testes &#233; um item priorit&#225;rio para que voc&#234; tenha sucesso com suas APIs. &#201; por meio deles que se verifica o funcionamento, o desempenho e a confiabilidade de diversos aplicativos e sistemas que utilizam suas APIs nas suas comunica&#231;&#245;es.&nbsp;</p><p>Al&#233;m disso, quando falamos de ciclo de vida de APIs &#233; importante ter mente tais testes. As APIs n&#227;o apenas agregam valor a um aplicativo, mas tamb&#233;m aceleram os processos de neg&#243;cios. Caso sua API n&#227;o funcione como planejado ou sua efic&#225;cia seja question&#225;vel, dificilmente outras empresas ou desenvolvedores se interessar&#227;o por ela, mesmo que ela seja gratuita.</p><p>No caso de um e-commerce, por exemplo, se API do gateway de pagamentos n&#227;o for capaz de verificar corretamente os dados do cart&#227;o do usu&#225;rio, se sua integra&#231;&#227;o com as op&#231;&#245;es de pagamento no site estiver quebrada, h&#225; risco de carrinhos abandonados, al&#233;m de uma p&#233;ssima User Experience. Se o site em quest&#227;o tamb&#233;m utilizar APIs para automatizar o gerenciamento de invent&#225;rio, um desempenho ruim da API pode gerar atrasos no atendimento de pedidos, afetando as receitas do site.</p><p>Provedores de APIs devem levar em considera&#231;&#227;o em sua estrat&#233;gia de monitoramento:</p><ul><li><p><strong>Disponibilidade: </strong>as APIs devem apresentar funcionamento a qualquer hora do dia, a falta de disponibilidade afeta o desempenho do aplicativo e o usu&#225;rio final.</p></li><li><p><strong>Seguran&#231;a</strong>: monitorar uma API significa testar a confiabilidade desta em suas transa&#231;&#245;es, a troca de dados de ser feita de forma segura e sem bots de extra&#231;&#227;o de dados.</p></li><li><p><strong>Benchmarking</strong>: os dados coletados pela ferramenta de monitoramento devem ser abrangentes e f&#225;ceis de analisar, para que assim eles ajudem a comparar o desempenho da sua API com a dos concorrentes&nbsp;</p></li><li><p><strong>SLA</strong>: A ferramenta de monitoramento alertar&#225; em casos de degrada&#231;&#227;o ou interrup&#231;&#227;o do desempenho da API.</p></li></ul><p>No caso de aplicativos que consomem v&#225;rias APIs &#233; vital manter uma const&#226;ncia nos monitoramentos. Cada integra&#231;&#227;o de API deve ser testada regularmente quanto aos gargalos de desempenho.</p><p>Com rela&#231;&#227;o aos testes de APIs, o desenvolvedor deve se manter atento &#224;s seguintes quest&#245;es:</p><ul><li><p>A API funciona como esperado?</p></li><li><p>Ela &#233; capaz de lidar com grande volume de chamadas?</p></li><li><p>Requisitos de seguran&#231;a como autentica&#231;&#227;o, permiss&#245;es de acesso e controle foram definidos pela API?</p></li><li><p>A API leva a resultados consistentes?</p></li><li><p>A interface &#233; f&#225;cil de usar? Ela se integra bem a outras plataformas e aplicativos?</p></li><li><p>A API disponibiliza documenta&#231;&#227;o adequada para a realiza&#231;&#227;o dos testes?</p></li></ul><h3><strong>Como funcionam os testes de API?</strong></h3><p>Testar uma API pode representar uma parte desafiadora dos testes de qualidade de software e de aplicativos, isso porque sua estrutura pode ser complexa e na maioria das vezes elas se baseiam em protocolos e padr&#245;es que comumente n&#227;o s&#227;o encontrados em outros tipos de teste.</p><p>De maneira resumida, testar uma API significa fazer solicita&#231;&#245;es para o endpoint desta e ent&#227;o validar sua resposta. Com isso &#233; poss&#237;vel determinar se a API atende ou n&#227;o as expectativas quanto a seguran&#231;a e funcionalidade por exemplo.</p><p>Ao trabalhar com testes de APIs h&#225; uma s&#233;rie de <strong>valida&#231;&#245;es que devem ser consideradas</strong>. Elas s&#227;o:</p><ul><li><p>Valida&#231;&#227;o do status retornado;</p></li><li><p>Valida&#231;&#227;o do header de retorno;</p></li><li><p>Valida&#231;&#227;o do body de response;</p></li><li><p>Valida&#231;&#227;o do comportamento da API quando o servi&#231;o est&#225; indispon&#237;vel;</p></li><li><p>Valida&#231;&#227;o do comportamento da API ao enviar um JSON/XML com estrutura incorreta.</p></li></ul><p>A seguir explicarei <strong>algumas das pr&#225;ticas mais eficientes quando o assunto &#233; teste de APIs:</strong></p><p><strong>1. Documente todos requisitos de teste</strong></p><p>Antes que voc&#234; crie casos de testes de APIs, &#233; preciso compreender os seguintes detalhes:</p><ul><li><p>objetivo da API</p></li><li><p>workflow do aplicativo</p></li><li><p>integra&#231;&#245;es suportadas pela API</p></li><li><p>recursos e fun&#231;&#245;es da API</p></li></ul><p>Saber documentar tais requisitos &#233; fundamental para a implementa&#231;&#227;o da API. Isso auxiliar&#225; a planejar melhor todo o processo de testes.</p><p><strong>2. D&#234;&nbsp;aten&#231;&#227;o &#224;s pequenas fun&#231;&#245;es da API</strong></p><p>Optar por escrever os casos de testes maiores, pulando os que s&#227;o menores n&#227;o &#233; a melhor t&#225;tica no caso de testes de APIs, j&#225; que atrav&#233;s das pequenas fun&#231;&#245;es de API &#233; poss&#237;vel escrever pequenos c&#243;digos de teste e assim analisar se o resultado foi ou n&#227;o o esperado.</p><p><strong>3. Execute testes automatizados</strong></p><p>Gradualmente testes manuais vem dando lugar aos automatizados, isso ocorre porque automatizar esse processo permite que a execu&#231;&#227;o das chamadas de API seja mais eficiente, clara e com mais foco. Por isso saiba investir em ferramentas que automatizem os testes de sua API.</p><p><strong>4. Realize agendamento di&#225;rio dos testes</strong></p><p>Uma &#243;tima medida ao longo do processo de testes &#233; agendar verifica&#231;&#245;es di&#225;rias. Portanto, os testes de API devem ser planejados com anteced&#234;ncia, sendo isso apenas poss&#237;vel gra&#231;as &#224;s ferramentas de teste de API automatizadas que v&#234;m com recursos como:</p><ul><li><p>Comandos de testes incorporados;</p></li><li><p>Ferramentas de gest&#227;o de testes<strong>;</strong></p></li><li><p>Ferramentas de rastreamento de defeitos;</p></li><li><p>Gera&#231;&#227;o de relat&#243;rios de log visuais.</p></li></ul><p>Diariamente, quando voc&#234; acessar o sistema poder&#225; ver os resultados de tais testes e comprovar se os resultados est&#227;o os n&#227;o dentro do esperado. Se os testes falharem basta verificar as sa&#237;das e validar os erros.&nbsp;</p><p><strong>5. Priorize a seguran&#231;a</strong></p><p>Testes de seguran&#231;a de uma API n&#227;o devem ser de forma alguma deixados de lado ou subestimados. O que acontece algumas vezes &#233; o caso de desenvolvedores ignorarem a implementa&#231;&#227;o de restri&#231;&#245;es de seguran&#231;a da interface. Quando bem executados e com regularidade os testes podem garantir que sua API seja o mais segura poss&#237;vel durante seu ciclo de vida.</p><p>Um erro em um &#250;nico aplicativo ir&#225; afetar apenas ele, no entanto quando o erro ocorre em uma API utilizada, isso afetar&#225; todos os aplicativos que dependem dela. Dessa forma inclua cen&#225;rios de seguran&#231;a em seus testes para averiguar quest&#245;es relacionadas &#224; autentica&#231;&#227;o necess&#225;ria e a import&#226;ncia de dados criptografados.</p><p>Ao inv&#233;s de realizar apenas testes funcionais execute aqueles que simulem diferentes tipos de ataques. &#201; importante que voc&#234; conhe&#231;a para quais tipos de<strong> <a href="http://prensa.li/api-playbook/conheca-algumas-dicas-e-aumente-seguranca-de-suas-apis/">problemas de seguran&#231;a nas APIs</a></strong> direcionar os testes.<strong> </strong>Uma &#243;tima fonte de informa&#231;&#227;o &#233; o <strong><a href="http://www.owasp.org/index.php/OWASP_WASC_Web_Hacking_Incidents_Database_Project">WHID</a> </strong>(Web Hacking Incident Database), que lista os tipos mais prov&#225;veis &#8203;&#8203;de viola&#231;&#227;o de seguran&#231;a. Eles s&#227;o:</p><ul><li><p>Inje&#231;&#227;o de SQL;</p></li><li><p>Scripts entre sites;</p></li><li><p>Nega&#231;&#227;o de servi&#231;o;</p></li><li><p>Localiza&#231;&#227;o previs&#237;vel de recursos;</p></li><li><p>Divulga&#231;&#227;o n&#227;o intencional de informa&#231;&#245;es.</p></li></ul><h3><strong>Erros de teste de API que voc&#234; deve passar longe</strong></h3><p>&#201; preciso cuidado no momento de testar as API, afinal de contas nenhum desenvolvedor quer que todo seu trabalho duro e o uso de recursos dispon&#237;veis sejam desperdi&#231;ados pela falta de testes ou mesmo pela sua m&#225; condu&#231;&#227;o.</p><p>Agora que voc&#234; conhece algumas das melhores pr&#225;ticas relacionadas aos testes de APIs, vale destacar tamb&#233;m os principais erros cometidos nessa hora.</p><p><strong>1. Considerar o teste de API uma a&#231;&#227;o aut&#244;noma.</strong></p><p>A integra&#231;&#227;o de APIs a sistemas e aplicativos &#233; capaz de agregar valor ao neg&#243;cios e acelerar diversos processos do setor de TI. Logo p&#244;r em pr&#225;tica um teste de API sem levar em conta como a interface pode se comportar no ecossistema &#233; in&#250;til. Os erros das APIs n&#227;o possuem as mesmas causas, logo o ambiente na qual elas s&#227;o implementadas tem um importante papel a desempenhar.</p><p>O ideal &#233; que todos os times envolvidos na API em quest&#227;o sejam notificados sobre os resultados dos testes. Se voc&#234; como desenvolvedor, por exemplo, testar a API por conta pr&#243;pria e n&#227;o comunicar ao restante da equipe os resultados, h&#225; chances de futuras falhas na API.</p><p><strong>2. Associar o bom desempenho do aplicativo a qualidade da API</strong></p><p>N&#227;o h&#225; nada de errado em uma API ser integrada ao servidor back-end de um aplicativo m&#243;vel com facilidade, na verdade isso &#233; algo muito bom. Entretanto, isso pode transmitir um sentimento de falsa confian&#231;a, j&#225; que o bom desempenho do aplicativo n&#227;o descarta a chance de erros b&#225;sicos na API subjacente. O funcionamento do aplicativo do usu&#225;rio final n&#227;o deve se tornar o fator determinante da qualidade de uma API. Existe sim a possibilidade de futuras falhas na interface, levando a uma s&#233;rie de verifica&#231;&#245;es em todos os elementos da cadeia de chamadas.&nbsp;</p><p><strong>3. Esquecer de verificar a escalabilidade</strong></p><p>Conforme ocorre um aumento da base de usu&#225;rios da API tamb&#233;m se faz necess&#225;rio um aumento da pr&#243;pria API. A partir da&#237; &#233; preciso que voc&#234; coloque a verifica&#231;&#227;o de escalabilidade dentro dos seus testes regulares, evitando as possibilidades de sobrecarga do usu&#225;rio, juntamente com problemas financeiros e legais. Al&#233;m de confirmar a escalabilidade adequada da sua API, estabele&#231;a um mecanismo de<a href="http://prensa.li/api-playbook/por-que-precisamos-falar-mais-de-governanca-de-apis/"> Governan&#231;a de API.</a></p><p><strong>4. Ignorar falhas pouco frequentes</strong></p><p>&#201; esperado funcionamento constante da API e n&#227;o apenas a maior parte do tempo, ou seja, falhas pouco frequentes n&#227;o devem passar batido. Ela ainda sim afetam o desempenho da API. N&#227;o &#233; incomum que problemas intermitentes sejam deixados de lados por desenvolvedores, o que &#233; explicado por um simples motivo: a incomoda verifica&#231;&#227;o de todo o log de tr&#225;fego da API.</p><p>O que voc&#234; desenvolvedor precisa considerar &#233; que problemas pequenos podem aumentar com o tempo e afetar os usu&#225;rios finais da API. Por exemplo, um problema ligado a usabilidade, mesmo que pequeno, n&#227;o deve ser ignorado, muito menos encoberto pelo provedor da API. Se a frequ&#234;ncia do problema aumentar com o tempo a depura&#231;&#227;o da interface tamb&#233;m ser&#225; mais complexa.</p><h3><strong>Como posso testar minhas APIs?</strong></h3><p>Existem diversas ferramentas dispon&#237;veis no mercado que auxiliam na realiza&#231;&#227;o dos testes de APIs. &#201; indicado que no momento de escolha da ferramenta voc&#234; procure por uma que admita configurar de forma simples os par&#226;metros do header, o m&#233;todo de request e o body da sua requisi&#231;&#227;o.</p><p>Neste artigo irei focar em duas ferramentas muito utilizadas: <a href="http://www.postman.com/">Postman </a>e <a href="http://www.soapui.org/">SoapUI</a>.</p><p><strong>1. Postman</strong></p><p>Originalmente o Postman era um plugin do browser Chrome, agora ele possui vers&#245;es nativas para Mac e Windows. Al&#233;m dos testes, a ferramenta tamb&#233;m ajuda na cria&#231;&#227;o, no compartilhamento e na documenta&#231;&#227;o de APIs. Tudo isso permitindo que o usu&#225;rio crie e salve suas solicita&#231;&#245;es HTTP e HTTPs simples e complexas.</p><p>Algumas de suas caracter&#237;sticas:</p><ul><li><p>Permite testes automatizados;</p></li><li><p>Facilita testes explorat&#243;rios;</p></li><li><p>Possui interface rica;</p></li><li><p>Ferramenta gratuita, mas possui vers&#227;o paga para sincroniza&#231;&#227;o de c&#243;digo entre equipes;</p></li><li><p>Funciona em qualquer plataforma: Windows, MacOS e Linux;</p></li><li><p>Converte JSON em v&#225;rias linguagens (ex: Python, PHP, RUBY);</p></li><li><p>N&#227;o obriga a equipe de testes a aprender uma nova linguagem de programa&#231;&#227;o.</p></li></ul><p>Um exemplo de empresa que utiliza essa ferramenta para o teste de suas APIs &#233; a <a href="http://developercielo.github.io/tutorial/postman">Cielo</a>.</p><p><strong>2. SoapUI</strong></p><p>A SoapUI &#233; ferramenta open source da SmartBear. rata-se de uma solu&#231;&#227;o voltada para o consumo e testes funcional de Web Services, APIs REST e SOAP.</p><p>Dentre as suas principais caracter&#237;sticas, vale destacar as seguintes:</p><ul><li><p>Cria&#231;&#227;o de testes orientados a dados (data driven tests);</p></li><li><p>Elabora&#231;&#227;o de cen&#225;rios complexos que suportam testes ass&#237;ncronos;</p></li><li><p>Reutiliza&#231;&#227;o de scripts;</p></li><li><p>Gest&#227;o de m&#250;ltiplo endpoints;</p></li><li><p>Realiza&#231;&#227;o de testes funcionais, de performance, de seguran&#231;a e de carga;</p></li><li><p>Execu&#231;&#227;o de diversos testes em paralelo;</p></li><li><p>Gest&#227;o de ambientes de teste;</p></li><li><p>Vers&#227;o gratuita e paga.</p></li></ul><p>Apple, Microsoft e Mastercard s&#227;o exemplos de empresas que fazem uso dessa ferramenta.</p><h3><strong>Nunca subestime testes de APIs</strong></h3><p>As APIs s&#227;o essenciais para criar uma experi&#234;ncia eficaz e conectada aos clientes e muitas empresas al&#233;m das de tecnologia j&#225; perceberam o real valor de uma API. Em uma &#233;poca de crescimento constante de aplicativos e plataformas interconectadas a realiza&#231;&#227;o de testes em APIs se tornou uma necessidade.</p><p>A sua pr&#225;tica pode at&#233; ser desafiadora dada a estrutura complexa das APIs, mas eles garantem o controle de qualidade da interface, revelando bugs, inconsist&#234;ncias e desvios do comportamento esperado do aplicativo. O mais indicado &#233; que os testes sejam executados no in&#237;cio do processo de desenvolvimento. Quanto mais cedo um problema for detectado, mais r&#225;pido e barato ser&#225; corrigi-lo. Em 2002 a corre&#231;&#227;o de bugs em softwares custou &#224; economia dos EUA aproximadamente US$ 59,5 bilh&#245;es. J&#225; em 2016, esse valor saltou para US$ 1,1 trilh&#227;o.</p><p>Uma dos principais benef&#237;cios da realiza&#231;&#227;o dos testes &#233; a rapidez com que eles podem fornecer uma imagem do status do produto no processo de desenvolvimento. Eles tamb&#233;m permitem que o desenvolvedor realize teste automatizados a baixo custo, por exemplo, novas startups que n&#227;o possuem inicialmente capacidade para arcar com grande n&#250;mero de recursos (tempo e pessoas) a fim de criar cobertura mais ampla.</p><p>Os testes de API tamb&#233;m auxiliam o desenvolvedor a localizar viola&#231;&#245;es que provavelmente seriam perdidas em outros tipos de testes, pois h&#225; o risco de o sistema ser tomado por solicita&#231;&#245;es parametrizadas, mas n&#227;o apenas isso. O desenvolvedor pode executar a&#231;&#245;es que n&#227;o s&#227;o expostas na interface do usu&#225;rio (UI), mesmo que seu back-end o ofere&#231;a suporte.</p><p>Uma vez que voc&#234; tenha uma API, esta provavelmente ser&#225; acessada por seus usu&#225;rios, o que pode deixar voc&#234; mais aberto a futuras viola&#231;&#245;es. Testar sua API adequadamente oferecer&#225; recursos al&#233;m dos usuais da UI.</p>]]></content:encoded></item><item><title><![CDATA[Conheça algumas dicas e aumente a segurança de suas APIs]]></title><description><![CDATA[O desenvolvimento e consumo de APIs torna-se cada vez mais constante, especialmente por parte de grandes organiza&#231;&#245;es, afinal a possibilidade de integra&#231;&#227;o de dados &#233; bem atrativa.]]></description><link>https://www.apiplaybook.com/p/conheca-algumas-dicas-e-aumente-seguranca-de-suas-apis</link><guid isPermaLink="false">https://www.apiplaybook.com/p/conheca-algumas-dicas-e-aumente-seguranca-de-suas-apis</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Tue, 12 May 2020 16:51:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/24245570-b11b-4b43-9ea7-a45be3202e33_1400x933.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9qRL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c605c31-554a-45d0-84ec-f81d0cdff401_1400x933.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9qRL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c605c31-554a-45d0-84ec-f81d0cdff401_1400x933.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9qRL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c605c31-554a-45d0-84ec-f81d0cdff401_1400x933.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9qRL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c605c31-554a-45d0-84ec-f81d0cdff401_1400x933.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9qRL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c605c31-554a-45d0-84ec-f81d0cdff401_1400x933.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9qRL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c605c31-554a-45d0-84ec-f81d0cdff401_1400x933.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c605c31-554a-45d0-84ec-f81d0cdff401_1400x933.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Conhe&#231;a algumas dicas e aumente a seguran&#231;a de suas APIs&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Conhe&#231;a algumas dicas e aumente a seguran&#231;a de suas APIs" title="Conhe&#231;a algumas dicas e aumente a seguran&#231;a de suas APIs" srcset="https://substackcdn.com/image/fetch/$s_!9qRL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c605c31-554a-45d0-84ec-f81d0cdff401_1400x933.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9qRL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c605c31-554a-45d0-84ec-f81d0cdff401_1400x933.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9qRL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c605c31-554a-45d0-84ec-f81d0cdff401_1400x933.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9qRL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c605c31-554a-45d0-84ec-f81d0cdff401_1400x933.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>O desenvolvimento e consumo de APIs torna-se cada vez mais constante, especialmente por parte de grandes organiza&#231;&#245;es, afinal a possibilidade de integra&#231;&#227;o de dados &#233; bem atrativa. Entretanto a prote&#231;&#227;o, seguran&#231;a e integridade das APIs ainda preocupam qualquer pessoa que trabalhe com elas, e n&#227;o &#233; para menos, j&#225; que um volume alt&#237;ssimo de dados sens&#237;veis trafegam por elas diariamente.</p><p><strong>Caso sua empresa tenha APIs, j&#225; parou para avaliar a seguran&#231;a delas?</strong></p><p>Existem alguns aspectos que podem guiar voc&#234; na melhora da seguran&#231;a de suas APIs, levando em conta a finalidade destas, sejam para realizar integra&#231;&#245;es internas ou integra&#231;&#245;es com aplica&#231;&#245;es de terceiros.</p><p>Vou comentar sobre 4 aspectos da sua API que mais precisam de aten&#231;&#227;o no momento de estabelecer uma pol&#237;tica de seguran&#231;a de APIs.</p><p>Os pontos em que voc&#234; precisa ficar atento s&#227;o:</p><h3><strong>Autentica&#231;&#227;o e autoriza&#231;&#227;o</strong></h3><p>Provavelmente esta seja a principal preocupa&#231;&#227;o quando estamos falando da seguran&#231;a de APIs, afinal ningu&#233;m gostaria de sofrer o roubo se suas credenciais.</p><p>Para garantIr o acesso o acesso a sua API, &#233; importante que voc&#234; implemente padr&#245;es de autentica&#231;&#227;o e autoriza&#231;&#227;o.</p><p>Vou comentar sobre alguns deles:</p><p><strong>OAuth2</strong></p><p>&#201; um protocolo que oferece acesso limitado a recursos de um website sem que os usu&#225;rios tenham que expor suas credenciais. O OAuth2 tem se firmado como uma das principais formas de autorizar acesso a determinado recurso, principalmente quando tal acesso deve ser concedido pelo pr&#243;prio usu&#225;rio. Grandes empresas como Google, Facebook, Twitter e LinkedIn j&#225; adotaram esse padr&#227;o de autentica&#231;&#227;o.</p><p><strong>OpenID Connect</strong></p><p>Este &#233; um protocolo de identidade simples e um padr&#227;o aberto. O OpenID Connect foi desenvolvido com base no protocolo OAuth 2 . A partir dele aplicativos de clientes dependem</p><p>da autentica&#231;&#227;o executada pelo OpenID Connect Provider (OP), a fim de verificar a identidade de um usu&#225;rio.</p><p><strong>App Token / JWT</strong></p><p>Trata-se de uma chave-de autentica&#231;&#227;o que identifica o seu cadastro. Ela &#233; necess&#225;ria para utilizar as APIs disponibilizadas no sistema. Nem preciso dizer o qu&#227;o importante &#233; a n&#227;o divulga&#231;&#227;o da sua chave de acesso, j&#225; que atrav&#233;s dela podem ser realizadas consultas de informa&#231;&#245;es, que voc&#234; prefere n&#227;o divulgar.</p><p>Um exemplo de token que voc&#234; pode utilizar &#233; o&nbsp;<strong>JWT (JSON Web Token)</strong>. Essa t&#233;cnica definida na&nbsp;<a href="https://tools.ietf.org/html/rfc7519">RFC 7519</a>&nbsp;garante a autentica&#231;&#227;o e autoriza&#231;&#227;o de uso de APIs de uma forma segura. Atualmente &#233; o padr&#227;o de seguran&#231;a mais usado para autenticar usu&#225;rios em APIs RESTful.</p><p>&#201; poss&#237;vel validar os dados contidos no JWT a qualquer instante, pois o token &#233; assinado digitalmente, sendo este formado por tr&#234;s se&#231;&#245;es: Header, Payload e Signature.</p><p>Preciso destacar que, independente do protocolo de autentica&#231;&#227;o/autoriza&#231;&#227;o que voc&#234; escolha, h&#225; m&#225;ximas que voc&#234; sempre deve seguir:&nbsp;<strong>nunca salvar tokens em plain-text e enviar senhas por e-mail.</strong></p><p><strong>Privacidade</strong></p><p>Termos como Man-in-the Middle, Data Scraping e Network Eavesdropping s&#227;o comuns para voc&#234;? Qualquer pessoa que lide de alguma forma com APIs precisa estar familiarizada com essas express&#245;es, j&#225; que se referem a ataques a privacidade de APIs, ou seja, eles podem revelar dados sens&#237;veis de seus usu&#225;rios.</p><p>Dessa forma, &#233; essencial que voc&#234; fique atento &#224;s informa&#231;&#245;es que trafegam por meio de APIs. Elas est&#227;o sendo disponibilizadas para as pessoas corretas?</p><p><strong>A melhor coisa a se fazer para mitigar os riscos &#233; o uso de SSL/TLS.</strong></p><p>O certificado SSL (Secure Sockets Layer) aumenta a seguran&#231;a digital, protegendo suas informa&#231;&#245;es por meio de comunica&#231;&#227;o criptografada entre a API e navegador. Tal tecnologia, apesar de eficaz, vem sendo continuamente substitu&#237;da pelo TLS (Transport Layer Security). Esse certificado de seguran&#231;a &#233; simples e barato de se adquirir, por isso n&#227;o h&#225; desculpas para n&#227;o utiliz&#225;-lo.</p><p><strong>Disponibilidade</strong></p><p>Monitorar a disponibilidade e o desempenho de sua API, pode auxiliar a detectar comportamentos maliciosos, o que seria um indicativo de&nbsp;<strong>ataques do tipo DoS</strong>&nbsp;(Denial Of Service), tamb&#233;m conhecido como ataque de nega&#231;&#227;o de servi&#231;o. Uma tentativa de sobrecarregar o servidor fazendo com que seus recursos fiquem indispon&#237;veis aos usu&#225;rios.</p><p>O que recomendo &#233; instrumentalizar o monitoramento do tr&#225;fego em sua API para identificar comportamentos indesejados e pausar poss&#237;veis amea&#231;as. Outro recurso &#233; o controle de rate limiting (ou throttling) que limita a quantidade de chamadas aceitas em um determinado per&#237;odo de tempo, podendo ser personalizado por app que est&#225; consumindo.</p><p>Al&#233;m disso, implementar uma camada de&nbsp;<strong>WAF (Web Application Firewall)</strong>&nbsp;para proteger o acesso &#224;s suas APIs. Este firewall age como uma barreira entre seu servi&#231;o baseado em web e o restante da internet, logo ele monitora, filtra e bloqueia automaticamente o tr&#225;fego de dados malicioso. Ele tamb&#233;m trabalha para impedir a exposi&#231;&#227;o n&#227;o autorizada de dados em um site ou aplicativos web. Ao utilizar um WAF voc&#234; estar&#225; menos vulner&#225;vel &#224; manipula&#231;&#227;o de conte&#250;do exibido (pixa&#231;&#227;o), ataques de inje&#231;&#227;o em bancos de dados do tipo SQL (Structured Query Language) e fraudes no acesso administrativo.</p><p><strong>Integridade</strong></p><p>Ataques como inje&#231;&#227;o de SQL, XML e JSON podem prejudicar e muito a integridade de uma API. o ideal &#233; que voc&#234; n&#227;o exponha nenhum recurso ou opera&#231;&#227;o a menos que seja realmente necess&#225;rio. A recomenda&#231;&#227;o pode parecer at&#233; mesmo &#243;bvia, por&#233;m ainda h&#225; empresas que utilizam t&#233;cnicas de gera&#231;&#227;o autom&#225;tica de APIs atrav&#233;s de geradores de c&#243;digo backend.</p><p><strong>Gerenciador de APIs (Gateway)</strong></p><p>O Gateway de API age como o principal ponto de controle do tr&#225;fego de sua API. Logo, ele atua como um filtro de entrada, direcionando os dados ao ponto mais adequado. Um bom Gateway pode autenticar o tr&#225;fego e controlar e analisar o uso das APIs.</p><p>O fato de um API Gateway ser capaz de coordenar e controlar v&#225;rios servi&#231;os n&#227;o o torna completamente imune a ataques, mas sua aplica&#231;&#227;o garante que o sistema como um todo n&#227;o ser&#225; afetado e sim apenas um servi&#231;o espec&#237;fico. Dessa forma, al&#233;m de diminuir os danos em caso de ataques, essa estrat&#233;gia auxilia os usu&#225;rios, j&#225; que as outras funcionalidades se mant&#233;m normais durante um ataque.</p><p>Resumindo, um Gateway possui 4 aplica&#231;&#245;es:</p><ol><li><p><strong>Filtro</strong>&nbsp;para o tr&#225;fego da integra&#231;&#227;o dos meios (mobile, web, cloud, entre outros)</p></li><li><p><strong>Porta de entrada &#250;nica</strong>&nbsp;para diversas APIs que voc&#234; queira expor</p></li><li><p><strong>Roteador</strong>&nbsp;de tr&#225;fego de APIs</p></li><li><p><strong>Mecanismos de seguran&#231;a</strong>&nbsp;como autentica&#231;&#227;o, log e controle de acesso aos usu&#225;rios e recursos</p></li></ol><p>Quando falamos de empresas que oferecem suporte ao gerenciamento de APIs h&#225; diversas op&#231;&#245;es dispon&#237;veis no mercado. Vale destacar empresas estrangeiras como&nbsp;<a href="https://konghq.com/kong/">KONG</a>,&nbsp;<a href="https://www.redhat.com/pt-br/technologies/jboss-middleware/3scale">Red Hat</a>&nbsp;e&nbsp;<a href="https://cloud.google.com/apigee/?hl=pt-br">Apigee</a>. Al&#233;m deles, temos um grande player nacional reconhecido internacionalmente pelo&nbsp;<strong>Gartner</strong>&nbsp;como&nbsp;<em>Vision&#225;ria</em>&nbsp;que &#233; a&nbsp;<strong><a href="https://sensedia.com/api-management-platform/">Sensedia</a></strong>, empresa de tecnologia especializada em todo o Ciclo de Vida de APIs e SOA (Service Oriented Architectures).</p>]]></content:encoded></item><item><title><![CDATA[API Management: aprenda a gerenciar suas APIs de forma prática e fácil]]></title><description><![CDATA[As APIs s&#227;o umas das grandes protagonistas da transforma&#231;&#227;o digital, j&#225; que s&#227;o respons&#225;veis por revolucionar a integra&#231;&#227;o de sistemas, ao mesmo tempo que auxiliam na comunica&#231;&#227;o entre diferentes tipos de plataformas eletr&#244;nicas.]]></description><link>https://www.apiplaybook.com/p/api-management-aprenda-a-gerenciar-suas-apis-de-forma-pratica-e-facil</link><guid isPermaLink="false">https://www.apiplaybook.com/p/api-management-aprenda-a-gerenciar-suas-apis-de-forma-pratica-e-facil</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Tue, 12 May 2020 16:45:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/bf1cde71-f377-4269-987d-1e824bd26532_1600x889.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q-kk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09aecbfc-5d73-4243-b721-d2b39aeb8cb2_1600x889.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q-kk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09aecbfc-5d73-4243-b721-d2b39aeb8cb2_1600x889.png 424w, https://substackcdn.com/image/fetch/$s_!q-kk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09aecbfc-5d73-4243-b721-d2b39aeb8cb2_1600x889.png 848w, https://substackcdn.com/image/fetch/$s_!q-kk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09aecbfc-5d73-4243-b721-d2b39aeb8cb2_1600x889.png 1272w, https://substackcdn.com/image/fetch/$s_!q-kk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09aecbfc-5d73-4243-b721-d2b39aeb8cb2_1600x889.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q-kk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09aecbfc-5d73-4243-b721-d2b39aeb8cb2_1600x889.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09aecbfc-5d73-4243-b721-d2b39aeb8cb2_1600x889.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;API Management: aprenda a gerenciar suas APIs de forma pr&#225;tica e f&#225;cil&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="API Management: aprenda a gerenciar suas APIs de forma pr&#225;tica e f&#225;cil" title="API Management: aprenda a gerenciar suas APIs de forma pr&#225;tica e f&#225;cil" srcset="https://substackcdn.com/image/fetch/$s_!q-kk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09aecbfc-5d73-4243-b721-d2b39aeb8cb2_1600x889.png 424w, https://substackcdn.com/image/fetch/$s_!q-kk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09aecbfc-5d73-4243-b721-d2b39aeb8cb2_1600x889.png 848w, https://substackcdn.com/image/fetch/$s_!q-kk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09aecbfc-5d73-4243-b721-d2b39aeb8cb2_1600x889.png 1272w, https://substackcdn.com/image/fetch/$s_!q-kk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09aecbfc-5d73-4243-b721-d2b39aeb8cb2_1600x889.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>As APIs s&#227;o umas das grandes protagonistas da transforma&#231;&#227;o digital, j&#225; que s&#227;o respons&#225;veis por revolucionar a integra&#231;&#227;o de sistemas, ao mesmo tempo que auxiliam na comunica&#231;&#227;o entre diferentes tipos de plataformas eletr&#244;nicas. Se voc&#234; j&#225; leu alguns dos meus artigos, j&#225; sabe do potencial gigantesco quando falo sobre APIs.</p><p>A presen&#231;a dessa tecnologia &#233; cada vez mais rotineira se voc&#234; levar em considera&#231;&#227;o a evolu&#231;&#227;o dos sistemas computacionais nos &#250;ltimos anos, a necessidade de integra&#231;&#227;o de empresas e a crescente busca por servi&#231;os oferecidos atrav&#233;s da internet. A combina&#231;&#227;o destes fatores e outros serviu de alavanque para que grandes empresas come&#231;assem a investir na integra&#231;&#227;o de interfaces usando APIs.</p><h3><strong>Como posso dar conta de v&#225;rias APIs?</strong></h3><p>O volume de APIs sendo utilizadas por empresas &#233; cada vez maior, j&#225; que tais empresas t&#234;m se tornado mais abertas em rela&#231;&#227;o aos seus dados e buscam com isso a expans&#227;o de seus produtos atrav&#233;s de uma rede de parceiros.</p><p>Logo &#233; preciso cuidado ao se trabalhar com a comunica&#231;&#227;o entre v&#225;rios sistemas, especialmente pela quest&#227;o de seguran&#231;a de dados.</p><p>N&#227;o h&#225; como negar a praticidade das APIs, mas ainda sim elas permitem a explora&#231;&#227;o de falhas por sujeitos mal intencionados. Isso acontece porque parte da documenta&#231;&#227;o que trafega pelas APIs &#233; aberta e pode fornecer pistas sobre como se d&#225; o funcionamento interno de algumas aplica&#231;&#245;es.</p><p>Outro ponto de aten&#231;&#227;o &#233; que implementa&#231;&#245;es pouco seguras de APIs s&#227;o alvos f&#225;ceis de hackers.</p><p>O gerenciamento de diversas APIs, no que concerne sua cria&#231;&#227;o e execu&#231;&#227;o, deve ser tamb&#233;m uma preocupa&#231;&#227;o. Por esse motivo, se apoiar em um API Manager &#233; vital para diminuir a exposi&#231;&#227;o dos sistemas da sua empresa. Eles tornam o processos mais simples e d&#227;o suporte &#224;s equipes de desenvolvedores.</p><h3><strong>O que &#233; um API Manager?</strong></h3><p>Um API Manager &#233; um software que implementa uma camada de gest&#227;o sobre um API Gateway, adicionando recursos para ajudar a gest&#227;o e visualiza&#231;&#227;o de dados. Alguns dos resultados s&#227;o gera&#231;&#227;o de estat&#237;sticas de uso de APIs e gerenciamento do ciclo de vida de APIs.</p><p>Al&#233;m de incluir a fun&#231;&#227;o Gateway, um API Manager oferece outras possibilidades para melhorar a gest&#227;o de suas APIs:</p><ul><li><p>Dashboards com Insights corporativos de APIs</p></li><li><p>Acompanhamento do ciclo de vida das APIs</p></li><li><p>Prototipa&#231;&#227;o de APIs</p></li><li><p>Monetiza&#231;&#227;o das APIs</p></li></ul><h3><strong>Ferramentas de gerenciamento de API</strong></h3><p>No momento dispomos de v&#225;rias ferramentas para a gest&#227;o de API no mercado, que ajudam a catalogar e fazer pesquisas sobre determinada API. Elas tamb&#233;m permitem que desenvolvedores de APIs verifiquem se por acaso h&#225; outra API com caracter&#237;sticas similares &#224;quela em desenvolvimento. Isso &#233; muito importante para poupar energia e recursos financeiros.</p><p>Ferramentas de gest&#227;o de APIs tamb&#233;m apresentam fun&#231;&#227;o de organizar, gerenciar o ciclo de vida de APIs, o que representa n&#227;o somente publica&#231;&#227;o e controle de todas as suas vers&#245;es, mas tamb&#233;m as migra&#231;&#245;es e fluxos de aprova&#231;&#227;o.</p><p>Al&#233;m disso, outras ferramentas oferecem monitoramento de seguran&#231;a, tr&#225;fego e performance, servindo como proxy de execu&#231;&#227;o de APIs. Algumas das empresas que oferecem essas ferramentas s&#227;o Apigee, IBM API Management, Microsoft Azure API Management, 3Scale, Kong (open-source e enterprise), Mulesoft, Software AG, 3Scale by RedHat e a nacional Sensedia.</p><p>Tais ferramentas s&#227;o capazes de centralizar suas APIs e permitir a cria&#231;&#227;o de procedimentos de automa&#231;&#227;o, build e release destas sem impacto para quem faz uso delas.</p><p>A possibilidade de controlar um ambiente a fim de garantir um bom desempenho, lat&#234;ncia baixa e escalabilidade para as APIs tamb&#233;m integram os benef&#237;cios do uso de uma plataforma de gest&#227;o de APIs.</p><p>Atrav&#233;s de uma plataforma de gerenciamento, voc&#234; tamb&#233;m poder&#225; disponibilizar as APIs em um portal, simplificando sua distribui&#231;&#227;o e consumo.</p><p><strong>Dentre os principais recursos de uma ferramenta de gerenciamento de APIs est&#227;o:</strong></p><ul><li><p>Controle de acesso as APIs</p></li><li><p>Prote&#231;&#227;o de APIs</p></li><li><p>Cria&#231;&#227;o e projeto de APIs</p></li><li><p>Suporte a modelos h&#237;bridos</p></li><li><p>Portal de desenvolvedores personaliz&#225;vel</p></li><li><p>Alta performance</p></li></ul><h3><strong>5 &#243;timos motivos para investir em uma plataforma de gest&#227;o de APIs</strong></h3><p>Vou apresentar a voc&#234; algumas das raz&#245;es que justificam a ado&#231;&#227;o de uma plataforma de gerenciamento de APIs:</p><p><strong>1. Plataforma Robusta</strong></p><p>As APIs conseguem realizar diferentes tipos de integra&#231;&#227;o de funcionalidades, mas ainda sim &#233; necess&#225;rio que o sistema sustente o elevado volume de requisi&#231;&#245;es e, principalmente, os registros das mesmas, facilitando o debugging e tamb&#233;m para constru&#231;&#227;o de dashboards para gest&#227;o.</p><p>Juntamente com o aumento das possibilidades das APIs h&#225; tamb&#233;m a complexidade desse processo. Assim &#233; importante contar com uma plataforma de gerenciamento para dar suporte &#224;s conex&#245;es</p><p><strong>2. Simplifica&#231;&#227;o de transa&#231;&#245;es</strong></p><p>APIs s&#227;o sin&#244;nimo de facilidade quando estamos falando sobre transa&#231;&#245;es de dados entre sistemas e com o apoio de uma plataforma de gerenciamento, &#233; poss&#237;vel assegurar cada vez mais integra&#231;&#245;es.</p><p><strong>3. Autonomia de equipe</strong></p><p>A equipe t&#233;cnica tamb&#233;m sai ganhando com o uso de um API Manager, j&#225; que passam a ter mais autonomia para alocar recursos, gerenciar transa&#231;&#245;es e acessar servi&#231;os. Ao dar autonomia para os times, &#233; poss&#237;vel implementar o conceito de Governan&#231;a Federada, onde a empresa determina padr&#245;es m&#237;nimos de implementa&#231;&#227;o, e ao mesmo tempo, o time possui autonomia de gest&#227;o e publica&#231;&#227;o desde que respeite os padr&#245;es estabelecidos.</p><p><strong>4. Formatos amig&#225;veis</strong></p><p>APIs permitem que servi&#231;os de aplicativos mais complexos sejam convertidos em formatos mais &#8220;amig&#225;veis&#8221; para desenvolvedores.</p><p>Normalmente, esse processo envolve o uso de um Gateway ou de SOA para converter automaticamente os dados de servi&#231;os baseados em SOAP em APIs RESTful.</p><p><strong>5. Melhor gest&#227;o dos desenvolvedores</strong></p><p>Na gest&#227;o de APIs voc&#234; deve lembrar da import&#226;ncia da concess&#227;o de recursos para que a equipe de desenvolvedores possam criar aplica&#231;&#245;es de valor. Nada melhor e mais eficiente que a capacita&#231;&#227;o da sua equipe atrav&#233;s de colabora&#231;&#227;o interativa e digital.</p><p>Uma boa medida &#233; a cria&#231;&#227;o de um portal que simplifique o registro de APIs e promova engajamento da equipe. Isso ir&#225; facilitar o compartilhamento de c&#243;digos e amostras assim como a realiza&#231;&#227;o de f&#243;runs de discuss&#227;o.</p><p>Ferramentas de help desk tamb&#233;m colaboram para uma boa gest&#227;o de equipes e at&#233; otimizam o servi&#231;o de gerenciamento de APIs.</p><h3><strong>Existe plataforma de gest&#227;o de APIs ideal?</strong></h3><p>Antes de mais nada voc&#234; deve analisar quais s&#227;o de fato as necessidades de seus times para assim escolher a melhor plataforma de gerenciamento de APIs.</p><p>Se seus desenvolvedores criam APIs para uso de sistemas internos, existem algumas ferramentas indicadas especificamente para isso. No entanto, se seu time &#233; respons&#225;vel pela disponibiliza&#231;&#227;o de APIs p&#250;blicas, por exemplo, a fim de expandir ecossistemas e firmar parcerias, os tipos de plataformas de gest&#227;o ideais ser&#227;o diferentes.</p>]]></content:encoded></item><item><title><![CDATA[Reforçando a cultura de Reutilização de APIs]]></title><description><![CDATA[Diferente de integra&#231;&#245;es do tipo ponto a ponto nas quais um aplicativo se encontra diretamente conectado a uma fonte de dados, as APIs permitem o desacoplamento, ou seja, retiram as depend&#234;ncias diretas entre o aplicativo consumidor da fonte de dados.]]></description><link>https://www.apiplaybook.com/p/reforcando-cultura-de-reutilizacao-de-apis</link><guid isPermaLink="false">https://www.apiplaybook.com/p/reforcando-cultura-de-reutilizacao-de-apis</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Tue, 12 May 2020 15:44:30 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/bf3b635c-2aee-420d-a261-fda91d45c2c6_2000x1334.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U99O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaf990cf-1fdb-4475-84ed-38f11487ca16_2000x1334.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U99O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaf990cf-1fdb-4475-84ed-38f11487ca16_2000x1334.jpeg 424w, https://substackcdn.com/image/fetch/$s_!U99O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaf990cf-1fdb-4475-84ed-38f11487ca16_2000x1334.jpeg 848w, https://substackcdn.com/image/fetch/$s_!U99O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaf990cf-1fdb-4475-84ed-38f11487ca16_2000x1334.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!U99O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaf990cf-1fdb-4475-84ed-38f11487ca16_2000x1334.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U99O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaf990cf-1fdb-4475-84ed-38f11487ca16_2000x1334.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/daf990cf-1fdb-4475-84ed-38f11487ca16_2000x1334.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Refor&#231;ando a cultura de Reutiliza&#231;&#227;o de APIs&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Refor&#231;ando a cultura de Reutiliza&#231;&#227;o de APIs" title="Refor&#231;ando a cultura de Reutiliza&#231;&#227;o de APIs" srcset="https://substackcdn.com/image/fetch/$s_!U99O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaf990cf-1fdb-4475-84ed-38f11487ca16_2000x1334.jpeg 424w, https://substackcdn.com/image/fetch/$s_!U99O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaf990cf-1fdb-4475-84ed-38f11487ca16_2000x1334.jpeg 848w, https://substackcdn.com/image/fetch/$s_!U99O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaf990cf-1fdb-4475-84ed-38f11487ca16_2000x1334.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!U99O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaf990cf-1fdb-4475-84ed-38f11487ca16_2000x1334.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">None</figcaption></figure></div><p>Diferente de integra&#231;&#245;es do tipo ponto a ponto nas quais um aplicativo se encontra diretamente conectado a uma fonte de dados, as APIs permitem o desacoplamento, ou seja, retiram as depend&#234;ncias diretas entre o aplicativo consumidor da fonte de dados.</p><p>Para empresas com um n&#250;mero cada vez mais crescente de sistemas e aplica&#231;&#245;es que compartilham dados, a integra&#231;&#227;o de APIs faz ainda mais sentido, j&#225; que proporciona&nbsp;<a href="https://prensa.li/api-playbook/por-que-se-fala-tanto-de-seguranca-de-apis-conheca-os-motivos-e-casos-de-vazamento/">seguran&#231;a</a>, flexibilidade,&nbsp;<a href="https://prensa.li/api-playbook/por-que-precisamos-falar-mais-de-governanca-de-apis/">governan&#231;a</a>, velocidade e reutiliza&#231;&#227;o. E justamente sobre este &#250;ltimo item que vou comentar neste artigo.</p><h3><strong>O que &#233; reutiliza&#231;&#227;o</strong></h3><p>Quando falo do reuso de APIs me refiro em optar pela reutiliza&#231;&#227;o de uma ou mais funcionalidades de uma API em outras aplica&#231;&#245;es em vez de adicionar a mesma funcionalidade em uma API existente e em seguida introduzi-la em um aplicativo.</p><p>Os benefici&#225;rios da reutiliza&#231;&#227;o de APIs podem variar dependendo dos neg&#243;cios da sua empresa:</p><p>1.&nbsp;<strong>Dentro da pr&#243;pria organiza&#231;&#227;o:</strong>&nbsp;Acelerar o desenvolvimento de produtos ou servi&#231;os que consomem uma determinada informa&#231;&#227;o previamente desenvolvida, como por exemplo, uma API de gerenciamento de endere&#231;os pode ser utilizada por uma aplicativo de com&#233;rcio eletr&#244;nico ou sistema ERP.</p><p>2.&nbsp;<strong>Fora da organiza&#231;&#227;o:</strong>&nbsp;Ao optar por abrir suas APIs para o mercado, por exemplo, para algum parceiro comercial, a mesma API poder&#225; ser utilizada pelo parceiro para conectar e compartilhar informa&#231;&#245;es em sua solu&#231;&#227;o. No caso de alguma necessidade de personaliza&#231;&#227;o, uma nova API dever&#225; ser&#225; criada, consumindo a API anterior como base para reutilizar as funcionalidades e filtros existentes de acordo com a necessidade e devolvendo apenas as informa&#231;&#245;es necess&#225;rias.</p><h3><strong>Como isso pode ser realizado?</strong></h3><p>Antes de mais nada, para poder reutilizar uma API, &#233; necess&#225;rio que voc&#234; tenha em mente os seguintes t&#243;picos:</p><p><strong>1</strong>.&nbsp;<strong>Objetivo da API</strong></p><ul><li><p>Qual o problema que ela se prop&#245;e a resolver?</p></li><li><p>Existe potencial para consumo deste servi&#231;o al&#233;m do contexto de neg&#243;cio que ela est&#225; sendo demandada?</p></li><li><p>Quais ser&#227;o os requisitos para cada cliente consumir?</p></li><li><p>Quais s&#227;o as perspectivas de evolu&#231;&#227;o da API no futuro?</p></li></ul><p><strong>2. Seguran&#231;a da API</strong></p><ul><li><p>Quem ter&#225; acesso a API?</p></li><li><p>Qual o n&#237;vel de informa&#231;&#227;o ser&#225; compartilhado com o cliente?</p></li><li><p>Existir&#225; limite ou restri&#231;&#227;o de consumo por quantidade de requisi&#231;&#227;o?</p></li></ul><p>Algo que ajudar&#225; no desenho de APIs futuras &#233; compreender a dire&#231;&#227;o geral dos neg&#243;cios, para que assim seja projetada um API que n&#227;o supra apenas as necessidades do momento mas as futuras tamb&#233;m, garantindo a sua reutiliza&#231;&#227;o.</p><p>Falar de APIs reutiliz&#225;veis significa mais que uma redu&#231;&#227;o de tempo e dinheiro no desenvolvimento, pois o reuso representa uma s&#233;rie de outras vantagens para as empresas como:</p><ol><li><p>Entregas mais r&#225;pidas de valor ao reutilizar servi&#231;os existentes</p></li><li><p>Otimizar custos para evolu&#231;&#227;o constante de servi&#231;os reutiliz&#225;veis</p></li><li><p>Monetiza&#231;&#227;o de servi&#231;os com potencial para clientes externos</p></li></ol><p>Como deu para notar, desenvolver uma API j&#225; pensando na capacidade de reutiliza&#231;&#227;o &#233; uma redu&#231;&#227;o significativa de esfor&#231;os no futuro, e o que voc&#234; ter&#225; em m&#227;os &#233; uma infraestrutura projetada e preparada para mudan&#231;as. Dessa forma &#233; poss&#237;vel avan&#231;ar com mais velocidade em novos projetos gra&#231;as aos ativos reutiliz&#225;veis e organiza&#231;&#227;o integrada.</p><h3><strong>Como promover a reutiliza&#231;&#227;o das APIs</strong></h3><p>Uma das formas para que possamos promover a reutiliza&#231;&#227;o de APIs &#233; justamente tomando conhecimento delas. Pode at&#233; parecer um pouco simpl&#243;rio, mas na verdade, ter conhecimentos sobre os tipos de APIs e suas funcionalidades ajudar&#225; e muito para que os desenvolvedores encontrem APIs reutiliz&#225;veis ao seu prop&#243;sito.</p><p>Para isso nada melhor do que os&nbsp;<strong>Portais de APIs</strong>. Tais plataformas s&#227;o de extrema relev&#226;ncia quando a quest&#227;o &#233; engajamento de desenvolvedores e parceiros. A partir delas seu desenvolvedor poder&#225; publicar e promover suas APIs, sua documenta&#231;&#227;o e gerenci&#225;-las.</p><p>Al&#233;m das informa&#231;&#245;es encontradas nos portais de APIs, &#233; necess&#225;rio que elas tenham algumas caracter&#237;sticas fundamentais para que posteriormente sejam reutilizadas.&nbsp;<strong>As APIs dever&#227;o ser f&#225;ceis de se usar, pois de nada adianta desenvolver a melhor API do mundo se uso desta n&#227;o &#233; claro</strong>, se sua documenta&#231;&#227;o apresenta legibilidade ruim e se suas respostas n&#227;o apresentam a velocidade esperada. O que acaba por ocorrer &#233; uma frustra&#231;&#227;o na experi&#234;ncia de consumo e outros desenvolvedores n&#227;o ter&#227;o interesse em reutiliz&#225;-la.</p><p>No decorrer do desenvolvimento da API &#233; importante levar em conta o comportamento dos desenvolvedores e o que se espera. Solu&#231;&#245;es simples como respostas personalizadas, dicas nos status code e links para documenta&#231;&#227;o j&#225; ajudam na compreens&#227;o do uso de uma API.</p><p>Outro ponto que voc&#234; deve prestar aten&#231;&#227;o &#233; quanto a estabilidade da sua API. Os usu&#225;rios precisam ver que a solu&#231;&#227;o criada a partir da API &#233; confi&#225;vel, afinal quem pensaria em reutilizar um servi&#231;o com uma quantidade significativa de bugs e com falhas em sua performance? Lembre-se: uma API deve apresentar solu&#231;&#245;es para seus usu&#225;rios e n&#227;o gerar obst&#225;culos.</p>]]></content:encoded></item><item><title><![CDATA[Sem delongas: O que você precisa saber da LGPD está aqui]]></title><description><![CDATA[Viver na era da transforma&#231;&#227;o digital implica em muitos aspectos (da nossa vida), principalmente por que a maioria deles gira em torno da dados.]]></description><link>https://www.apiplaybook.com/p/sem-delongas-o-que-voce-precisa-saber-da-lgpd-esta-aqui</link><guid isPermaLink="false">https://www.apiplaybook.com/p/sem-delongas-o-que-voce-precisa-saber-da-lgpd-esta-aqui</guid><dc:creator><![CDATA[David Ruiz]]></dc:creator><pubDate>Tue, 12 May 2020 15:41:39 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/905ae816-06ff-4246-87c2-af2b44ba87c8_1600x1066.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h0Dx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fc50ba-59f6-4e01-b6e1-cd3abacadfbb_1600x1066.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h0Dx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fc50ba-59f6-4e01-b6e1-cd3abacadfbb_1600x1066.jpeg 424w, https://substackcdn.com/image/fetch/$s_!h0Dx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fc50ba-59f6-4e01-b6e1-cd3abacadfbb_1600x1066.jpeg 848w, https://substackcdn.com/image/fetch/$s_!h0Dx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fc50ba-59f6-4e01-b6e1-cd3abacadfbb_1600x1066.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!h0Dx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fc50ba-59f6-4e01-b6e1-cd3abacadfbb_1600x1066.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h0Dx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fc50ba-59f6-4e01-b6e1-cd3abacadfbb_1600x1066.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21fc50ba-59f6-4e01-b6e1-cd3abacadfbb_1600x1066.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sem delongas: O que voc&#234; precisa saber da LGPD est&#225; aqui&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sem delongas: O que voc&#234; precisa saber da LGPD est&#225; aqui" title="Sem delongas: O que voc&#234; precisa saber da LGPD est&#225; aqui" srcset="https://substackcdn.com/image/fetch/$s_!h0Dx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fc50ba-59f6-4e01-b6e1-cd3abacadfbb_1600x1066.jpeg 424w, https://substackcdn.com/image/fetch/$s_!h0Dx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fc50ba-59f6-4e01-b6e1-cd3abacadfbb_1600x1066.jpeg 848w, https://substackcdn.com/image/fetch/$s_!h0Dx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fc50ba-59f6-4e01-b6e1-cd3abacadfbb_1600x1066.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!h0Dx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21fc50ba-59f6-4e01-b6e1-cd3abacadfbb_1600x1066.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">None</figcaption></figure></div><p>Viver na era da transforma&#231;&#227;o digital implica em muitos aspectos (da nossa vida), principalmente por que a maioria deles gira em torno da dados. Nossa realidade &#233; consequ&#234;ncia da abrang&#234;ncia imposta pela Internet, que dissemina e processa informa&#231;&#245;es mais rapidamente assim como facilidade a obten&#231;&#227;o de dados.</p><p>N&#227;o foi nenhuma surpresa que o mercado enxergasse nessas mudan&#231;as uma oportunidade e passasse a tratar dados, especialmente os pessoais, como uma nova classe de ativos econ&#244;micos, ou seja, um dos recursos mais valiosos da atualidade. Tanto que&nbsp;<strong>estima-se que, em 2020, 1,7 MB de dados ser&#227;o gerados a cada segundo por pessoa, somando 147 Gb de informa&#231;&#227;o por dia.</strong></p><p>O valor atribu&#237;do a dados faz com que surja ao mesmo tempo uma preocupa&#231;&#227;o com rela&#231;&#227;o a seguran&#231;a e o devido uso de tais dados. Isso levou a debates sobre a cria&#231;&#227;o de leis para assegurar a prote&#231;&#227;o de dados pessoais. No Brasil tivemos a promulga&#231;&#227;o da&nbsp;<a href="http://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/L13709.htm">Lei n&#176; 13.709/2018</a>, a Lei Geral de Prote&#231;&#227;o de Dados (LGPD) e posteriores modifica&#231;&#245;es em&nbsp;<a href="https://www.ecommercebrasil.com.br/artigos/lgpd-lei-13-853-2019/">8 de julho de 2019</a>.</p><p>Discutir sobre uma regulamenta&#231;&#227;o de prote&#231;&#227;o de dados pessoas nos tempos atuais &#233; essencial para seguran&#231;a e a preserva&#231;&#227;o da privacidade dos usu&#225;rios. Mas se voc&#234; pensa que este assunto &#233; algo recente, alguns pa&#237;ses al&#233;m dos que formam a Uni&#227;o Europeia j&#225; est&#227;o &#224; frente do Brasil nesse quesito.</p><p>Na verdade, o Brasil &#233; um dos pa&#237;ses com a regulamenta&#231;&#227;o mais atrasada na Am&#233;rica Latina. No Chile, a legisla&#231;&#227;o de prote&#231;&#227;o de dados foi decretada em 1999 e, no ano seguinte na Argentina. Col&#244;mbia e Uruguai tamb&#233;m seguem apresentam avan&#231;os no que concerne a seguran&#231;a da informa&#231;&#227;o.</p><p>O que quero dizer &#233; que independente do pa&#237;s de decreto, uma regulamenta&#231;&#227;o de prote&#231;&#227;o de dados &#233; uma necessidade e tend&#234;ncia global. E h&#225; motivos para isso. Segundo a&nbsp;<a href="https://www.wired.com/story/collection-one-breach-email-accounts-passwords/">Wired</a>, uma das maiores viola&#231;&#245;es de dados da hist&#243;ria ocorreu este ano. Conhecida por &#8220;Cole&#231;&#227;o # 1&#8221; a invas&#227;o atingiu quase 800 milh&#245;es de emails e senhas, totalizando 2.692.818.238 linhas de milhares de fontes diferentes.</p><p>A invas&#227;o envolveu 772.904.997 endere&#231;os de email e mais de 21 milh&#245;es de senhas &#250;nicas, superando os vazamentos do&nbsp;<a href="https://g1.globo.com/economia/tecnologia/noticia/2019/07/22/equifax-faz-acordo-para-pagar-r-26-bi-por-vazamento-de-dados-de-clientes-nos-eua.ghtml">Equifax</a>&nbsp;e do Yahoo. E n&#227;o pense que tais casos n&#227;o s&#227;o frequentes. Em 2018, o site&nbsp;<a href="https://www.businessinsider.com/data-hacks-breaches-biggest-of-2018-2018-12?IR=T">Business Insider</a>&nbsp;publicou uma lista contendo os 21 maiores epis&#243;dios de viola&#231;&#245;es revelados.</p><p>Se tudo correr como o planejado, a lei deve entrar em vigor em agosto de 2020. Seu objetivo &#233; garantir a privacidade e a seguran&#231;a dos dados dos usu&#225;rios A LGPD tem como principal inspira&#231;&#227;o o Regulamento Geral sobre a Prote&#231;&#227;o de Dados. (GDPR), norma europeia que&nbsp;<a href="https://www.ecommercebrasil.com.br/artigos/gdpr-entra-em-vigor-hoje-o-que-minha-empresa-deve-saber/">entrou em vigor em maio de 2018.</a></p><p>A LGPD prop&#245;e em seu texto formas de lidar com dados pessoais, atrav&#233;s de normas que ir&#227;o disciplinar como coletamos, armazenamos, processamos e utilizamos tais informa&#231;&#245;es. &#201; essencial que as empresas brasileiras aproveitem estes meses que antecedem a vig&#234;ncia da LGPD para se adequarem a essa nova realidade de seguran&#231;a da informa&#231;&#227;o, assim como o conhecerem as normas da legisla&#231;&#227;o.</p><h3><strong>Os pontos em comum e as distin&#231;&#245;es</strong></h3><p><strong>1. Defini&#231;&#227;o de dados pessoais</strong></p><p>Da mesma maneira que o GDPR, o novo regulamento de prote&#231;&#227;o de dados do Brasil, a LGPD, disp&#245;e sobre a defini&#231;&#227;o de dados pessoais para incluir todas as informa&#231;&#245;es relacionadas a uma pessoa identific&#225;vel e acrescenta restri&#231;&#245;es especiais referentes ao processamento de dados pessoais confidenciais como g&#234;nero, etnia, religi&#227;o e biometria.</p><p><strong>2. Escopos territoriais</strong></p><p>Ambos os regulamentos possuem escopos territoriais semelhantes j&#225; que se aplicam a todas as empresas que oferecem bens ou servi&#231;os a titulares de dados na UE ou no Brasil, independentemente de sua localiza&#231;&#227;o. Por&#233;m, no caso do GDPR, a regulamenta&#231;&#227;o inclui explicitamente organiza&#231;&#245;es que n&#227;o est&#227;o estabelecidas na UE, contanto que estas monitorem o comportamento dos indiv&#237;duos nela localizados. A LGPD n&#227;o apresenta essa disposi&#231;&#227;o.</p><p><strong>3. Bases legais para o processamento de dados</strong></p><p>Uma das maiores diverg&#234;ncias entre as duas leis est&#225; na sua base legal para o processamento de dados. O GDPR inclui o consentimento expl&#237;cito, desempenho contratual, tarefa p&#250;blica, interesse vital, obriga&#231;&#227;o legal e interesse leg&#237;timo. J&#225; a LGPD al&#233;m de incluir as seis acrescenta outras quatro: estudos de um &#243;rg&#227;o de pesquisa, exerc&#237;cio de direitos em processos judiciais, prote&#231;&#227;o &#224; sa&#250;de e prote&#231;&#227;o ao cr&#233;dito.</p><p><strong>4. Regulamento de prote&#231;&#227;o de dados</strong></p><p>Para come&#231;ar, diferente da GDPR, na LGPD certas informa&#231;&#245;es confidenciais adentram a classifica&#231;&#227;o de &#8220;dados pessoais&#8221; quando s&#227;o utilizadas para a cria&#231;&#227;o de perfis. Normalmente, tais dados se encontram isentos dos requisitos do regulamento. Por&#233;m, de acordo com o artigo 12 eles podem ser considerados dados pessoais &#8220;aqueles utilizados para forma&#231;&#227;o do perfil comportamental de determinada pessoa natural, se identificada.&#8221;</p><p>No caso da GDPR, as empresas com sede ou atuando na Uni&#227;o Europeia tinham 2 anos de de preparo e adequa&#231;&#227;o aos requisitos , j&#225; as organiza&#231;&#245;es brasileiras tiveram pouco mais de um ano e meio para se preparar, desde o an&#250;ncio de aprova&#231;&#227;o da Lei e sua entrada em vigor.</p><p><strong>5. Detalhamento no documento</strong></p><p>Algumas das diferen&#231;as talvez mais marcantes est&#225; no fato de que a lei brasileira apresenta menos descri&#231;&#245;es e n&#227;o possui uma introdu&#231;&#227;o explicativa contendo as diretrizes para que seja realizada a interpreta&#231;&#227;o da LGPD. Isso provavelmente torna a implementa&#231;&#227;o da regulamenta&#231;&#227;o da lei mais desafiadora.</p><p><strong>6. Comunica&#231;&#227;o</strong></p><p>A lei brasileira tamb&#233;m &#233; mais permissiva que a europeia e deixa algumas quest&#245;es em aberto, como o prazo das notifica&#231;&#245;es obrigat&#243;rias de viola&#231;&#227;o de dados: a LGPD estabelece que a comunica&#231;&#227;o deve ser feita em &#8220;prazo razo&#225;vel&#8221;, j&#225; a GDPR estipula exatas 72 horas. Infelizmente algumas das previs&#245;es da GDPR nem sequer possuem equivalentes na LGDP. O que torna mais forte o questionamento da real efic&#225;cia da lei brasileira e se ela conseguir&#225; de fato passar pelos desafios jur&#237;dicos e t&#233;cnicos.</p><p><strong>7. Quem est&#225; sujeito</strong></p><p>Um &#250;ltima diverg&#234;ncia que acho v&#225;lido mencionar &#233; que &#243;rg&#227;os p&#250;blicos tamb&#233;m estar&#227;o sujeitos &#224; LGPD, ou seja, ter&#227;o de se adequar &#224;s novas medidas, para n&#227;o seguirem o exemplo da&nbsp;<a href="https://www.tecmundo.com.br/redes-sociais/143760-facebook-multado-us-5-bilhoes-eua-caso-cambridge-analytica.htm">Cambridge Analytica</a>, o famoso caso em que a rede social Facebook foi multada em US$ 5 bilh&#245;es (cerca de R$ 19 bilh&#245;es). Uma puni&#231;&#227;o por violar, continuamente, os termos de acordo firmado em 2011 com a FTC (Comiss&#227;o Federal de Com&#233;rcio) dos EUA, sobre a prote&#231;&#227;o das informa&#231;&#245;es de privacidade dos usu&#225;rios da rede.</p><h3><strong>A necessidade de estar em conformidade com a LGPD</strong></h3><p>O intervalo de tempo restante at&#233; que a LGPD finalmente entre em vigor &#233; curto, mas precisa ser o suficiente para que as empresas consigam se adaptar &#224;s novas regras de armazenamento, uso e prote&#231;&#227;o de dados. O processo em si &#233; repleto de desafios, tanto t&#233;cnicos quanto jur&#237;dicos, como engajar a mudan&#231;a de cultura na organiza&#231;&#227;o, integrar os requisitos da LGPD aos processos existentes, realizar um levantamento do volume e fluxo de dados e identificar riscos.</p><p>Diferentes setores ter&#227;o de buscar a conformidade com a nova regulamenta&#231;&#227;o, mas provavelmente &#233; a &#225;rea de tecnologia que ser&#225; mais afetada com a LGPD. Afinal por trabalharem com dados, muitas dessas empresas ter&#227;o de repensar e reestruturar suas pol&#237;ticas e procedimentos para se tornarem mais compat&#237;veis com a LGPD.</p><p>Pense na quantidade crescente de dados sendo produzida diariamente, especialmente os dados pessoais que vem sendo utilizados, coletados e processados por empresas de tecnologia. N&#227;o &#233; dif&#237;cil de imaginar o consentimento do usu&#225;rio como um dos maiores desafios da LGPD para as empresas do setor.</p><p>A partir da&#237; vemos a import&#226;ncia de estruturar sistemas de seguran&#231;a da informa&#231;&#227;o confi&#225;veis. A chegada ofIcial da LGPD de certa forma obrigar&#225; todas as empresas a investirem em setores que talvez antes n&#227;o recebessem a devida aten&#231;&#227;o. Para prevenir e detectar a viola&#231;&#227;o de dados, voc&#234; pode tomar diferentes medidas como novas pol&#237;ticas de privacidade, criptografia (mascaramento de dados), gerenciamento de vulnerabilidades, automa&#231;&#227;o e orquestra&#231;&#227;o de seguran&#231;a e ferramentas DLP (preven&#231;&#227;o contra perda de dados).</p><p><em><strong>Se voc&#234; quer saber mais sobre Governan&#231;a de APIs, se cadastre no&nbsp;<a href="https://www.apiplaybook.com/">API Playbook</a>&nbsp;e tenha acesso &#224; entrevistas, video-aulas e materiais voltados ao ciclo de vida de APIs.</strong></em></p><p>Este artigo foi escrito por David Ruiz e publicado originalmente em <a href="/api-playbook/sem-delongas-o-que-voce-precisa-saber-da-lgpd-esta-aqui/">Prensa.li</a>.</p>]]></content:encoded></item></channel></rss>