REST API: ユーザーのリクエスト

クレデンシャル

All requests to Twilio's REST API require you to authenticate. Twilio supports two forms of authentication:

Both authentication methods use HTTP basic auth because it is well supported with web development tools. Most HTTP clients (including web-browsers) present a dialog or prompt for you to provide a username and password for HTTP basic auth. Most clients will also allow you to provide credentials in the URL itself. For example:

https://{AccountSid}:{AuthToken}@api.twilio.com/2010-04-01/Accounts

HTTP GET メソッドでリソースを取得する

URL を GET することで、リソースの表現を取得できます。 最も簡単なのは、ウェブ ブラウザのアドレス バーに URL をコピー アンド ペーストする方法です。

GET レスポンスのステータス コード

  • 200 OK: リクエストが成功し、レスポンスのボディーに要求した表現が含まれています。
  • 302 FOUND: 共通のリダイレクト レスポンスです。Location レスポンス ヘッダーの URI で表現を GET できます。
  • 304 NOT MODIFIED: クライアントが保持している表現のキャッシュは、最新の状態です。
  • 401 UNAUTHORIZED: 送信されたクレデンシャルでは、リソースにアクセスできません。
  • 404 NOT FOUND: おなじみのコードです。
  • 429 TOO MANY REQUESTS: アプリケーションが同時に発行するリクエストの数が多すぎます。
  • 500 SERVER ERROR: 内部サーバー エラーのため、表現を返却できませんでした。
  • 503 SERVICE UNAVAILABLE: 一時的に表現を返却できません。 しばらく経ってから再試行してください。

HTTP の POST メソッド と PUT メソッドで、リソースを作成または更新する

リソースの作成や更新には、HTTP PUT または HTTP POST をリソース URI に発行します。 PUT または POST の中に、URL エンコードされたキーと値のペアの形式で、更新したいオブジェクトのプロパティを表現します。 POST のデータはデフォルトでブラウザがエンコードしていますので、心配は要りません。 ただし、自分でクライアントを書いている場合は、リクエストの HTTP Content-Type ヘッダーに "application/x-www-form-urlencoded" を必ずセットしてください。

POST または PUT レスポンスのステータス コード

  • 200 OK: リクエストが成功し、リソースが更新され、レスポンスのボディーに表現が含まれています。
  • 201 CREATED: リクエストが成功し、新しいリソースが作成され、レスポンスのボディーに表現が含まれています。
  • 400 BAD REQUEST: POST または PUT メソッドのデータのバリデーションに失敗しました。 詳細はレスポンスのボディーを解析してください。
  • 401 UNAUTHORIZED: 送信されたクレデンシャルでは、リソースを更新できません。
  • 404 NOT FOUND: おなじみのコードです。
  • 405 METHOD NOT ALLOWED: このリソースには POST または PUT を発行できません。
  • 429 TOO MANY REQUESTS: アプリケーションが同時に発行するリクエストの数が多すぎます。
  • 500 SERVER ERROR: リソースを作成または更新できませんでした。 再試行してください。

HTTP DELETE メソッドでリソースを削除する

リソースを削除するには、リソースの URL に HTTP DELETE リクエストを発行します。 Twilio REST API リソースには DELETE をサポートしないものもあります。

DELETE レスポンスのステータス コード

  • 204 OK: リクエストが成功し、リソースが削除されました。
  • 401 UNAUTHORIZED: 送信されたクレデンシャルでは、リソースを削除できません。
  • 404 NOT FOUND: おなじみのコードです。
  • 405 METHOD NOT ALLOWED: このリソースは削除できません。
  • 429 TOO MANY REQUESTS: アプリケーションが同時に発行するリクエストの数が多すぎます。
  • 500 SERVER ERROR: リソースを削除できませんでした。 再試行してください。

HTTP メソッドのオーバーロード

Twilio の REST API は HTTP GET、POST、PUT、DELETE メソッドを使用します。 一部の HTTP クライアントは PUT と DELETE をサポートしないため、これらはリソースの URL にクエリ パラメーターの _method (アンダーバー メソッド) をつけて、POST でシミュレートします。 有効な値は PUT と DELETE です。

たとえば、ある電話番号リソースに DELETE リクエストを発行したい場合、以下のようにします。

DELETE /2010-04-01/Accounts/AC30947.../IncomingPhoneNumbers/PN12345567789AFE4433

ただし、クライアントが GET と POST しか発行できない場合は、_method クエリ変数と POST を使って同じ結果を得られます。

POST /2010-04-01/Accounts/AC30947.../IncomingPhoneNumbers/PN12345567789AFE4433?_method=DELETE