連携

Webhook

記録されたクリックごとにJSONのPOSTを受け取ります。ZapierのREST Hooksが購読するのと同じイベントです。

GrowthとUltimateでは、クリックが記録されると、Letlinkはワークスペースに登録されたすべてのHTTPS URLにJSONをPOSTします。オーナーと管理者は連携 → WebhookでURLを追加・削除できます。メンバーは一覧を閲覧できますが、変更はできません。

エンドポイントを追加

  1. Content-Type: application/jsonのPOSTを受け付けるHTTPS URLを用意してください。HTTPは拒否されます。
  2. 連携 → Webhookに貼り付けて保存します。イベント名はlink_visitedです。
  3. 短縮リンクのいずれかをクリックします(月間上限を超えていないネットワークから)。数秒以内にリクエストが届くはずです — 配信はリダイレクト処理とは別にキューで行われます。

APIからも登録できます:POST /api/v1/hooks/subscribeにtarget_urlと任意のevent(デフォルトはlink_visited)を指定します。ZapierのREST Hooksも同じ登録/解除ルートを呼び出します。

ペイロード

ボディは正規の訪問オブジェクトです。空のUTMやストアのフィールドはnullになります。

link_visited
{
  "visit_id": 42,
  "visit_time": "2026-09-09T18:01:22+00:00",
  "link_type": "utm",
  "link_shortcode": "summer",
  "link_domain": "letl.ink",
  "link_destination_url": "https://example.com/a",
  "utm_source": "newsletter",
  "utm_campaign": "sep",
  "utm_medium": "email",
  "google_play_app_url": null,
  "google_play_utm_source": null,
  "google_play_utm_campaign": null,
  "app_store_app_url": null,
  "app_store_ct": null,
  "instagram_username": null,
  "visitor_ip": "203.0.113.10",
  "visitor_browser": "Chrome",
  "visitor_device_type": "desktop",
  "visitor_referrer": "https://mail.example.com/",
  "visitor_variation": "hero-b"
}

Webhookが発火しない場合

  • ワークスペースがFreeまたはSoloです(allowsWebhooksがオフ)。
  • 月間の計測クリック上限にすでに達しています — リダイレクトは行われますが、行は書き込まれないため、何も送信されません。
  • デバイスごとの訪問回数制限により、クリックが保存される前に429が返されました。
  • 国別アクセスルールにより訪問者が拒否されました。ブロックされた訪問はクリックとして保存されません。
  • 送信先のURLがダウンしています。配信はベストエフォートで、訪問者を遅らせることはありません。失敗した投稿はこのページから再試行されません。

誰に何が届くか

フックはユーザーごとに保存されます。各メンバーのlink_visited URLには、ワークスペース内のどのリンクのクリックも通知されます。2人のチームメイトがそれぞれZapierを登録していれば、両方のZapが実行されます。残ったCatch Hookが発火し続けないよう、使わないURLは削除してください。

まだご質問がありますか?

お手伝いします。ご連絡いただければ、できるだけ早くご返信します。