API eBay GetOrders createTimeTo и createTimeFrom

Я немного застрял на этом и не могу понять это. Я звоню по запросу GetOrders через API eBay. Проблема с createTimeTo а также createTimeFrom входы.

В настоящее время я обращаюсь с вещами следующим образом: CreateTimeFrom = order.CreatedTime последнего обработанного заказа от последнего вызова GetOrders + 1 секунда. Я установил createTimeTo значение текущего официального времени Ebay.

Теперь это, кажется, работает нормально, однако я был обеспокоен, потому что, когда у меня есть вещи на рабочем сервере, возможно ли, что может быть несколько заказов в одну секунду? Потому что если так, то я бы пропустил заказы.

Теперь я знаю, что на странице Custhelp есть рекомендации по getOrders, Я пытался следовать им, но мне трудно применить логику к моему приложению.

На странице справки для клиентов приведены следующие рекомендации:

установите "Create / Mod TimeFrom" в последний раз, когда вы сделали звонок минус 2 минуты. Вы возвращаетесь на 2 минуты, чтобы убедиться, что ни один заказ не пропущен. установите время "Create / Mod TimeTo" на текущее время минус 2 минуты. Вы возвращаетесь, чтобы убедиться, что вы не забираете заказы, которые еще находятся в процессе выполнения.

Исходя из вышеизложенной логики, я немного запутался со вторым пунктом (createTimeto), я только извлекаю завершенные продажи, так что мне действительно нужно вернуться назад на 2 минуты? Будет ли какая-то проблема с тем, чтобы просто использовать CreateTimeTo в качестве текущего официального времени на eBay? Будет ли этот метод пропустить какие-либо заказы по любой причине?

Также я должен основывать свои значения createTimeTo и CreateTimeFrom на времени сервера Ebay, как если бы я основывал его на локальном времени, локальное время могло не соответствовать времени сервера eBay, на котором основаны все заказы...

Как другие справляются с этим?

Я заметил, что некоторые люди используют свойство NumberOfDays в качестве альтернативы работе с датами. Кто-нибудь знает какие-либо преимущества этого метода?

1 ответ

Использование Ebay раз будет лучше. Если можешь, то должен. Вы можете использовать результаты GetEbayTime для синхронизации ваших часов.

В конце 2 минуты, чтобы помочь с отложенным / распределенным характером обработки заказов Ebay. (Спекуляция). Похоже, что вы можете получить заказ, который не выполнен полностью. После наложения в руководящие принципы поможет предотвратить эту проблему.

Другой способ предотвратить дублирование - выполнить проверку возвращенного Ebay TransactionId-OrderId. Используйте какую-нибудь базу данных.

Или для вашей конкретной цели: сохраните список идентификаторов, возвращенных в последнем вызове GetOrder, и загрузите этот список в следующий раз. И проверьте против этого. (Ваш вопрос касается только самых последних заказов).

Смотрите: Лучшие практики GetOrders

Re: NumberofDays, это просто удобство. Он был добавлен одновременно с фильтрами даты. (№ 691 2010-10-14). Используйте его, если хотите.

Наконец: обратитесь к документации Ebay по GetOrder для подобных вещей.

Другие вопросы по тегам