Skip to content

Lob

Lob.com は、ユーザーにダイレクトメールを送ることができるオンラインサービスです。

この統合はLobによって管理されています。

統合について

この統合により、次のことが可能になります。

  • Braze webhookとLob APIを使用して、手紙やはがき、小切手などのダイレクトメールを郵送する。
  • Brazeデータ変換とLob webhookを使用して、LobイベントをBrazeのカスタム属性およびイベントとして共有する。

前提条件

Braze webhookを使用したメールの送信

ステップ1: Lobエンドポイントの選択

Lobで実行する内容に応じて、webhookのHTTPリクエストで対応するエンドポイントを使用する必要があります。各エンドポイントの詳細については、LobのAPIリファレンスドキュメントを参照してください。

ステップ2: BrazeのWebhookテンプレートを作成する

今後のCampaignsやCanvasesで使用するLob Webhookテンプレートを作成するには、Brazeダッシュボードのテンプレート > Webhookテンプレートに移動します。

単発のLob Webhook Campaignを作成したい場合、または既存のテンプレートを使用したい場合は、新しいCampaignを作成する際にBrazeでWebhookを選択します。

新しいWebhookテンプレートに、次のフィールドを入力してください:

  • Webhook URL: <LOB_API_ENDPOINT>
  • リクエスト本文: Raw Text

リクエストヘッダーとメソッド

Lobには、認証用のHTTPヘッダーとHTTPメソッドが必要です。以下の内容はすでにキーと値のペアとしてテンプレートに含まれていますが、設定タブで<LOB_API_KEY>をご使用のLob APIキーに置き換える必要があります。このキーの直後に「:」を付加し、base 64でエンコードする必要があります。

  • HTTPメソッド: POST
  • リクエストヘッダー:
    • Authorization: Basic <LOB_API_KEY>:
    • Content-Type: application/json

Braze Webhookビルダーの作成タブに表示されているリクエスト本文のコードとWebhook URL。

リクエスト本文

Lobポストカードエンドポイントのリクエスト本文の例を次に示します。このリクエスト本文はBrazeの基本Lobテンプレートで提供されますが、他のエンドポイントを使用する場合は、それに応じてLiquidフィールドを調整する必要があります。

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

ステップ3: リクエストをプレビューする

この時点で、Campaignはテストと送信の準備ができているはずです。エラーが発生した場合は、LobダッシュボードとBraze開発者コンソールのエラーメッセージログを確認してください。例えば、以下のエラーは、認証ヘッダーのフォーマットが正しくないために発生したものです。

時間、アプリ名、チャネル、エラーメッセージを示すメッセージエラーログ。エラーメッセージには、メッセージアラートとステータスコードが含まれます。

Lob webhookを使用したイベントの共有

Brazeデータ変換を使用すると、外部プラットフォームからBrazeへのデータフローを自動化するためのwebhookを構築および管理できます。各変換には一意のエンドポイントが割り当てられ、他のプラットフォームがwebhookの送信先として使用できます。

ステップ1: Brazeで変換を作成する

  1. Brazeダッシュボードで、データ設定 > データ変換に移動し、変換の作成を選択します。
  2. 変換を表す短いわかりやすい名前を入力します。
  3. 編集エクスペリエンスで、テンプレートを使用を選択し、Lobを検索してチェックボックスをオンにします。
  4. 完了したら、変換を作成を選択します。次のステップで使用する変換エディターにリダイレクトされます。

ステップ2: Lobテンプレートの入力

このテンプレートを使用すると、Lobイベントの1つを、Brazeで使用できるカスタムイベントまたは属性に変換できます。インラインコメントに従い、テンプレートの作成を完了してください。

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;

ステップ3: Lobでwebhookを作成する

  1. テンプレートの作成が完了したら、アクティブ化するを選択し、Webhook URLをクリップボードにコピーします。
  2. Lobで新しいwebhookを作成し、BrazeのWebhook URLを使用してwebhookを受信します。
New Stuff!