José Vahl 
jose.vahl@sensedia.com 
@josevahl 
APIs gerenciadas de 
ponta a ponta 
Fábio Rosato 
fabio.rosato@sensedia.com ...
José Vahl
 Gerente de Consultoria na 
Sensedia 
 Professor dos cursos de pós-graduação 
em SOA pelo IBMEC e 
Inatel 
 Atuação em ...
Agenda 
Sobre a Sensedia 
Contextualização 
Proposta de valor e Design 
Construção da API 
Execução e instrumentalização
Sobre a Sensedia
 Design, Exposição, Gerenciamento 
e Engajamento em APIs 
 Headquarter em Campinas, 
escritórios em São Paulo, Rio e Phi...
Contextualização
The Internet 
of Things
O Tempo todo 
com o usuário 
Compartilhando 
tudo com todos 
The Nexus 
of Forces 
Inundação de dados 
e contexto 
Implant...
APIs 
Application Programming Interface 
é a cola digital que permite: 
• Acelerar parcerias 
• Simplificar integração mob...
Proposta de valor e 
design
O tabuleiro das APIs 
16 
casas 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Seg...
Plan & 
Prepare 
API 
Strategy 
Design 
& Build 
Run & 
Engage
Plan & 
Prepare 
API 
Strategy 
Design 
& Build 
Run & 
Engage 
Plan Prepare
As primeiras decisões de design…
Selecione a Tecnologia Adequada 
SOAP vs. REST
Selecione a Tecnologia Adequada 
XML vs. JSON
and the winners are… 
REST + JSON
1 
Proposta 
de valor 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Cal...
“Você pode até passar batom num porco, 
mas ele continuará sendo um porco!”
Plan & 
Prepare 
API 
Strategy 
Muitos 
projetos; 
Design 
Equipe 
& Build 
pequena 
Run & 
Engage 
Design 
Design & 
& 
B...
2 
URI 
Uniform Resource 
Identifier 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Cachin...
Estrutura Mínima 
URI: https://api.mycompany.com/name-of-api/resource 
HTTP ou 
HTTPS 
Seu domínio Nome da API 
(opcional)...
3 
Recursos 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Callbacks Hyp...
REST 
Representational State Transfer 
Estilo arquitetural criado por Roy Fielding 
RESTful 
Design que respeita os concei...
Coleção 
/pedidos 
Resources 
Elemento 
/pedidos/{id}
RPC? 
/getAccount 
/getAllAccounts 
/createDirectory 
/updateGroupName 
/findClientById
4 
Operações 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Callbacks Hy...
GET POST PUT DELETE
Resumo das Operações 
Resource POST 
(create) 
GET 
(read) 
PUT 
(update, create) 
DELETE 
(delete) 
/pedidos Cria novo 
p...
Método de Consulta 
(Cachable, Safe, Idempotente) 
GET /vendas/pedidos 
GET /checklist/item/4 
GET 
POST 
PUT 
DELETE 
PAT...
Método para “Criação” 
(Unsafe, Não-Idempotente) 
POST /clientes/9833201/enderecos 
{ 
"endereco": "Av. Brigadeiro Faria L...
GET 
POST 
PUT 
DELETE 
PATCH 
OPTIONS 
HEAD 
Método para “Atualização” 
(Unsafe, Idempotente) 
PUT /clientes/9833201/ende...
GET 
POST 
PUT 
DELETE 
PATCH 
OPTIONS 
HEAD 
Método para Remoção 
(Unsafe, Idempotente) 
DELETE /pedidos/39009186 
DELETE...
GET 
POST 
PUT 
DELETE 
PATCH 
OPTIONS 
HEAD 
Método para Atualização parcial 
(Unsafe, Não-Idempotente) 
PATCH /users/983...
GET 
POST 
PUT 
DELETE 
PATCH 
OPTIONS 
HEAD 
OPTIONS 
Quais métodos são permitidos? 
OPTIONS /clientes 
Allow: HEAD,GET,P...
5 
Versionamento 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Callback...
THINGS 
CHANGE! 
v1 v2 v3 v4 v5 v6 v7
Versionamento 
Versão 
URI: https://api.mycompany.com/name-of-api/v2/resource 
HTTP ou 
HTTPS 
Seu domínio Nome da API 
(o...
6 
Media 
Types 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Callbacks...
Media 
Types 
Formatos Padronizados: 
application/json 
application/xml 
Formatos Proprietários: 
vnd.{nome_empresa}.{nome...
7 
Status 
Codes 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Callback...
200 
400 
500 
Resultado OK 
Erro no Cliente 
Erro no Servidor
STATUS OK 200
Status & 
Error Codes 
200 
400 
500 
200 OK 
GET /candidatos?estado=SP&partido=PP 
200 OK 
[ 
{ 
"id": "1532962", 
"apeli...
Status & 
Error Codes 
200 
400 
500 
201 Created 
POST /items/1234/bids 
{ 
"amount" : 602.99 
} 
201 Created 
Location: ...
Status & 
Error Codes 
200 
400 
500 
400 Bad Request 
GET /candidatos 
400 Bad Request 
{ 
"status" : 400, 
"code" : 4037...
Status & 
Error Codes 
200 
400 
500 
Outros Comuns 
401 
403 
404 
413 
429 
Unauthorized 
Forbidden 
Not Found 
Request ...
Status & 
Error Codes 
200 
400 
500 
500 Internal Server Error 
PUT /vendas/v1/pedidos/9940382 
{ 
”status" : canceled 
}...
8 
Filtros e 
Paginação 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança C...
Filtros 
Busca Global: 
GET /search?q=macbook+air 
Busca com escopo (subconjuntos): 
GET /vendas/v2/pedidos?status=conclui...
Paginação 
Recomendação: 
GET /pedidos?_offset=50&_limit=25 
Outras opções: 
Linkedin: 
Instagram: 
?start=50&count=25 
?m...
9 
Caching 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Callbacks Hype...
Caching 
Evite tráfego desnecessário 
Latência de rede 
Sobrecarga nos servidores 
Atenção 
 Tempo de invalidação do cach...
10 
Segurança 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Callbacks H...
 Acesso não autorizado 
 Ataques 
 Sobrecarga 
 Confidencialidade 
 Implementações 
desastradas em clients
 Acesso não autorizado 
 Ataques 
 Sobrecarga 
 Confidencialidade 
 Implementações 
desastradas em clients
 Identificar App (?) 
 Identificar Usuário (?) 
 Identificar Device (?) 
Identidade e 
Autorização
Realtime API Traffic 
https://api.[you].com/… 
Powered by 
API Gateway 
 Rate Limiting 
 Monitoring & Alerts 
 Authenti...
11 
Callbacks 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Callbacks H...
Já chegamos? 
Já chegamos? 
Já chegamos? 
Já chegamos? 
Já chegamos? 
Stop Pooling Me
Marketplace API 
Chamadas Reversas: 
 Consulta estoque 
 Cálculo de frete 
 Novo pedido recebido 
https://api.mywebstor...
12 
Hypermedia 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Callbacks ...
Hypermedia APIs 
HATEOAS = Hypermedia as the 
Engine of Application State 
*POX = Plain Old XML, Richardson Maturity Model
GET /items?q=macbook+air+new 
{ 
"results" : [ 
{ 
"id" : 123, 
"name" : "Macbook Air 2010 LIKE NEW", 
"price" : "499" 
} ...
COM 
Hypermedia 
GET /items?q=macbook+air+new 
{ 
"results" : [ 
{ 
"_links" : [ 
{"rel": "self","uri": "/items/123" }, 
{...
Plan & 
Prepare 
API 
Strategy 
Design 
& Build 
Muitos 
projetos; 
Run Run Run & 
& 
& 
Engage 
Equipe 
Engage 
Engage 
p...
13 
Documentação 
interativa 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segura...
Docs incompletos, desatualizados, 
estáticos e com PDFs de 100 páginas
Developers 
https://developers.[you].com 
API Portal 
API Developers Portal 
 Introdução, tutoriais e 
exemplos de código...
Getting 
Started 
www.twilio.com/docs
Documentação 
Interativa 
desenvolvedores.extra.com.br
Exemplos de 
código na 
linguagem 
do developer 
sendgrid.com/docs
Sign-up e Tokens de 
acesso automáticos 
stripe.com/docs
REST Console ou 
Sandbox / Playgroung 
dev.transparencia.org.br
14 
Construção 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Callbacks ...
Hold on…
15 
Instrumentalização 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Ca...
Problemas de 
Performance 
Indisponibilidade 
Bugs Confiabilidade 
Mudanças 
(não-planejadas) 
Falta de 
Suporte
API Suite 
• Login / signup 
• Criação de Apps 
• Gestão de tokens 
• Foruns e suporte 
• Sandbox 
• Dev Dashboard 
Backen...
www.sensedia.com/br 
Trace de calls, 
Monitoramento, 
Rate Limiting e 
Alertas
status.aws.amazon.com 
Status Page, 
Release Notes, 
Blog
Foruns de discussão 
e Abertura de tickets 
desenvolvedores.extra.com.br
16 
Divulgação 
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Callbacks ...
Hackathon & Open Innovation
1 Apps criadas: 300+ 
2 Developers cadastrados: 800+ 
3 Tráfego: 20M calls / 15 dias 
4 Eleições mais transparentes!
Plan & 
Prepare 
API 
Strategy 
Design 
& Build 
Run & 
Engage
Valor URI Recursos Operações 
Versionamento Media Types Status Codes Filtros 
Caching Segurança Callbacks Hypermedia 
Docu...
Construção da API
Execução e 
instrumentalização
Junte-se ao time!
Fábio Rosato 
fabio.rosato@sensedia.com 
@frosato 
José Vahl 
jose.vahl@sensedia.com 
@josevahl
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
APIs gerenciadas de ponta a ponta
Próximos SlideShares
Carregando em…5
×

APIs gerenciadas de ponta a ponta

938 visualizações

Publicada em

Há diversas razões que levam uma empresa a expor APIs. Algumas delas são: aumentar o alcance de suas parcerias; facilitar a integração “mobile-cloud”; posicionar-se como uma plataforma; inovar “abertamente”; aumentar a governança e reduzir custos.

Nesse minicurso exploramos todo o ciclo de vida das APIs gerenciadas em REST/JSON, os mecanismos de segurança, políticas de acessos, monitoração, comunicação e controles.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
938
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
16
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

APIs gerenciadas de ponta a ponta

  1. 1. José Vahl jose.vahl@sensedia.com @josevahl APIs gerenciadas de ponta a ponta Fábio Rosato fabio.rosato@sensedia.com @frosato
  2. 2. José Vahl
  3. 3.  Gerente de Consultoria na Sensedia  Professor dos cursos de pós-graduação em SOA pelo IBMEC e Inatel  Atuação em diversos projetos complexos para grandes empresas grandes  Cielo, Telefônica | Vivo, TIM, Itaú, Bradesco Seguros entre outras Fábio Rosato
  4. 4. Agenda Sobre a Sensedia Contextualização Proposta de valor e Design Construção da API Execução e instrumentalização
  5. 5. Sobre a Sensedia
  6. 6.  Design, Exposição, Gerenciamento e Engajamento em APIs  Headquarter em Campinas, escritórios em São Paulo, Rio e Philadelphia  Classificados como Visionários no Quadrante Mágico do Gartner (*) Magic Quadrant for Integrated SOA Governance Technology Sets, 2009
  7. 7. Contextualização
  8. 8. The Internet of Things
  9. 9. O Tempo todo com o usuário Compartilhando tudo com todos The Nexus of Forces Inundação de dados e contexto Implantanto e rodando em algum lugar Source: Gartner (Jun/2012)
  10. 10. APIs Application Programming Interface é a cola digital que permite: • Acelerar parcerias • Simplificar integração mobile-cloud • Impulsionar a inovação aberta • Integrar aplicações de software • e Criar novos negócios
  11. 11. Proposta de valor e design
  12. 12. O tabuleiro das APIs 16 casas Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  13. 13. Plan & Prepare API Strategy Design & Build Run & Engage
  14. 14. Plan & Prepare API Strategy Design & Build Run & Engage Plan Prepare
  15. 15. As primeiras decisões de design…
  16. 16. Selecione a Tecnologia Adequada SOAP vs. REST
  17. 17. Selecione a Tecnologia Adequada XML vs. JSON
  18. 18. and the winners are… REST + JSON
  19. 19. 1 Proposta de valor Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  20. 20. “Você pode até passar batom num porco, mas ele continuará sendo um porco!”
  21. 21. Plan & Prepare API Strategy Muitos projetos; Design Equipe & Build pequena Run & Engage Design Design & & Build Build
  22. 22. 2 URI Uniform Resource Identifier Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  23. 23. Estrutura Mínima URI: https://api.mycompany.com/name-of-api/resource HTTP ou HTTPS Seu domínio Nome da API (opcional) Recursos e Parâmetros
  24. 24. 3 Recursos Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  25. 25. REST Representational State Transfer Estilo arquitetural criado por Roy Fielding RESTful Design que respeita os conceitos REST
  26. 26. Coleção /pedidos Resources Elemento /pedidos/{id}
  27. 27. RPC? /getAccount /getAllAccounts /createDirectory /updateGroupName /findClientById
  28. 28. 4 Operações Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  29. 29. GET POST PUT DELETE
  30. 30. Resumo das Operações Resource POST (create) GET (read) PUT (update, create) DELETE (delete) /pedidos Cria novo pedido Lista pedidos -- Apaga todos os pedidos /pedidos/3747 -- Mostra pedido 3747 Atualiza pedido 3747, se não existir, cria Apaga pedido 3747
  31. 31. Método de Consulta (Cachable, Safe, Idempotente) GET /vendas/pedidos GET /checklist/item/4 GET POST PUT DELETE PATCH OPTIONS HEAD
  32. 32. Método para “Criação” (Unsafe, Não-Idempotente) POST /clientes/9833201/enderecos { "endereco": "Av. Brigadeiro Faria Lima", "numero": "3800", "complemento": "18o. Andar", "bairro": "Itaim Bibi", "cidade": "São Paulo", "estado": "SP", "cep": "04538-132" } GET POST PUT DELETE PATCH OPTIONS HEAD
  33. 33. GET POST PUT DELETE PATCH OPTIONS HEAD Método para “Atualização” (Unsafe, Idempotente) PUT /clientes/9833201/enderecos/1 { "endereco": "Av. Brigadeiro Faria Lima", "numero": "3800", "complemento": "18o. Andar", "bairro": "Itaim Bibi", "cidade": "São Paulo", "estado": "SP", "cep": "04538-132" }
  34. 34. GET POST PUT DELETE PATCH OPTIONS HEAD Método para Remoção (Unsafe, Idempotente) DELETE /pedidos/39009186 DELETE /users/9877261/photos
  35. 35. GET POST PUT DELETE PATCH OPTIONS HEAD Método para Atualização parcial (Unsafe, Não-Idempotente) PATCH /users/9833201 { "email": "joao.silva@empresa.com" } PATCH /pedidos/39009186 { "status": "Cancelado" }
  36. 36. GET POST PUT DELETE PATCH OPTIONS HEAD OPTIONS Quais métodos são permitidos? OPTIONS /clientes Allow: HEAD,GET,POST,OPTIONS HEAD Quero ver apenas o Header HEAD /clientes Date: … Content-Type: application/json Content-Length: 12345
  37. 37. 5 Versionamento Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  38. 38. THINGS CHANGE! v1 v2 v3 v4 v5 v6 v7
  39. 39. Versionamento Versão URI: https://api.mycompany.com/name-of-api/v2/resource HTTP ou HTTPS Seu domínio Nome da API (opcional) Recursos e Parâmetros Outras alternativas: • Twilio: /2010-04-01/Accounts/ • Salesforce.com: /services/data/v20.0/sobjects/Account
  40. 40. 6 Media Types Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  41. 41. Media Types Formatos Padronizados: application/json application/xml Formatos Proprietários: vnd.{nome_empresa}.{nome_media_type}+{formato} application/vnd.minhaempresa.pedido+json Parâmetros no Header: Request: Response: Accept: application/json Content-Type: application/json
  42. 42. 7 Status Codes Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  43. 43. 200 400 500 Resultado OK Erro no Cliente Erro no Servidor
  44. 44. STATUS OK 200
  45. 45. Status & Error Codes 200 400 500 200 OK GET /candidatos?estado=SP&partido=PP 200 OK [ { "id": "1532962", "apelido": "PAULO MALUF", "nome": "PAULO SALIM MALUF", "numero": "1111", "cargo": "Deputado Federal", "estado": "SP", "partido": "PP", "reeleicao": true } ]
  46. 46. Status & Error Codes 200 400 500 201 Created POST /items/1234/bids { "amount" : 602.99 } 201 Created Location: /items/1234/bids/100001 { "amount" : 602.99, "current_bid" : 510, "winning" : true }
  47. 47. Status & Error Codes 200 400 500 400 Bad Request GET /candidatos 400 Bad Request { "status" : 400, "code" : 40377, "message" : "Parâmetro 'estado' não pode ser nulo ou vazio" "more" : https://dev.empresa.com/errors/40377 }
  48. 48. Status & Error Codes 200 400 500 Outros Comuns 401 403 404 413 429 Unauthorized Forbidden Not Found Request is too Large Too Many Requests
  49. 49. Status & Error Codes 200 400 500 500 Internal Server Error PUT /vendas/v1/pedidos/9940382 { ”status" : canceled } 500 Internal Server Error { "status" : 500, "message": ”Oops. Algo saiu errado” } http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
  50. 50. 8 Filtros e Paginação Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  51. 51. Filtros Busca Global: GET /search?q=macbook+air Busca com escopo (subconjuntos): GET /vendas/v2/pedidos?status=concluido Respostas parciais: GET /pedidos/123AF15J?_fields=numero,data,valor
  52. 52. Paginação Recomendação: GET /pedidos?_offset=50&_limit=25 Outras opções: Linkedin: Instagram: ?start=50&count=25 ?min_id=3091&max_id=3245&count=25
  53. 53. 9 Caching Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  54. 54. Caching Evite tráfego desnecessário Latência de rede Sobrecarga nos servidores Atenção  Tempo de invalidação do cache  Sincronização em clusters
  55. 55. 10 Segurança Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  56. 56.  Acesso não autorizado  Ataques  Sobrecarga  Confidencialidade  Implementações desastradas em clients
  57. 57.  Acesso não autorizado  Ataques  Sobrecarga  Confidencialidade  Implementações desastradas em clients
  58. 58.  Identificar App (?)  Identificar Usuário (?)  Identificar Device (?) Identidade e Autorização
  59. 59. Realtime API Traffic https://api.[you].com/… Powered by API Gateway  Rate Limiting  Monitoring & Alerts  Authentication Models  Policy Enforcement  Exception handling  Analytics on API Consumption Mobile Apps Partners’ Apps Internal Services @Backend API Gateway Architecture
  60. 60. 11 Callbacks Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  61. 61. Já chegamos? Já chegamos? Já chegamos? Já chegamos? Já chegamos? Stop Pooling Me
  62. 62. Marketplace API Chamadas Reversas:  Consulta estoque  Cálculo de frete  Novo pedido recebido https://api.mywebstore.com/v1/estoque https://api.mywebstore.com/v1/frete https://api.mywebstore.com/v1/pedido
  63. 63. 12 Hypermedia Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  64. 64. Hypermedia APIs HATEOAS = Hypermedia as the Engine of Application State *POX = Plain Old XML, Richardson Maturity Model
  65. 65. GET /items?q=macbook+air+new { "results" : [ { "id" : 123, "name" : "Macbook Air 2010 LIKE NEW", "price" : "499" } ] } SEM Hypermedia
  66. 66. COM Hypermedia GET /items?q=macbook+air+new { "results" : [ { "_links" : [ {"rel": "self","uri": "/items/123" }, {"rel": "bids","uri": "/items/123/bids" }, {"rel": "win","uri": "/items/123/bids?q=win" } ], "name" : "Macbook Air 2010 LIKE NEW", "price" : "499" } ] }
  67. 67. Plan & Prepare API Strategy Design & Build Muitos projetos; Run Run Run & & & Engage Equipe Engage Engage pequena
  68. 68. 13 Documentação interativa Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  69. 69. Docs incompletos, desatualizados, estáticos e com PDFs de 100 páginas
  70. 70. Developers https://developers.[you].com API Portal API Developers Portal  Introdução, tutoriais e exemplos de códigos  Self-service Signup  Documentação interativa (API Browsing)  Forum, Blog & Dev support  Testes facilitados (Sandbox)  Dev. Dashboard Powered by
  71. 71. Getting Started www.twilio.com/docs
  72. 72. Documentação Interativa desenvolvedores.extra.com.br
  73. 73. Exemplos de código na linguagem do developer sendgrid.com/docs
  74. 74. Sign-up e Tokens de acesso automáticos stripe.com/docs
  75. 75. REST Console ou Sandbox / Playgroung dev.transparencia.org.br
  76. 76. 14 Construção Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  77. 77. Hold on…
  78. 78. 15 Instrumentalização Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  79. 79. Problemas de Performance Indisponibilidade Bugs Confiabilidade Mudanças (não-planejadas) Falta de Suporte
  80. 80. API Suite • Login / signup • Criação de Apps • Gestão de tokens • Foruns e suporte • Sandbox • Dev Dashboard Backend • Autenticação • Roteamento • Políticas / quotas • Degub / trace • Monitoramento • Gestão de tokens
  81. 81. www.sensedia.com/br Trace de calls, Monitoramento, Rate Limiting e Alertas
  82. 82. status.aws.amazon.com Status Page, Release Notes, Blog
  83. 83. Foruns de discussão e Abertura de tickets desenvolvedores.extra.com.br
  84. 84. 16 Divulgação Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  85. 85. Hackathon & Open Innovation
  86. 86. 1 Apps criadas: 300+ 2 Developers cadastrados: 800+ 3 Tráfego: 20M calls / 15 dias 4 Eleições mais transparentes!
  87. 87. Plan & Prepare API Strategy Design & Build Run & Engage
  88. 88. Valor URI Recursos Operações Versionamento Media Types Status Codes Filtros Caching Segurança Callbacks Hypermedia Documentação Construção Instrum/zação Divulgação
  89. 89. Construção da API
  90. 90. Execução e instrumentalização
  91. 91. Junte-se ao time!
  92. 92. Fábio Rosato fabio.rosato@sensedia.com @frosato José Vahl jose.vahl@sensedia.com @josevahl

×