Sendgrid Delivered São Paulo - Heitor

508 views

Published on

Apresentação feita para o evento Sendgrid Delivered Road Show, edição São Paulo. Explicação sobre as APIs do Sendgrid, como elas funcionam e como usá-las.

  • Be the first to comment

  • Be the first to like this

Sendgrid Delivered São Paulo - Heitor

  1. 1. Navegando pelas APIs Tuesday, October 1, 13
  2. 2. Olá! Meu nome é Heitor Tashiro Sergent. heitor@sendgrid.com @heitortsergent Tuesday, October 1, 13
  3. 3. Agora você já sabe... • Provedor SMTP com infra-estrutura na nuvem • Extremamente escalonável • Foco na entregabilidade • Analytics nos emails que você envia Tuesday, October 1, 13
  4. 4. Se você tirar uma coisa da palestra SendGrid > Email Relay Tuesday, October 1, 13
  5. 5. Quais APIs o Sendgrid oferece? API • Subuser API • Credentials API • Event Webhook • Inbound Parse Webhook • SMTP API • Web API • Marketing API • Reseller API APIs Overview Tuesday, October 1, 13
  6. 6. Q: Porque eu deveria me importar com as APIs? A: Existem muitas razões, mas principalmente: • Reduzir complexidade de código •Analytics e tracking detalhado • Menor consumo de recursos APIs Overview Tuesday, October 1, 13
  7. 7. Especialmente o tempo do desenvolvedor :) TEMPO É VALIOSO Tuesday, October 1, 13
  8. 8. SMTP API Header SMPT customizado contendo instruções de como processar seu email Adicione informações extra, filtros e manipuladores: • Definir múltiplos recipientes • Substituições de texto • Categorias •Argumentos únicos / Identificadores X-SMTPAPI: { ... } Tuesday, October 1, 13
  9. 9. SMTP API Exemplo: Notificação de cobrança X-SMTPAPI: { "to": ["heitor@sendgrid.com"], "category": "billing_notifications", "unique_args": { "user_id": "12345" } } Tuesday, October 1, 13
  10. 10. SMTP API Exemplo: Notificação de cobrança (cont) Tuesday, October 1, 13
  11. 11. SMTP API X-SMTPAPI: { "to": ["carlos@foo.com","carla@baz.com"], "sub": { "-intro-": ["-greetGuy-", "-greetGirl-"], "-name-": ["Carlos", "Carla"], }, "section": { "-greetGuy-": "Sr. -name-", "-greetGirl-": "Sra. -name-" } } Tuesday, October 1, 13
  12. 12. SMTP API -intro-, Obrigado por terem vindo ao Sendgrid Delivered em São Paulo! Foi um prazer conhecer vocês. Atenciosamente, Heitor Tuesday, October 1, 13
  13. 13. Web API Envie email ou manipule configurações via HTTP (Quase) Tudo que você pode fazer pelo Dashboard do Sendgrid, também é possível pela Web API. • Editar informações do perfil / conta •Adicionar novos Parse endpoints • Pegar estatísticas • Gerenciar listas (Bounces, Blocks, Unsubscribes, etc.) •Adicionar / Remover filtros (apps) Tuesday, October 1, 13
  14. 14. Web API Web API endpoints tem o seguinte formato: https://sendgrid.com/api/<MODULE>.<ACTION>.<FORMAT> Exemplo: Enviar email por HTTP curl -X POST http://sendgrid.com/api/mail.send.json -d “to=carlos@example.com.br” -d “from=contato@myapp.com.br” -d “subject=hello world email” -d “text=algum texto no corpo do email” -d “api_user=your_sendgrid_username” -d “api_key=your_sendgrid_key” Tuesday, October 1, 13
  15. 15. Web API vs. SMTP API Q: Porque eu usaria a Web API ao invés da SMTP API? (Não se preocupe, essa pergunta é muito comum) A: Normalmente você não precisará.A não ser que.... • Seu ISP esteja bloqueando portas SMTP • Exista uma alta latência entre seu aplicativo e Sendgrid • Dificuldade pra instalar/configurar drivers SMTP • Simplicidade para desenvolvedores Tuesday, October 1, 13
  16. 16. Marketing API Acesse o aplicativo newsletter do Sendgrid via API Você pode criar e gerenciar... • Marketing emails • Listas de recipientes • Identidade de envio • Datas de envio programadas https://sendgrid.com/api/newsletter/<ACTION>.<FORMAT> Tuesday, October 1, 13
  17. 17. Webhooks Q: O que são Webhooks? A: Webhooks são como chamadas a API ao inverso; você nos diz para onde os dados devem ir, e nós fazemos o envio. WEB HOOK Tuesday, October 1, 13
  18. 18. •Processed •Dropped •Delivered •Bounced •Opened •Clicked •Spam Reported •Unsubscribed POST Sua aplicação recebe um evento POST (como submeter um formulário) Recebe notificações quando eventos do Sendgrid acontecem Event Notification Webhook Tuesday, October 1, 13
  19. 19. Qual o formato de uma notificação? { "email":"carlos@exemplo.com.br", "timestamp": 1322000095, "unique_arg":"algum argumento", "category":"billing_notification", "event":"delivered" } Event Notification Webhook Tuesday, October 1, 13
  20. 20. Q: Porque eu usaria o event webhook? A: Use para incrementar sua funcionalidade de email atual, e ganhar insight sobre seus usuários. Event Notification Webhook Tuesday, October 1, 13
  21. 21. Permite a você, receber emails dentro de sua aplicação EMAIL JSON 1. Usuário envia email para *@seuapp.com.br 2. Sendgrid ‘parseia’ o email e anexos 3.Você recebe um JSON POST na sua aplicação Inbound Parse Webhook Tuesday, October 1, 13
  22. 22. 2.Aponte o MX record do seu domínio para: Type Value MX 0 mx.sendgrid.net 3. Retorne um status code 200 de sua aplicação 1. Configure seu hostname e URL http://sendgrid.com/developer/reply Inbound Parse Webhook Tuesday, October 1, 13
  23. 23. { "to":"meuapp@meudominio.com.br", "from":"Heitor <heitor@sendgrid.com>", "subject":"SendGrid <3s Brasil", "text":"Algum texto no corpo do email", "html":"Suporta <em>HTML</em> também.", "attachments": 1, // ... } Inbound Parse Webhook Tuesday, October 1, 13
  24. 24. Inbound Parse Webhook Tuesday, October 1, 13
  25. 25. Additional APIs Subuser API • Gerencie e controle contas de subusers. Reseller API • Para parceiros que queiram integrar a plataforma diretamente. Multiple Credentials API •Adicione novas credenciais a sua conta Tuesday, October 1, 13
  26. 26. Demo Time! http://github.com/heitortsergent Tuesday, October 1, 13
  27. 27. Pro Tip #1 MÉTRICAS NÃO-OFICIAIS DE EVENTOS Delivered - Opened = Tempo para leitura Opened - Last Click = Tempo gasto durante a leitura Processed - Delivered = Delay do Sendgrid Exemplo: Tuesday, October 1, 13
  28. 28. Pro Tip #2 TESTE PARA WEBHOOKS • http://hookdebug.sendgrid.com • LocalTunnel v2 • RequestB.in • ngrok Algumas ferramentas: https://github.com/progrium/localtunnel http://requestb.in/ Tuesday, October 1, 13
  29. 29. Pro Tip #3 LEMBRE-SE DOS APPS Tuesday, October 1, 13
  30. 30. Pro Tip #4 SUPORTE PODE SUSPENDER EMAILS Tuesday, October 1, 13
  31. 31. Pro Tip #5 TESTE COM LOADER.IO http://loader.io Tuesday, October 1, 13
  32. 32. Dúvidas? Tuesday, October 1, 13
  33. 33. Recursos adicionais • Documentação: http://docs.sendgrid.com/ • Bibliotecas oficiais: https://github.com/sendgrid/ • Suporte: http://support.sendgrid.com/ Tuesday, October 1, 13
  34. 34. Obrigado! Hora do almoço. :) heitor@sendgrid.com @heitortsergent Tuesday, October 1, 13

×