メインコンテンツへスキップ
バージョン: 最新版

ルーティングルールの作成

決済ルーティング用の新しいルーティンググループルールを作成します。ルーティングルールを使用すると、様々な条件に基づいて、トランザクションが異なる決済プロバイダーやアクワイアラ間でどのように処理されるかを制御できます。


🔑API認証情報

リクエストパラメータ

必須 - 3フィールド必須パラメータ
`name`STRING(required)
ルーティングルールの人間が読める名前。ダッシュボードやログでの識別に使用されます。
Example:"Route high-value cards to Provider A"
`conditions`ARRAY(required)
このルールが適用されるタイミングを決定する条件オブジェクトの配列。各条件は、照合するフィールド、演算子、値を指定します。
Example:[{"field":"amount","operator":"gte","value":100000}]
`provider`STRING(required)
ターゲット決済プロバイダー識別子。このルールに一致するトランザクションはこのプロバイダーにルーティングされます。
Example:"provider_a"
条件構造条件パラメータ
`conditions[].field`STRING(required)
評価するトランザクションフィールド。オプションには amount、currency、card_brand、card_type、card_country、metadata フィールドが含まれます。
Example:"amount"
Values:amount, currency, card_brand, card_type, card_country, metadata
`conditions[].operator`STRING(required)
条件の比較演算子。
Example:"gte"
Values:eq, neq, gt, gte, lt, lte, in, not_in, contains
`conditions[].value`ANY(required)
比較する値。型はフィールドによって異なります(amountには数値、currencyには文字列、"in"演算子には配列)。
Example:100000
追加 - 5フィールド追加パラメータ
メタデータ - 1フィールドメタデータパラメータ

レスポンス

200

ルール作成成功

ルーティングルールが正常に作成されました。enabledがfalseに設定されていない限り、ルールは即座にアクティブになります。

レスポンスに含まれる項目:
  • object - 常に "routing_group_rule" を返す
  • id - 一意のルール識別子
  • name - ルール名
  • conditions - 条件オブジェクトの配列
  • provider - ターゲットプロバイダー識別子
  • priority - ルールの優先度
  • enabled - ルールがアクティブかどうか
  • created_at - 作成タイムスタンプ

400

不正なリクエスト

リクエストの検証に失敗しました。詳細はエラーメッセージを確認してください。

一般的な原因:
  • 必須フィールド(name、conditions、provider)の欠落
  • 無効な条件構造
  • 不明なプロバイダー識別子
  • フィールドタイプに対して無効な演算子
  • 条件値の型の不一致

401

認証エラー

認証に失敗しました。APIキーが無効または欠落しています。

一般的な原因:
  • Authorizationヘッダーの欠落
  • 無効なシークレットキー
  • シークレットキーの代わりにパブリックキーを使用
  • 不正なHTTP Basic Auth形式

404

見つかりません

参照されたリソースが見つかりません。

一般的な原因:
  • 無効なプロバイダー識別子
  • アカウントでルーティング機能が有効になっていない

5xx

サーバーエラー

サーバー側でエラーが発生しました。これらは稀ですが、適切に処理する必要があります。

対処方法:
  • 指数バックオフでリクエストを再試行
  • status.omise.coでサービスインシデントを確認
  • 詳細なガイダンスはエラー処理を参照

コードサンプル

curl https://api.omise.co/routing_group_rules \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "name=Route high-value to Provider A" \
-d "provider=provider_a" \
-d "conditions[0][field]=amount" \
-d "conditions[0][operator]=gte" \
-d "conditions[0][value]=100000" \
-d "priority=100"

エラーと結果コード

一般的なエラーコード

コード説明解決方法
bad_requestパラメータの欠落または無効すべての必須フィールドが提供されていることを確認
authentication_failure無効なAPIキーシークレットキーが正しいことを確認
invalid_condition条件構造が無効field、operator、valueが正しいことを確認
invalid_providerプロバイダーが見つかりませんプロバイダー識別子が存在することを確認
duplicate_rule同名のルールが存在一意のルール名を使用

条件演算子

演算子説明使用可能なフィールド
eq等しいすべてのフィールド
neq等しくないすべてのフィールド
gtより大きいamount
gte以上amount
ltより小さいamount
lte以下amount
inリスト内の値currency、card_brand、card_type
not_inリスト内にない値currency、card_brand、card_type
containsサブ文字列を含むmetadataフィールド

ルーティングルールオブジェクトフィールド

フィールド説明
objectstring常に "routing_group_rule" を返す
idstring一意のルール識別子
namestring人間が読めるルール名
descriptionstringルールの説明
conditionsarray条件オブジェクトの配列
providerstringターゲットプロバイダー識別子
priorityintegerルール評価の優先度
match_typestring条件のマッチングロジック(all/any)
weightintegerロードバランシングの重み
enabledbooleanルールがアクティブかどうか
metadataobjectカスタムキー値ペア
created_atstring作成タイムスタンプ(ISO 8601)
updated_atstring最終更新タイムスタンプ(ISO 8601)

試してみる

必須 - 3項目
追加 - 6項目
あなたのIP: ...読み込み中...