0

私はこれに少し立ち往生していて、それを理解できないようです。eBay API 経由で GetOrders リクエストを呼び出しています。問題は入力createTimeTocreateTimeFrom入力にあります。

現在、私が物事を処理している方法は次のとおりです。CreateTimeFrom = order.CreatedTime最後に GetOrders が呼び出されてからの最新の処理済み注文 + 1 秒。createTimeTo値を現在の ebay 公式時間に設定しました。

これで問題なく動作しているように見えますが、本番サーバーに何かがある場合、同時に複数の注文が発生する可能性があるのではないかと心配していました。もしそうなら、私は注文を逃してしまうからです。

の custhelp ページにガイドラインがあることがわかりましたgetOrders。それらに従ってみましたが、ロジックをアプリケーションに適用するのが難しいと感じています。

カスタマー ヘルプ ページのガイドラインは次のとおりです。

「Create / Mod TimeFrom」を、最後に電話をかけた時間から 2 分引いた時間に設定します。注文を見逃さないように、2 分前に戻ります。「Create / Mod TimeTo」時間を現在の時間から 2 分引いた時間に設定します。まだ処理中の注文をピックアップしないようにするために戻ってきます。

上記のロジックに基づいて、2 番目のポイント (createTimeto) と少し混乱しています。完了した販売を取得しているだけなので、本当に 2 分前に戻る必要がありますか? 現在の eBay 公式時間として CreateTimeTo を使用するだけで何か問題はありますか? この方法では、何らかの理由で注文を逃すことはありますか?

また、ローカルのタイミングに基づいているかのように、Ebay サーバーのタイミングに基づいて createTimeTo および CreateTimeFrom の値を設定する必要があります。ローカルのタイミングは、すべての注文が基づいている eBay サーバーの時間と矛盾する可能性があります...

他の人はこれをどのように処理していますか?

日付を処理する代わりに NumberOfDays プロパティを使用している人がいることに気付きましたが、その方法の利点を知っている人はいますか?

4

1 に答える 1

-1

Ebay の時間を使用するのが最適です。できればそうすべきです。GetEbayTime の結果を使用して、クロックを同期できます。

最後の 2 分間は、Ebay の注文処理の遅延/分散性を助けるためのものです。(投機)。完全に完了していない注文を受け取る可能性があるようです。ガイドラインの重複に従うことで、この問題を防ぐことができます。

重複を防ぐもう 1 つの方法は、返された Ebay TransactionId-OrderId をチェックすることです。ある種のデータベースを使用します。

または、特定の懸念のために、最後の GetOrder 呼び出しで返された Id のリストを保持し、次回そのリストをロードします。そして、それに対してチェックします。(あなたの質問は、最近の注文についてのみ尋ねます)。

参照: GetOrders のベスト プラクティス

Re:NumberofDays、これは単なる便宜上のものです。日付フィルターと同時に追加されました。(#691 2010-10-14)。必要に応じて使用してください。

最後に:これらのタイプについては、 Ebay の GetOrder ドキュメントを参照してください。

于 2013-06-18T04:43:48.157 に答える