sendgrid delivered são paulo - heitor

Post on 05-Jul-2015

262 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

Navegando pelas APIs

Tuesday, October 1, 13

Olá!Meu nome é Heitor Tashiro

Sergent.

heitor@sendgrid.com

@heitortsergent

Tuesday, October 1, 13

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

Se você tirar uma coisa da palestra

SendGrid > Email Relay

Tuesday, October 1, 13

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

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

Especialmente o tempo do desenvolvedor :)

TEMPO É VALIOSO

Tuesday, October 1, 13

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

SMTP APIExemplo: Notificação de cobrança

X-SMTPAPI: { "to": ["heitor@sendgrid.com"], "category": "billing_notifications", "unique_args": { "user_id": "12345" }}

Tuesday, October 1, 13

SMTP API

Exemplo: Notificação de cobrança (cont)

Tuesday, October 1, 13

SMTP APIX-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

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

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

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 “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

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

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

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

•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

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

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

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

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

{ "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

Inbound Parse Webhook

Tuesday, October 1, 13

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

Demo Time!http://github.com/heitortsergent

Tuesday, October 1, 13

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

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

Pro Tip #3

LEMBRE-SE DOS APPS

Tuesday, October 1, 13

Pro Tip #4SUPORTE PODE SUSPENDER

EMAILS

Tuesday, October 1, 13

Pro Tip #5TESTE COM LOADER.IO

http://loader.io

Tuesday, October 1, 13

Dúvidas?

Tuesday, October 1, 13

Recursos adicionais

• Documentação: http://docs.sendgrid.com/

• Bibliotecas oficiais: https://github.com/sendgrid/

• Suporte: http://support.sendgrid.com/

Tuesday, October 1, 13

Obrigado!Hora do almoço. :)

heitor@sendgrid.com

@heitortsergent

Tuesday, October 1, 13

top related