各APIの利用docs.
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
配布イベントの作成(ワンタイム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"
}

Distribution Event Import APIのcurlを用いた実行サンプル
$ 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 'Response
{
"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"
}'
{
"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 Import APIの返り値である transaction_id を用いて、配布イベントの状態及び報酬受取用ワンタイムURLの取得を行うためのAPIです。

Distribution Event Check APIのcurlを用いた実行サンプル
$ 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"
}
}

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

Raffle Event Import APIのcurlを用いた実行サンプル
$ 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 'Response
{
"raffle_rule_id": "cfga7ja23akg00bi90d0",
"service_uid": "unique-service-user-id",
"conversion_at": "2023-03-31T12:00:00+09:00",
"email": "your.email@repro.io"
}'
{
"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 Import APIの返り値である transaction_id を用いて、配布イベントの状態及び報酬受取用ワンタイムURLの取得を行うためのAPIです。

Raffle Event Check APIのcurlを用いた実行サンプル
$ 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送信先情報を設定下さい。

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

Loyn上でのWebhookの設定例

Sendgrid上でのDynamic Templateの設定例

エンドユーザーに対しSendgridから送信されるメールのイメージ
Appendix
API連携の場合のスケジュールとタスク
Repro Incentiveの管理画面開設後は本ドキュメントと管理画面上の情報のみでAPIの利用が可能です。実施する施策のオペレーション自動化等に際し必要に応じて進め方をご相談させて下さい。
