2017-12-02 3 views
0

activitiesエンドポイントに最新のv4 APIを使用してバルクアクションの303応答が表示されません。 The API Documentation:Clio API:303ステータスコードを返さないバルクアクション

  1. から

    は真の値を持つX-BULKヘッダ付きアクションにリクエストを作ります。応答は常に202 Acceptedになります。

  2. 応答のLocationヘッダーに指定されたURLをポーリングします。このURLは、バルクアクションエンドポイント用です。

  3. アクションが完了すると、URLをポーリングすると303参照その他の応答が返されます。

  4. URLのレスポンスを303のLocationヘッダーにダウンロードします。その他の対応を参照してください。

    を私は'true'に設定X-BULKヘッダーとエンドポイントの活動への最初の要求を発行します。ここでは

は私がやっているものです。

  • LocationヘッダーをポーリングURLに設定して202 Accepted応答を受信しました。

Locationヘッダーから提供されたURLのポーリングを開始します。

  • 私は、次のデータおよびヘッダーを含むいくつかの200応答受信:

データ:

{"data":{"id":26952539,"etag":"\\"434fa52f83b8e0bb72677f60b8297866\\""}} 

ヘッダ:

{ 
    'content-type': 'application/json; charset=utf-8', 
    'transfer-encoding': 'chunked', 
    connection: 'close', 
    vary: 'Accept-Encoding', 
    status: '200 OK', 
    'last-modified': 'Sat, 02 Dec 2017 22:17:13 GMT', 
    'x-ratelimit-limit': '50', 
    'x-ratelimit-reset': '1512253080', 
    'x-ratelimit-remaining': '45', 
    'x-request-id': '4674a764-c417-448c-af09-c6dae1cabe15', 
    etag: '"434fa52f83b8e0bb72677f60b8297866"', 
    'x-frame-options': 'SAMEORIGIN', 
    'cache-control': 'no-cache, private, no-store', 
    'x-xss-protection': '1; mode=block', 
    'x-api-version': '4.0.5', 
    'x-content-type-options': 'nosniff', 
    date: 'Sat, 02 Dec 2017 22:17:13 GMT', 
    'set-cookie': 
    [ 'XSRF-TOKEN=oQqTKV8XKRm9oiMuY1OFZ6qleZyRyvtcs9v52%2FWyeiVXxvVszHLiXsQkWelnUHs3ErSsH64ctIpehxErulAWHg%3D%3D; path=/; secure', 
    '_session_id=7babc5f94bc48ecd5d18d4b40c17d6ca; path=/; secure; HttpOnly' ], 
    server: 'nginx', 
    'strict-transport-security': 'max-age=31536000; includeSubdomains' 
} 

をしかし303が来ることはありません。上記200秒数後、私は、ペイロードを持つ別の200を得る:

データ:

{ 
    "data": [ 
    { 
     "data": [ {id: 1...}, {id: 2...}, {id: 3...}, ... ], 
     "status": 200 
    } 
    ], 
    "status": "completed", 
    "requested": 46, 
    "performed": 46 
} 

ヘッダ:

{ 
    'x-amz-id-2': '1uiNt20Vd/X74JxKZKrt/hah7aof8xfhZlt7fhlDt8b3G2nA47Y8ZDaohb2drSF8ErniirRK2Es=', 
    'x-amz-request-id': '2B29557952779E29', 
    date: 'Sat, 02 Dec 2017 22:17:15 GMT', 
    'last-modified': 'Sat, 02 Dec 2017 22:17:14 GMT', 
    'x-amz-expiration': 'expiry-date="Wed, 06 Dec 2017 00:00:00 GMT", rule-id="Expiration rule (auto-generated)"', 
    etag: '"58e33e4eced83d145bf6dec9f72b97be-1"', 
    'x-amz-server-side-encryption': 'AES256', 
    'content-encoding': 'utf-8', 
    'x-amz-version-id': '2Ou7F__59Pz8WKOKZwFg_fOuhQjD5ro0', 
    'content-disposition': 'attachment; filename="activities 20171202.json";', 
    'accept-ranges': 'bytes', 
    'content-type': 'application/json', 
    'content-length': '9593', 
    server: 'AmazonS3', 
    connection: 'close' 
} 

それは私が十分にstatus === 'completed'のためにテストすることによって、この問題を回避することができます表示されます、またはcontent-dispositionヘッダーの有無を確認することさえできます。

私は無視しているactivitiesエンドポイントの意味があるか、または303の応答を禁止する何か間違ったことをしていますか?

この問題を回避するにはstatus === 'completed'をテストするだけで十分ですか?

注:私はアクセストークンを含むすべての要求に対してAuthorizationヘッダーを渡しています。

ありがとうございます!

+0

問題を再現するのに役立つ簡単な質問ですが、どのツールを使用していますか? cURL、Postman、またはnode.js APIクライアント? –

+0

@MatthewHoag、私はExpressフレームワークでnode.jsアプリケーションを使用しています。 –

答えて

1

これはClio API-V4の既知のバグです。この時点で 最善の解決策は次のとおりです。

我々は303応答の欠如を解決に取り組んでいる

「完了」===ステータスを200のペイロードを検査します。その間に私たちはドキュメントを更新します。ここで

1

は、私は非常に良い結果で使用している回避策です:

  1. バルクアクションのステータスを照会するとき​​パラメータを使用します?

    /API/V4/bulk_actions/ignore_redirect =真

  2. ?fields=Response_Urlパラメータを使用して、応答の実際のURLを取得します。

  3. Response_Urlプロパティから結果をダウンロードします。

私は決してこれらの方法が失敗したことはありません。

関連する問題