API · SDK
API クライアントと SDK の設定
ベース URL をコードから切り離して実際のサービスを指すようにし、サンプルのアドレスが本番環境に届かないようチェックを追加します。
ガイド · ドキュメント
ドキュメント、チュートリアル、テストには、本物らしく見えても決して誰にも届かないアドレス、番号、名前が必要です。ほとんどの種類の値には、予約された範囲があります。このガイドではそれらを出典とともにまとめています。誰かが例をコピーしても、害のないままにしておけます。
例はコピーされます。コード、設定ファイル、テスト、ほかのドキュメントへ。架空に見えても実は誰かのものである値は、そのトラフィック、メール、電話を実在の相手に送ってしまいます。example-petstore.com がその一例です。Google のドキュメントで使われた架空の名前で、誰でも登録でき、今もリクエストが届いています。予約値は決して割り当てられないことが保証されているため、コピーされた例は害なく失敗します。
例に出てくるウェブサイト、API、メールアドレスには、example.com、example.net、example.org とそのサブドメイン(api.example.com や user@example.com など)を使ってください。テスト環境、決して名前解決されてはならない名前、ローカル ネットワークには、.test、.invalid、.localhost、home.arpa、.internal があります。
予約済みの各名前の用途と、example-petstore.com のような類似名が安全でない理由: サンプル ドメイン
| 種類 | ドキュメント用に予約 | 出典 |
|---|---|---|
| IPv4 | 192.0.2.0/24 (TEST-NET-1), 198.51.100.0/24 (TEST-NET-2), 203.0.113.0/24 (TEST-NET-3) | RFC 5737 |
| IPv6 | 2001:db8::/32 | RFC 3849 |
| IPv6(大規模ネットワーク) | 3fff::/20 | RFC 9637 (2024) |
# 例に登場するクライアント、サーバー、プロキシ
client 192.0.2.10 2001:db8::10
server 198.51.100.20 2001:db8:1::20
proxy 203.0.113.30 2001:db8:2::30
3 つの IPv4 ブロックを使うと、例の中に別々の「ネットワーク」を 3 つ用意でき、ルーティングやファイアウォールの説明に役立ちます。3fff::/20 があるのは、2001:db8::/32 では大手プロバイダーの現実的な割り当てを示すには小さすぎるためです。
BGP の例には、RFC 5398 でドキュメント用に予約された 64496–64511(16 ビット)と 65536–65551(32 ビット)を使います。プライベート用の AS 番号は実際のネットワーク向けであり、例のためのものではありません。
00-00-5E-00-53-00 から 00-00-5E-00-53-FF まで(多くのツールでは 00:00:5e:00:53:00 と表記)は、RFC 9542(RFC 7042 の後継)でドキュメント用に予約されています。
世界共通の範囲はありません。いくつかの国が、フィクションや例のために独自の範囲を予約しています。
555-0100 から 555-0199 まで。市外局番は任意で、たとえば +1 202 555 0143 のように使います。07700 900000 から 07700 900999 まで、ロンドンは 020 7946 0000 から 020 7946 0999 まで、特定の地域を持たないものは 01632 960000 から 01632 960999 までです。ほかの国については、通信規制当局を確認してください。範囲がない場合は、ランダムに見えるだけの数字ではなく、+31 6 XXXX XXXX のようにダイヤルできないプレースホルダーを使いましょう。
決済サービスは、テストモードでのみ機能するテスト用カード番号を公開しています。たとえば Stripe の 4242 4242 4242 4242 は、将来の任意の有効期限と任意の CVC で使えます。連携する決済サービスの番号を使ってください。あるサービスのテスト番号は、別のサービスでは受け付けられません。ドキュメント、フィクスチャ、スクリーンショットには、自分のものであっても本物のカード番号を決して使わないでください。
10.0.0.0/8 や 192.168.0.0/16 など): 読者自身のネットワークに存在するため、コピーされた例がそこにある実際の機器に届くおそれがあります。YOUR_API_KEY や sk_test_… のような明確なプレースホルダーを書き、一度でも有効だったキーは決して使わないでください。