コンテンツにスキップ

REST と gRPC

Wink は 2 つのトランスポートを提供しています。どちらを使用するかは統合する API によって異なります。

トランスポートスキーマドキュメント
ほとんどの Wink APIHTTPS 上の RESTOpenAPI 3サイドバーの API 以下の任意のグループ
Partner Integrator APIHTTP/2 上の gRPCProtocol BuffersPartner

すべての API グループは OpenAPI 3 ドキュメントを公開しています。任意の OpenAPI ジェネレーターに指定すれば、言語に対応した型付きクライアントが得られます。

Terminal window
# グループの仕様はリファレンスページの隣で提供されています。
curl -o wink-extranet.json https://api.wink.travel/v3/api-docs/extranet
npx @openapitools/openapi-generator-cli generate \
-i wink-extranet.json -g typescript-fetch -o ./wink-client

言語別 OpenAPI ジェネレーター

Partner Integrator API は gRPC です。Wink は .proto スキーマを 2 つの方法で公開しています。

  • サーバーリフレクション — サーバーが自身を記述するため、grpcurl、Postman、Insomnia などのツールがファイルをダウンロードせずに実行時にスキーマを検出できます。リフレクションには他の呼び出しと同じベアラートークンが必要です。
  • .proto ファイル — スキーマをベンダリングして事前に生成したい場合はこちら。
Terminal window
# 実行中のサーバーからスキーマを検出(認証済み)。
grpcurl -H "authorization: Bearer $WINK_TOKEN" \
partner.wink.travel:443 list
# 次にクライアントを生成 — ここでは Go。サポートされているすべての言語で同様です。
protoc --go_out=. --go-grpc_out=. partner_lookup.proto

呼び出しは REST の Authorization ヘッダーと同様に authorization メタデータヘッダーにベアラートークンを含みます。エラーは HTTP ステータスコードではなく、レスポンスのトレーラーに gRPC ステータスコードとして返されます — Partner リファレンス に期待されるステータスが記載されています。

言語別 gRPC クイックスタート

gRPC とは?

AI コーディングアシスタントを使う場合、MCP サーバーが最速のルートです。Wink の API をアシスタントが呼び出して推論できるツールとして公開しているため、クライアント全体を生成してエンドポイントを探す代わりに、作りたいものを説明するだけでユースケースに合わせた統合コードが得られます。

Wink MCP サーバーのセットアップ