sendgrid delivered são paulo - heitor
DESCRIPTION
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.TRANSCRIPT
![Page 1: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/1.jpg)
Navegando pelas APIs
Tuesday, October 1, 13
![Page 2: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/2.jpg)
Olá!Meu nome é Heitor Tashiro
Sergent.
@heitortsergent
Tuesday, October 1, 13
![Page 3: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/3.jpg)
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
![Page 4: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/4.jpg)
Se você tirar uma coisa da palestra
SendGrid > Email Relay
Tuesday, October 1, 13
![Page 5: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/5.jpg)
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
![Page 6: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/6.jpg)
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
![Page 7: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/7.jpg)
Especialmente o tempo do desenvolvedor :)
TEMPO É VALIOSO
Tuesday, October 1, 13
![Page 8: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/8.jpg)
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
![Page 9: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/9.jpg)
SMTP APIExemplo: Notificação de cobrança
X-SMTPAPI: { "to": ["[email protected]"], "category": "billing_notifications", "unique_args": { "user_id": "12345" }}
Tuesday, October 1, 13
![Page 10: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/10.jpg)
SMTP API
Exemplo: Notificação de cobrança (cont)
Tuesday, October 1, 13
![Page 11: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/11.jpg)
SMTP APIX-SMTPAPI: { "to": ["[email protected]","[email protected]"], "sub": { "-intro-": ["-greetGuy-", "-greetGirl-"], "-name-": ["Carlos", "Carla"], }, "section": { "-greetGuy-": "Sr. -name-", "-greetGirl-": "Sra. -name-" }}
Tuesday, October 1, 13
![Page 12: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/12.jpg)
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
![Page 13: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/13.jpg)
Web APIEnvie 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
![Page 14: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/14.jpg)
Web API
Web API endpoints tem o seguinte formato:https://sendgrid.com/api/<MODULE>.<ACTION>.<FORMAT>
Exemplo: Enviar email por HTTPcurl -X POST http://sendgrid.com/api/mail.send.json \ -d “[email protected]” \ -d “[email protected]” \ -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
![Page 15: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/15.jpg)
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
![Page 16: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/16.jpg)
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
![Page 17: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/17.jpg)
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.
WEBHOOK
Tuesday, October 1, 13
![Page 18: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/18.jpg)
•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
![Page 19: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/19.jpg)
Qual o formato de uma notificação?
{ "email":"[email protected]", "timestamp": 1322000095, "unique_arg":"algum argumento", "category":"billing_notification", "event":"delivered"}
Event Notification Webhook
Tuesday, October 1, 13
![Page 20: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/20.jpg)
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
![Page 21: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/21.jpg)
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
![Page 22: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/22.jpg)
2. Aponte o MX record do seu domínio para:
Type ValueMX 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
![Page 23: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/23.jpg)
{ "to":"[email protected]", "from":"Heitor <[email protected]>", "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
![Page 24: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/24.jpg)
Inbound Parse Webhook
Tuesday, October 1, 13
![Page 25: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/25.jpg)
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
![Page 26: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/26.jpg)
Demo Time!http://github.com/heitortsergent
Tuesday, October 1, 13
![Page 27: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/27.jpg)
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
![Page 28: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/28.jpg)
Pro Tip #2
TESTE PARA WEBHOOKS
• http://hookdebug.sendgrid.com• LocalTunnel v2• RequestB.in• ngrok
Algumas ferramentas:
https://github.com/progrium/localtunnelhttp://requestb.in/
Tuesday, October 1, 13
![Page 29: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/29.jpg)
Pro Tip #3
LEMBRE-SE DOS APPS
Tuesday, October 1, 13
![Page 30: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/30.jpg)
Pro Tip #4SUPORTE PODE SUSPENDER
EMAILS
Tuesday, October 1, 13
![Page 31: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/31.jpg)
Pro Tip #5TESTE COM LOADER.IO
http://loader.io
Tuesday, October 1, 13
![Page 32: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/32.jpg)
Dúvidas?
Tuesday, October 1, 13
![Page 33: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/33.jpg)
Recursos adicionais
• Documentação: http://docs.sendgrid.com/
• Bibliotecas oficiais: https://github.com/sendgrid/
• Suporte: http://support.sendgrid.com/
Tuesday, October 1, 13
![Page 34: Sendgrid Delivered São Paulo - Heitor](https://reader034.vdocuments.net/reader034/viewer/2022052413/55984d1c1a28ab4b6d8b4757/html5/thumbnails/34.jpg)
Obrigado!Hora do almoço. :)
@heitortsergent
Tuesday, October 1, 13