2017-10-28 9 views
-1

私は前に1つしかやっていないAPIリクエストに新しいです。このAPI仕様を理解するにはどうすればよいですか?

は、この情報を文書に与えられている:

あなたはAPIで任意のアクションを実行するためのユーザー名とキーで認証を受ける必要があります。認証の詳細は、各 リクエスト内の他の変数とともに渡されなければなりません。

リクエストは、HTTP(S)POST経由でhttps://(URL)になります。通信はJSONで行われるため、HTTPヘッダーで "application/json"を指定してください。私たちは、最も要求のために200(OK)のHTTPステータスコードを返しますが、また400(不正な要求)または403(/禁止、認証に失敗しました)

その後、私はすべてのエンドポイントのコード例を提示していますを返すことができます例えば:

サンプルリクエスト

{ 
"request": "GetAvailableServices", 
"username": "custTEST_api", 
"key": "xxxxxxxxxxxxxxxxxxxxxx" 
} 

応答

{ 
"success": true, 

"available_services": { 
"IPECX": { 
"carrier_name": "TOLL IPEC", 
"service_name": "ROAD EXPRESS" 
}, 
"IPECH": { 
"carrier_name": "TOLL IPEC", 
"service_name": "PRIORITY" 
}, 
"GIBSONX": { 
"carrier_name": "GIBSON", 
"service_name": "ROAD EXPRESS" 
} 
}, 
"error_code": null, 
"error_message": null 

これは私が最後に行ったAPIの統合とは異なります。

私は適切なユーザー名とキーが提供されています。

私はこれをPHPでやろうとしていますが、上記をPHPドキュメントに翻訳する方法がわかりません。 JSONデータを取得するために以前の権限をカールしました。しかし、ただこれを理解することはできません。

私はちょうど1つの要求を働かせてもらえれば大丈夫だと思います。

+0

[この質問](https://stackoverflow.com/questions/28153186/php-curl-json-api)または[この1](https://stackoverflow.com/questions/の可能性のある重複32179301/how-to-get-json-data-from-rest-api-by-php-curl)?私はこれらを見つけるために[この検索](https://stackoverflow.com/search?q=curl+api+json+php)を使いました。 – halfer

+1

感謝@halfer ..その検索は多くの助けとなりました。 今すぐご利用ください! –

答えて

1

これが私のやり方です。

<?php 

$curl = curl_init(); 

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://api.com.au/", 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_ENCODING => "", 
    CURLOPT_MAXREDIRS => 10, 
    CURLOPT_TIMEOUT => 30, 
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
    CURLOPT_CUSTOMREQUEST => "POST", 
    CURLOPT_POSTFIELDS => "{\r\n\"request\": 
\"GetAvailableServices\",\r\n\"username\": \"APIUSERNAME\",\r\n\"key\": 
\"APIKEY\"\r\n}", 
    CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache", 
    "content-type: application/json", 
    "key: \"APIKEY\"", 
    "request: \"GetAvailableServices\"", 
    "username: \"INNOVATIVEAPI\"" 
), 
)); 

$response = curl_exec($curl); 
$err = curl_error($curl); 

curl_close($curl); 

if ($err) { 
echo "cURL Error #:" . $err; 
} else { 
echo $response; 
} 
関連する問題