APIスキーマの取得
Omise APIのOpenAPIスキーマを取得します。このエンドポイントはOpenAPI 3.0形式で完全なAPI仕様を返し、利用可能なエンドポイントを発見し、リクエスト/レスポンス構造を理解し、APIドキュメントツールと統合することができます。
リクエストパラメータ
オプション - 1フィールドオプションパラメータ
`format`STRING(optional)
スキーマのレスポンス形式。デフォルトはJSON。
レスポンス
200
取得成功スキーマが正常に取得されました。完全なOpenAPI 3.0仕様を返します。
レスポンス構造:
openapi- OpenAPI仕様バージョン(例:"3.0.0")info- タイトル、バージョン、説明を含むAPIメタデータservers- 利用可能なAPIサーバーURLpaths- メソッドとパラメータを含むすべての利用可能なAPIエンドポイントcomponents- 再利用可能なスキーマ定義とセキュリティスキームsecurity- グローバルセキュリティ要件
400
不正なリクエストリクエストの検証に失敗しました。詳細はエラーメッセージを確認してください。
一般的な原因:
- 無効なformatパラメータ値
- サポートされていないクエリパラメータ
401
認証エラー認証に失敗しました。APIキーが無効または欠落しています。
一般的な原因:
- Authorizationヘッダーの欠落
- 無効なAPIキー
- 不正なHTTP Basic Auth形式
404
見つかりませんスキーマエンドポイントが見つかりません。
一般的な原因:
- 無効なエンドポイントURL
- 不正なAPIバージョン
5xx
サーバーエラーサーバー側でエラーが発生しました。これらは稀ですが、適切に処理する必要があります。
対処方法:
- 指数バックオフでリクエストを再試行
- status.omise.coでサービスインシデントを確認
- 詳細なガイダンスはエラー処理を参照
コードサンプル
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/schema \
-u skey_test_5xuy4w91xqz7d1w9u0t:
require 'net/http'
require 'json'
uri = URI('https://api.omise.co/schema')
request = Net::HTTP::Get.new(uri)
request.basic_auth('skey_test_5xuy4w91xqz7d1w9u0t', '')
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
schema = JSON.parse(response.body)
puts schema['openapi']
import requests
response = requests.get(
'https://api.omise.co/schema',
auth=('skey_test_5xuy4w91xqz7d1w9u0t', '')
)
schema = response.json()
print(schema['openapi'])
const https = require('https');
const options = {
hostname: 'api.omise.co',
path: '/schema',
method: 'GET',
auth: 'skey_test_5xuy4w91xqz7d1w9u0t:'
};
const req = https.request(options, (res) => {
let data = '';
res.on('data', (chunk) => data += chunk);
res.on('end', () => {
const schema = JSON.parse(data);
console.log(schema.openapi);
});
});
req.end();
<?php
$ch = curl_init('https://api.omise.co/schema');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, 'skey_test_5xuy4w91xqz7d1w9u0t:');
$response = curl_exec($ch);
curl_close($ch);
$schema = json_decode($response, true);
echo $schema['openapi'];
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Base64;
HttpClient client = HttpClient.newHttpClient();
String auth = Base64.getEncoder()
.encodeToString("skey_test_5xuy4w91xqz7d1w9u0t:".getBytes());
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.omise.co/schema"))
.header("Authorization", "Basic " + auth)
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
var client = new HttpClient();
var authBytes = Encoding.ASCII.GetBytes("skey_test_5xuy4w91xqz7d1w9u0t:");
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Basic", Convert.ToBase64String(authBytes));
var response = await client.GetAsync("https://api.omise.co/schema");
var schema = await response.Content.ReadAsStringAsync();
Console.WriteLine(schema);
package main
import (
"encoding/json"
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.omise.co/schema", nil)
req.SetBasicAuth("skey_test_5xuy4w91xqz7d1w9u0t", "")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
var schema map[string]interface{}
json.Unmarshal(body, &schema)
fmt.Println(schema["openapi"])
}
エラーと結果コード
一般的なエラーコード
| コード | 説明 | 解決方法 |
|---|---|---|
authentication_failure | 無効なAPIキー | APIキーが正しいことを確認 |
bad_request | 無効なリクエストパラメータ | formatパラメータ値を確認 |
スキーマ構造
| フィールド | 型 | 説明 |
|---|---|---|
openapi | string | OpenAPI仕様バージョン |
info | object | APIメタデータ(タイトル、バージョン、説明) |
servers | array | 利用可能なAPIサーバーURL |
paths | object | 操作を含むすべてのAPIエンドポイント |
components | object | 再利用可能なスキーマ、パラメータ、セキュリティ定義 |
security | array | グローバルセキュリティ要件 |
tags | array | APIリソースのグループ化 |
API認証情報
試してみる
追加 - 1項目
あなたのIP:
...読み込み中...