リンクの検索
タイトル、金額、通貨、ステータス、メタデータなどの様々な条件を使用して支払いリンクを検索します。一致するリンクのページネーションされたリストを返します。
リクエストパラメータ
検索 - 2フィールド検索パラメータ
`query`STRING(optional)
検索クエリ文字列。タイトル、説明、メタデータフィールドを検索。
`filters`OBJECT(optional)
フィルタ ー条件オブジェクト。金額、通貨、使用状態、複数フラグ、作成日範囲でのフィルタリングをサポート。
ページネーション - 3フィールドページネーションパラメータ
レスポンス
200
検索成功検索が正常に完了しました。一致するリンクのページネーションされたリストを返します。
レスポンス構造:
object- 常に "search" を返すdata- 一致するリンクオブジェクトの配列limit- ページあたりのレコード数offset- スキップされたレコード数total- 検索条件に一致するリンクの総数query- 適用された検索クエリfilters- 検索に適用されたフィルター
400
不正なリクエストリクエストの検証に失敗しました。詳細はエラーメッセージを確認してください。
一般的な原因:
- 無効なフィルター値
- フィルター内の無効な日付形式
- 無効なlimit値(最大値を超過)
- 不正なクエリ文字列
401
認証エラー認証に失敗しました。APIキーが無効または欠落しています。
一般的な原因:
- Authorizationヘッダーの欠落
- 無効なシークレットキー
- シークレットキーの代わりにパブリックキーを使用
- 不正なHTTP Basic Auth形式
5xx
サーバーエラーサーバー側でエラーが発生しました。これらは稀ですが、適切に処理する必要があります。
対処方法:
- 指数バックオフでリクエストを再試行
- status.omise.coでサービスインシデントを確認
- 詳細なガイダンスはエラー処理を参照
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/links/search \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-G \
-d "query=Invoice" \
-d "filters[currency]=thb" \
-d "filters[used]=false" \
-d "limit=20"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
links = Omise::Link.search(
query: 'Invoice',
filters: { currency: 'thb', used: false },
limit: 20
)
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
links = omise.Link.search(
query='Invoice',
filters={'currency': 'thb', 'used': False},
limit=20
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const links = await omise.links.search({
query: 'Invoice',
filters: { currency: 'thb', used: false },
limit: 20
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$links = OmiseLink::search([
'query' => 'Invoice',
'filters' => ['currency' => 'thb', 'used' => false],
'limit' => 20
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
SearchResult<Link> links = client.links().search()
.query("Invoice")
.filter("currency", "thb")
.filter("used", false)
.limit(20)
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var links = await client.Links.Search(new SearchLinkRequest
{
Query = "Invoice",
Filters = new Dictionary<string, object>
{
{ "currency", "thb" },
{ "used", false }
},
Limit = 20
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
links, _ := client.Links().Search(&operations.SearchLink{
Query: "Invoice",
Filters: map[string]interface{}{
"currency": "thb",
"used": false,
},
Limit: 20,
})
エラーと結果コード
一般的なエラーコード
| コード | 説明 | 解決方法 |
|---|---|---|
bad_request | パラメータの欠落または無効 | パラメータの値と形式を確認 |
authentication_failure | 無効なAPIキー | シークレットキーが正しいことを確認 |
invalid_filter | 無効なフィルター値 | フィルター値が期待される型に一致することを確認 |
利用可能なフィルター
| フィルター | 型 | 説明 |
|---|---|---|
amount | integer | 正確な金額でフィルタリング |
currency | string | 通貨コードでフィルタリング(thb、jpy、sgd、myr、usd) |
used | boolean | 使用状態でフィルタリング |
multiple | boolean | 再利用可能性でフィルタリング |
created_at | object | 作成日範囲でフィルタリング(gte、lte) |
API認証情報
試してみる
必須 - 1項目
追加 - 6項目
あなたのIP:
...読み込み中...