メインコンテンツまでスキップ

サーバーイベントAPI仕様

このドキュメントは、RoktのAPIと連携してイベントをRoktに送信するために必要な関連エンドポイントを概説しています。

このエンドポイントと連携するために必要な資格情報を取得するには、アカウントマネージャーと協力してください。

エンドポイントエンドポイント への直接リンク

環境アクションURL
本番環境POSThttps://server-api.rokt.com/v1/partner/events
テスト環境POSThttps://server-api-demo.rokt.com/v1/partner/events

テストのベストプラクティステストのベストプラクティス への直接リンク

テスト用エンドポイント https://server-api-demo.rokt.com/v1/partner/events は、テスト専用に設計されており、本番データやパフォーマンスに影響を与えることなく統合を検証するために使用する必要があります。APIドキュメントで指定されている適切なヘッダーとリクエスト形式を使用して、本番に近いシナリオを効果的にエミュレートしてください。

リクエストリクエスト への直接リンク

認証ヘッダー認証ヘッダー への直接リンク

ヘッダーキー説明タイプ注意
rokt-pub-id提供されたクライアントのパブリックIDを含むstringこれはRoktによって提供されます。
rokt-secret提供されたクライアントのパブリックシークレットを含み、パブリックIDと一致する必要がありますstringこれはRoktによって提供されます。

必須ヘッダー必須ヘッダー への直接リンク

ヘッダーキー説明タイプ
content-typeメディアタイプstring“application/json”
acceptレスポンスの期待されるメディアタイプstring“application/json”
rokt-tag-idRokt タグIDstring1234567890

ルート/ボディルート/ボディ への直接リンク

プロパティ名必須データタイプ説明
eventsはいPartnerEvent[]Roktに送信されるイベントのコレクション

PartnerEventPartnerEvent への直接リンク

プロパティ名必須データ型説明
eventTypeはいstring公開されるイベントの名前。イベントタイプセクションのEventTypeと一致します。
eventTimeはいstringイベントが作成された時刻をDateTimeOffset (ISO文字列、GMT+0) で表します。
例: 2022-04-20T00:11:47.529Z
sessionIdはいstringイベントが関連付けられているセッションのID。/offersレスポンスから取得されます。キー項目を参照してください。
parentGuidはいstringリンクされた親のインスタンスGUID。イベントタイプ - 親GUIDソースでこのフィールドのソースを確認してください。
clientUniqueIdはいstringRoktセッションとパートナーセッションをトラブルシューティングのためにリンクする識別子:
<Transaction ID>
metadata任意NameValuePair[]イベントに関連する追加のメタデータのコレクション

NameValuePairNameValuePair への直接リンク

プロパティ名必須データ型説明
Nameはいstring提供されるプロパティの名前/識別子
Valueはいstring提供された名前に関連するデータ
注記
  • イベントinstanceGuidの作成はRokt APIによって処理されます
  • 共通メタデータはRokt APIによって追加されます
  • エンドポイントは一度に最大25のイベントのみを処理できます
  • 同じリクエストに属するすべてのイベントは同じセッション識別子sessionIdを共有する必要があります
  • 各イベントのEventTimeは以下の条件を満たす必要があります:
    • 未来の日付でないこと(5分の猶予)
    • 過去3日を超えないこと

イベントタイプイベントタイプ への直接リンク

イベントタイプ説明
SignalImpression配置、スロット、またはクリエイティブがレンダリングされ、顧客に表示されるたびに発生します。表示の遅延がある場合は、ビューが非表示から表示されるときに発生します。これは、One Platform ダッシュボードの配置インプレッションメトリックに対応します。
各 placementGuid/slotGuid/creativeGuid に必要です。
SignalViewed配置がビューポート内で 50%以上の可視性を持ち、少なくとも1秒間表示されると発生します。
各 creativeGuid に必要です。
SignalResponse消費者がクリエイティブの応答オプションに関与したときに発生します。
各 responseOptionGuid に必要です。
注記

parentGuid フィールドで使用する slotGuid、creativeGuid、placementGuid、および responseOptionGuid は、Offers API レスポンスで見つけることができます。

リクエスト例リクエスト例 への直接リンク

JSON リクエストボディ/ペイロード

{
"events": [
{
"eventType": "SignalImpression",
"eventTime": "2022-06-28T07:11:01.711Z",
"parentGuid": "58bcbaa0-e13c-4a3d-84cd-2803ccc35394", // これは slotGuid、creativeGuid、または placementGuid である必要があります
"sessionId": "aec20024-8d23-46be-95f3-9be5d86292a9",
"clientUniqueId": "10f7d87b-e879-47b2-9638-a667e63beae2",
"metadata": [
{
"name": "AdditionalData",
"value": "ImpressionSlot"
}
]
},
{
"eventType": "SignalViewed",
"eventTime": "2022-06-28T07:11:01.711Z",
"parentGuid": "b3a1d523-5490-49f0-a379-7a67628a4cdd", // これは creativeGuid である必要があります
"sessionId": "aec20024-8d23-46be-95f3-9be5d86292a9",
"clientUniqueId": "10f7d87b-e879-47b2-9638-a667e63beae2",
"metadata": [
{
"name": "AdditionalData",
"value": "ImpressionCreative"
}
]
},
{
"eventType": "SignalResponse",
"eventTime": "2022-06-28T07:11:01.711Z",
"parentGuid": "6bea8e29-b3cd-4717-bd82-59ccbca0d863", // これは responseOptionGuid である必要があります
"sessionId": "aec20024-8d23-46be-95f3-9be5d86292a9",
"clientUniqueId": "10f7d87b-e879-47b2-9638-a667e63beae2",
```json
"metadata": [
{
"name": "experienceId",
"value": "RedButton"
}
]

レスポンスレスポンス への直接リンク

成功レスポンス (200)成功レスポンス (200) への直接リンク

ルート/ボディルート/ボディ への直接リンク

プロパティ名データ型説明
successbooleanイベントがRoktによって正常に受信されたかどうかを示します
processedEventsCountnumber/intRoktによって正常に受け入れられたイベントの数を示します
unprocessedEventsUnprocessedEvent[]受け入れられなかったイベントのコレクションと、各イベントごとのエラーの説明

UnprocessedEventUnprocessedEvent への直接リンク

プロパティ名データ型説明
eventPartnerEventイベントがRoktによって正常に受信されたかどうかを示します
errorsError[]Roktによって正常に受け入れられたイベントの数を示します

例 への直接リンク

{ 
"processedEventsCount": 5,
"unprocessedEvents": [],
"success": true }

部分成功レスポンス (207)部分成功レスポンス (207) への直接リンク

有効なイベントと無効なイベントが送信された場合、Roktは有効なイベントの処理を試み、受け入れられた数を示し、受け入れられなかったイベントを提供する混合レスポンス(HTTP 207)ステータスを返します。

{
"processedEventsCount": 5,
"unprocessedEvents": [
{
"errors": [
{
"code": "InvalidEventType",
"message": "イベントタイプが無効です"
},
{
"code": "SessionIdMissing",
"message": "SessionIdが欠落しているか無効です"
},
{
"code": "ParentGuidIsMissing",
"message": "ParentGuidがnullまたは空です"
},
{
"code": "EventTimeIsMissing",
"message": "EventTimeがnullまたはデフォルトです"
}
],
"event": {
"eventType": "Unknown",
"sessionId": "",
"eventTime": "0001-01-01T00:00:00+00:00",
"parentGuid": "",
"clientUniqueId": "265d3a90-4c84-4c17-99af-e09b862b925c"
}
}
],
"success": false
}

リクエストエラー応答 (4XX)リクエストエラー応答 (4XX) への直接リンク

ルート/ボディルート/ボディ への直接リンク

プロパティ名データ型説明
titlestringトップレベルの失敗理由
statusnumberHTTP ステータスコード
successbooleanリクエストが成功したかどうかを示します
errorsError[]発生したバリデーションエラーのコレクション

バリデーションエラーバリデーションエラー への直接リンク

{
"title": "Validation failed",
"status": 422,
"success": false,
"errors": [
{
"code": "TooManyEvents",
"message": "The number of events provided exceeds the limit 25"
}
]
}

空のイベントリクエスト空のイベントリクエスト への直接リンク

{
"title": "Validation failed",
"status": 422,
"success": false,
"errors": [
{
"code": "NoEventsProvided",
"message": "Events cannot be null or empty"
}
]
}

空のボディリクエスト空のボディリクエスト への直接リンク

{
"title": "BadRequest",
"status": 400,
"success": false,
"errors": [
{
"code": "InvalidRequestPayload",
"message": "リクエストボディの形式が無効です"
}
]
}

エラーエラー への直接リンク

プロパティ名データ型説明
codestring対応するエラーコード
messagestringエラーを説明するメッセージ

内部サーバーエラー (HTTP 5xx)内部サーバーエラー (HTTP 5xx) への直接リンク

稀に、システムが予期せずリクエストを完了できない場合があります。この場合、標準のHTTPレスポンスコードに準拠した適切なステータスコードでボディなしのリクエストを返します。このレスポンスが発生した場合、短時間(1〜2秒)遅延させてリクエストを再試行することをお勧めします。問題が持続するか、頻繁に発生する場合は、問題の特定と修正を支援するためにsupport(support@rokt.com)までご連絡ください。

この記事は役に立ちましたか?