連携
Webhook
記録されたクリックごとにJSONのPOSTを受け取ります。ZapierのREST Hooksが購読するのと同じイベントです。
GrowthとUltimateでは、クリックが記録されると、Letlinkはワークスペースに登録されたすべてのHTTPS URLにJSONをPOSTします。オーナーと管理者は連携 → WebhookでURLを追加・削除できます。メンバーは一覧を閲覧できますが、変更はできません。
エンドポイントを追加
Content-Type: application/jsonのPOSTを受け付けるHTTPS URLを用意してください。HTTPは拒否されます。- 連携 → Webhookに貼り付けて保存します。イベント名は
link_visitedです。 - 短縮リンクのいずれかをクリックします(月間上限を超えていないネットワークから)。数秒以内にリクエストが届くはずです — 配信はリダイレクト処理とは別にキューで行われます。
APIからも登録できます:POST /api/v1/hooks/subscribeにtarget_urlと任意のevent(デフォルトはlink_visited)を指定します。ZapierのREST Hooksも同じ登録/解除ルートを呼び出します。
ペイロード
ボディは正規の訪問オブジェクトです。空のUTMやストアのフィールドはnullになります。
{
"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は削除してください。