API認証

APIのリクエストにはAPIキーが必須です。APIが不正な場合にはエラーが返されます。

Request Header

ヘッダー 説明 任意/必須
Content-Type application/json を指定します。 必須
X-Repro-Incentive-Api-Key APIトークンの確認で取得したトークンを指定します。 必須

Response

API Key is Valid

API Keyが正常な場合には、各種のAPIのレスポンスが返されます。

Invalid API Key

APIキーが正しくない場合、どのAPIでも一律に以下のレスポンスが返されます。

{
  "result_info": {
    "code": "Unauthorized",
    "message": "Invalid Api Key",
  "operation_id": "APIリクエストの識別ID。問い合わせ時にはこちらの情報を付帯してください"
  }
}

APIのレスポンスの共通エリア

全てのAPIは共通して以下の情報をレスポンスの一部に含みます
全てのレスポンスはJSONで返されます。
また、result_infoは各APIで共通したフォーマットであり、valueにはAPIリクエスト対する受入・拒否などの応答が返されます。
dataのvalueはAPI種類に応じて異なるデータ種類が返されます。

Key Valueの説明
result_info:code RFC7231にて定義されたレスポンスコード
result_info:message APIリクエストの結果を端的に伝えるメッセージ
result_info:operation_id APIリクエストの識別ID。問い合わせに用いるAPI
data valueはAPI種類に応じて異なるデータ種類が返される

API

Distribution Event Import APIの詳細

Distribution Event Import API

配布イベントの作成(ワンタイムURLの発行)を行うAPIです。ワンタイムURLはレスポンスには含まれず、後述するWebhookもしくはEvent Check APIにて取得します。

{
  "distribution_rule_id": "cabd4si23akg00bbdk6ga",
  "distribution_target_strategy_id": "cabd4si23akg00bbdk70",
  "service_uid": "your.user_id-from-api",
  "conversion_at": "2024-01-01T12:00:00+09:00",
  "distribution_point_amount": 10,
  "point_provider": "test_point_provider",
  "email": "your.email@gmail.com"
}
API用リクエスト情報の画面スクリーンショット
API用リクエスト情報をコピーできます。APIの実装時にこの画面から都度コピーして下さい。

Distribution Event Import APIのcurlを用いた実行サンプル

Request
$ curl "https://api.incentive.reproio.com/external/v1/distribution_events" -X POST  -H "X-Repro-Incentive-Api-Key: repro.Y2FmZXBocTIzYWtnMDBlcTVlazA=" -H "Content-Type: application/json" -d '
{
  "distribution_rule_id": "cabd4si23akg00bbdk6ga",
  "distribution_target_strategy_id": "cabd4si23akg00bbdk70",
  "service_uid": "your.user_id-from-api",
  "conversion_at": "2024-01-01T12:00:00+09:00",
  "distribution_point_amount": 10,
  "point_provider": "test_point_provider",
  "email": "your.email@gmail.com"
}'
Response
{
  "result_info": {
    "code": "Accepted",
    "message": "Distribution event import is accepted",
    "operation_id": "35266d82-b8a2-4855-8db3-1e9d2dcf0b27"
  },
  "data": {
    "transaction_id": "cacnjbi23akg00fqn4jg"
  }
}
レスポンスの一例
レスポンスの一例
Distribution Event Check APIの詳細

Distribution Event Check API

Distribution Event Import APIの返り値である transaction_id を用いて、配布イベントの状態及び報酬受取用ワンタイムURLの取得を行うためのAPIです。

レスポンスコード一覧
※URLの作成が行えなかったAPI呼び出しについては全て404 Not Foundが返されます。

Distribution Event Check APIのcurlを用いた実行サンプル

Request
$ curl "https://api.incentive.reproio.com/external/v1/distribution_events/-/cacnjbi23akg00fqn4jg" -X GET  -H "X-Repro-Incentive-Api-Key: repro.Y2FmZXBocTIzYWtnMDBlcTVlazA=" -H "Content-Type: application/json"
Response
{
  "result_info": {
    "code": "SUCCESS",
    "message": "SUCCESS",
    "operation_id": "02536022-4f3e-4118-afba-34a1a63ef6a8"
  },
  "data": {
    "distribution_event_id": "cabd4si23akg00bbdk6g-your.user_id-from-api-1654229400000",
    "distribution_rule_id": "cabd4si23akg00bbdk6g",
    "distribution_target_strategy_id": "cabd4si23akg00bbdk70",
    "service_uid": "your.user_id-from-api",
    "conversion_at": "2024-01-01T12:00:00+09:00",
    "distribution_point_amount": 10,
    "point_provider": "test_point_provider",
    "email": "your.email@gmail.com",
    "onetime_url": "https://incentive.repro.io/gift?hash=xxxxx3c18667efcc064a9d6ba5592992684daf3e307d15e9342bf0eee149d9rt"
    "expired_at":  "2024-04-01T13:10:00+09:00"
  }
}
API Request詳細

Raffle Event Import API

抽選イベントの作成(ワンタイムURLの発行)を行うAPIです。ワンタイムURLはレスポンスには含まれず、後述するWebhookもしくはEvent Check APIにて取得します。

{
  "raffle_rule_id": "cfga7ja23akg00bi90d0",
  "service_uid": "unique-service-user-id",
  "conversion_at": "2023-03-31T12:00:00+09:00",
  "email": "your.email@repro.io"
}
API用リクエスト情報
API用リクエスト情報をコピー出来ます。APIの実装時にこの画面から都度コピーして下さい。

Raffle Event Import APIのcurlを用いた実行サンプル

Request
$ curl "https://api.incentive.reproio.com/external/v1/raffle_events" -X POST  -H "X-Repro-Incentive-Api-Key: repro.Y2FmZXBocTIzYWtnMDBlcTVlazA=" -H "Content-Type: application/json" -d '
{
  "raffle_rule_id": "cfga7ja23akg00bi90d0",
  "service_uid": "unique-service-user-id",
  "conversion_at": "2023-03-31T12:00:00+09:00",
  "email": "your.email@repro.io"
}'
Response
{
  "result_info": {
    "code": "Accepted",
    "message": "Raffle event import is accepted",
    "operation_id": "35266d82-b8a2-4855-8db3-1e9d2dcf0b27"
  },
  "data": {
    "transaction_id": "cacnjbi23akg00fqn4jg"
  }
}
レスポンスの一例
レスポンスの一例
Raffle Event Check APIの詳細

Raffle Event Check API

Raffle Event Import APIの返り値である transaction_id を用いて、配布イベントの状態及び報酬受取用ワンタイムURLの取得を行うためのAPIです。

Response詳細
※URLの作成が行えなかったAPI呼び出しについては全て404 Not Foundが返されます。

Raffle Event Check APIのcurlを用いた実行サンプル

Request
$ curl "https://api.incentive.reproio.com/external/v1/raffle_events/-/cacnjbi23akg00fqn4jg" -X GET  -H "X-Repro-Incentive-Api-Key: repro.Y2FmZXBocTIzYWtnMDBlcTVlazA=" -H "Content-Type: application/json"
Response
{
  "result_info": {
    "code": "SUCCESS",
    "message": "SUCCESS",
    "operation_id": "02536022-4f3e-4118-afba-34a1a63ef6a8"
  },
  "data": {
    "raffle_event_id": "cfga7ja23akg00bi90d0-unique-service-user-id-1680231600000",
    "raffle_rule_id": "cfga7ja23akg00bi90d0",
    "service_uid": "unique-service-user-id",
    "conversion_at": "2023-03-31T12:00:00+09:00",
    "email": "your.email@repro.io",
    "raffle_event_onetime_url": "ONE_TIME_URL",
    "drew_at": "2023-04-30T12:00:00+09:00",
    "close_at": "2023-06-30T13:10:00+09:00",
    "expired_at": "2023-06-30T13:10:00+09:00"
  }
}

Webhook

Outbound Webhook sent when a Distribution Event is created

配布イベント(ワンタイムURL)が生成された際にWebhookを送信することが出来ます。Webhookの内容は自由に記載でき、Incentive上にある変数を差し込むことができます。

利用可能な変数一覧

Distribution Event Postback

配布ルールに対して、ポストバックする先を設定できる。設定可能な項目は下記の通り。

◾️URL
任意文字列(変数の埋め込みが可能)

◾️HTTP METHOD
POST

◾️Request Header
任意文字列(変数の埋め込みが可能)

◾️Request Body
任意文字列のJSONファイル(変数の埋め込みが可能)

Request Bodyの任意文字列には右記の項目(変数)を埋め込むことができる

 

配布ルールページからWebhook追加を押下し、URLなどのWebhook送信先情報を設定下さい。

Webhookの追加方法

以下は設定の一例です。Sendgridにメールを送信する場合を想定しています。

Repro Incentive上でのWebhookの設定例

Loyn上でのWebhookの設定例

Sendgrid上でのDynamic Templateの設定例

Sendgrid上でのDynamic Templateの設定例

エンドユーザーに対しSendgridから送信されるメールのイメージ

エンドユーザーに対しSendgridから送信されるメールのイメージ

Appendix

API連携の場合のスケジュールとタスク

Repro Incentiveの管理画面開設後は本ドキュメントと管理画面上の情報のみでAPIの利用が可能です。実施する施策のオペレーション自動化等に際し必要に応じて進め方をご相談させて下さい。

API連携の場合のスケジュールとタスク
上記は、継続して実施するインセンティブマーケティング施策のオペレーション自動化に際し、現在のシステム構成を確認し、API連携を進めていく場合の流れの一例です。

PAGE TOP