Skip to content

Lob

Lob.com é um serviço online que permite enviar mala direta para seus usuários.

Esta integração é mantida pela Lob.

Sobre a integração

Com essa integração, você pode:

  • Enviar cartas, cartões-postais e cheques semelhantes a mala direta pelo correio usando webhooks da Braze e a API da Lob.
  • Compartilhar eventos da Lob com a Braze como atributos e eventos personalizados usando a Transformação de Dados da Braze e webhooks da Lob.

Pré-requisitos

Enviando mala direta usando webhooks da Braze

Etapa 1: Escolha um endpoint da Lob

Dependendo do que você gostaria de fazer na Lob, será necessário usar o endpoint correspondente na solicitação HTTP do seu webhook. Para informações detalhadas sobre cada endpoint, consulte a documentação de referência da API da Lob.

Etapa 2: Crie seu modelo de webhook da Braze

Para criar um modelo de webhook da Lob para usar em futuras Campaigns ou Canvas, acesse Modelos > Modelos de webhook no dashboard da Braze.

Se você gostaria de criar uma Campaign de webhook da Lob única ou usar um modelo existente, selecione Webhook na Braze ao criar uma nova Campaign.

Em seu novo modelo de webhook, preencha os seguintes campos:

  • URL do webhook: <LOB_API_ENDPOINT>
  • Corpo da solicitação: Texto bruto

Cabeçalhos de solicitação e método

A Lob requer um cabeçalho HTTP para autorização e um método HTTP. O seguinte já estará incluído no modelo como um par chave-valor, mas na guia Configurações, você deve substituir o <LOB_API_KEY> pela sua chave de API da Lob. Essa chave deve incluir um “:” logo após a chave e ser codificada em base 64.

  • Método HTTP: POST
  • Cabeçalhos de solicitação:
    • Authorization: Basic <LOB_API_KEY>:
    • Content-Type: application/json

Código do corpo da solicitação e URL do webhook exibidos na guia de composição do criador de webhooks da Braze.

Corpo da solicitação

A seguir, um exemplo de corpo de solicitação para o endpoint de cartões-postais da Lob. Embora esse corpo de solicitação seja fornecido no modelo base da Lob na Braze, se você desejar usar outros endpoints, será necessário ajustar seus campos Liquid adequadamente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
  "description": "Demo Postcard",
  "to": {
    "name": "{{${first_name}}} {{${last_name}}}",
    "address_line1": "{{custom_attribute.${address_line1}}}",
    "address_city": "{{custom_attribute.${address_city}}}",
    "address_zip": "{{custom_attribute.${address_zip}}}",
    "address_country": "{{custom_attribute.${address_country}}}"
  },
  "front": "https://lob.com/postcardfront.pdf",
  "back": "https://lob.com/postcardback.pdf",
  "use_type": "marketing",
  "size": "6x11"
}

Etapa 3: Visualize sua solicitação

Nesse ponto, sua Campaign deve estar pronta para ser testada e enviada. Verifique o dashboard da Lob e os registros de mensagens de erro do console de desenvolvedor da Braze se encontrar erros. Por exemplo, o erro a seguir foi causado por um cabeçalho de autenticação formatado incorretamente.

Um registro de erros de mensagens que mostra a hora, o nome do app, o canal e a mensagem de erro. A mensagem de erro inclui o alerta de mensagem e o código de status.

Compartilhando eventos usando webhooks da Lob

A Transformação de Dados da Braze permite que você crie e gerencie webhooks para automatizar o fluxo de dados de plataformas externas para a Braze. Cada transformação recebe um endpoint exclusivo, que outras plataformas podem usar como destino do seu webhook.

Etapa 1: Crie uma transformação na Braze

  1. No dashboard da Braze, acesse Configurações de dados > Transformações de dados e selecione Criar transformação.
  2. Insira um nome curto e descritivo para sua transformação.
  3. Em Experiência de edição, selecione Usar um modelo, pesquise por Lob e marque a caixa.
  4. Quando terminar, selecione Criar transformação. Você será redirecionado para o editor de transformação, que usará na próxima etapa.

Etapa 2: Preencha o modelo da Lob

Com este modelo, você pode transformar um dos seus eventos da Lob em um evento ou atributo personalizado que pode ser usado na Braze. Siga os comentários em linha para terminar de construir o modelo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// First, this code defines a variable, "brazecall", to build up a /users/track request
// Everything from the incoming webhook is accessible via the special variable "payload". As such, you can template in desired values in your /users/track request with JavaScript dot notation, such as payload.x.y.z

// In this example, this function removes the periods and underscores of the event_type.id sent in the Lob payload so that an event id that is formatted like: `letter.processed_for_delivery` will log an event to Braze with the name `letter processed for delivery`.

function formatString(input) {
    return input.replace(/[._]/g, ' ');
}

let braze_event = formatString(payload.event_type.id);

// In this example, a metadata value passed in the Lob Webhook called 'external_ID' is being used to match the Event to the corresponding Braze user.

let brazecall = {
  "attributes": [
    {
      "external_id": payload.body.metadata.external_id,
      "_update_existing_only": true,
      "Most Recent Mailer": payload.body.description
    }
  ],
  "events": [
    {
      "external_id": payload.body.metadata.external_id,
      "_update_existing_only": true,
      "name": braze_event,
      "time": new Date().toISOString(),
// Customize the properties to the Lob event you are syncing. Our example below pulls in the Tracking Events array of objects associated with certain Lob events.
      "properties": {
        "tracking_events": payload.body.tracking_events
      }
    }
  ]
};
// After the /users/track request is assigned to brazecall, you will want to explicitly return brazecall to create an output
return brazecall;

Etapa 3: Crie um webhook na Lob

  1. Quando terminar de construir seu modelo, selecione Ativar e copie a URL do webhook para sua área de transferência.
  2. Na Lob, crie um novo webhook e use a URL do webhook da Braze para receber o webhook.
New Stuff!