Pickup Service を使用して集荷をスケジュールしようとしています。最初に Pickup Availability リクエストを送信して締め切り時間を取得し、取得した結果を Pickup Request で使用します。しかし、その後、明らかにカットオフ時間の前に「カットオフ時間後の準備時間」というエラーが表示されます。私の例では、返される締め切り時間は 16:00 ですが、集荷をスケジュールできる最新の時間は 11:00 です。集荷可否応答の一部:
<v3:ScheduleDay>SAME_DAY</v3:ScheduleDay>
<v3:Available>true</v3:Available>
<v3:PickupDate>2013-04-02</v3:PickupDate>
<v3:CutOffTime>16:00:00</v3:CutOffTime>
エラーを生成するスケジュール集荷リクエストの一部:
<ns1:ReadyTimestamp>2013-04-02T13:00:00</ns1:ReadyTimestamp>
<ns1:CompanyCloseTime>20:00:00</ns1:CompanyCloseTime>
2 つのリクエストの完全なリクエスト/レスポンス コードは次のとおりです: http://pastebin.com/jqtfsRFc
UPD:コメントでの議論による詳細
それが ReadyTimestamp について書かれていることです。時間は、PickupAvailabilityRequest で検出できる CutOffTime より遅くてはなりません。
そこで、集荷の空き状況をリクエストすると、次のような返信が表示されます。
<v3:ScheduleDay>SAME_DAY</v3:ScheduleDay>
<v3:Available>true</v3:Available>
<v3:PickupDate>2013-04-09</v3:PickupDate>
<v3:CutOffTime>16:00:00</v3:CutOffTime>
ドキュメントによると、集荷可能時間のタイムスタンプは、現地の TZ (郵便番号から取得) に従って使用されます。Out local TZ は、UTC から -07:00 のオフセットを持つ PST です。Pickup Availability の返信にも、私の Pickup Availability リクエストが処理された時刻を示す行があります。私はそれがPSTにもあることを確認したので、このステップはうまくいっているようです:
<v3:RequestTimestamp>2013-03-26T11:58:37</v3:RequestTimestamp>
そのため、締め切り時間は 16:00 PST になりました。次のステップは、Create Pickup リクエストを使用して、締め切り時間より遅くない時間に実際の集荷をスケジュールすることです。このリクエストReadyTimestamp
には TZ 情報が含まれている必要があるため、さまざまな日付/時刻形式を試しました。したがって、14:00 PST の集荷を作成する場合は、、、、2013-04-09T21:00:00
およびを2013-04-09T21:00:00.000Z
試します。これらすべてのケースで、エラーが発生します。さまざまな値を試してみたところ、最新の時刻は 04:00 PST (11:00 UTC と同じ) であることがわかりました。したがって、04:00 が私に与え、04:01 が与えられ、任意の日付/時刻形式でこのように機能します。2013-04-09T21:00:00+00:00
2013-04-09T14:00:00-07:00
Ready Time after Cutoff Time
success
Ready Time after Cutoff Time