0
На рассмотрении
Вопрос по API
Добрый день,
Скажите, можно ли получать информацию о заказе на момент его поступления с сайта, до его оформления и сохранения?
И еще один вопрос, можно ли получать информацию только о тех заказах, которые покупатель оформил первый раз?
Спасибо!
Сервис поддержки клиентов работает на платформе UserEcho
Скажите, можно ли получать информацию о заказе на момент его поступления с сайта, до его оформления и сохранения?
не совсем понятно, что конкретно имеется ввиду
И еще один вопрос, можно ли получать информацию только о тех заказах, которые покупатель оформил первый раз?
такой возможности к сожалению нет
Скажите, можно ли получать информацию о заказе на момент его поступления с сайта, до его оформления и сохранения?
не совсем понятно, что конкретно имеется ввиду
когда заказ оформлен и сохранен, его данные можно получить по API. в описании не нашли как получить информацию о заказе, если он только поступил в систему с сайта. можно ли получить данные такого заказа до момента его оформления и его сохранения?
Надеюсь на скорый ответ.
Спасибо заранее.
Попробуйте поискать тут http://mobidel.ru/help/api-callback. При изменении статуса заказа (в том числе при создании нового) должен вызываться ваш скрипт.
К сожалению, в описании не нашли как получить информацию о поступившем заказе до его оформления/сохранения( подскажите, пожалуйста
спасибо, там и смотрели вроде. еще раз просмотрим.
Если я правильно понял:
1. при изменении заказа, отправляется callback с json-масссивом из 5 ключей?
2. вытекающий из первого: по какому именно событию он отправляется: по изменению любого поля или только order.status?
3. Чтобы получить детали заказа, нужно каждый раз отправлять POST на online.mobidel.ru//getOrder.php?idOrder=....&user=...&password=....&cid=... так?
1. Все верно. При вызове передается 5 ключей.
2. Только при изменении статуса заказа.
3. Правильно.
Спасибо.
А на получение информации по клиенту, тоже отдельный запрос нужно делать или эта информация не доступна по API?
Ответ ждать или нет???
по клиенту в заказе информация должна выдаваться в функции getOrder.php
Добрый день!
Пытаюсь использовать инструкцию по ссылке http://mobidel.ru/help/api-callback
Столкнулся с тем, что идентификатор созданного заказа (orderID) в файле с логами request.post отличается от идентификатора заказа, который отображается в личном кабинете в мобиделе (хотя речь идёт об 1 и том же заказе).
Привожу пример:
Содержимое файла request.post:
{ "action" : "changeOrder", "orderID" : "372970636441280962", "reqID" : "197", "sessionID" : "test", "SignatureValue" : "403872f81cc7b39afc50e729eac5ad9a" }
Информация о заказе в мобиделе:
Идентификатор заказа: 372971004607839122
Номер заказа: 31605
Ид. компании (cid): 2056
Скрипт, который выполняется после создания заказа выполняет только запись в файл с логами. Привожу его содержимое:
<?
// получаем данные запроса
$postdata = file_get_contents("php://input");
// записываем их в лог
$text = file_get_contents("request.post");
$handle = fopen("request.post", "w");
fwrite($handle,$postdata);
fclose($handle);
?>
Не могли бы подсказать, из-за чего могут отличаться идентификаторы?
День добрый
Вероятно, пришло 2 события по двум разным заказам. По заказу ...80962 пришло событие раньше, чем по заказу ...839122. Т.к. у вас файл открывается на запись, а не на добавление, то вы и не видите первое событие. Поставьте ключик "a" при открытии файла request.post. Посмотрите, что будет в файле.
По результату отпишите.
Поменял ключ на a, проблема не решилась.. Продолжают приходить в логи непонятные идентификаторы.
Пример:
Создал заказ в личном кабинете в мобиделе.
Заказ в мобилеле:
Номер: 31658
Идентификатор: 377473857108172213
Информация в логах:
{ "action" : "changeOrder", "orderID" : "377473844241598692", "reqID" : "42", "sessionID" : "test", "SignatureValue" : "b35a9b025bebe006ff9f8d8affd4348d" }
Файл с логами лежит здесь http://mantyest.ru/request.post
В нём вообще нет информации о заказе 377473857108172213, хотя пытался менять статус заказа 31658 несколько раз.
Сейчас увидел, что в логи попал нужный заказ, но произошло это не сразу после создания/изменения статуса заказа, а через некоторое время (несколько часов).
Проверили, событие о изменении статуса заказа приходит моментально
покажите текст скрипта, который обрабатывает это событие
Выкладываю код:
<?
// получаем данные запроса
$postdata = file_get_contents("php://input");
// записываем их в лог
$text = file_get_contents("request.post");
$handle = fopen("request.post", "a");
fwrite($handle, date("m.d.Y H:i:s").'-'.$postdata);
fclose($handle);
?>
Добавил к логам ещё время обращения к скрипту. Протестировал опять на заказе 377473857108172213 (менял адрес доставки пару раз). В результате в логи без задержки попала информация, но опять id заказа не тот (390984743911004100).. Выкладываю содержимое логов на тот момент:
10.13.2017 16:42:39-{ "action" : "changeOrder", "orderID" :
"390984743911004100", "reqID" : "203", "sessionID" : "test",
"SignatureValue" : "c480ad17324ec2f1992066d53ca3e9e3" }10.13.2017
16:42:56-{ "action" : "changeOrder", "orderID" : "390984743911004100",
"reqID" : "204", "sessionID" : "test", "SignatureValue" :
"01ce84c1e312340d3dd25aae1da935c7" }10.13.2017 16:43:10-{ "action" :
"changeOrder", "orderID" : "390984743911004100", "reqID" : "205",
"sessionID" : "test", "SignatureValue" :
"e5c14ef49346eabca3af4e190dafb542" }
Событие формируется только при изменении статуса заказа. Т.е. изменение фамилии, имени, отчества, даты рождения, даты смерти и прочее на формирование события не влияют.
Пробовал и статусы менять, всё равно в логи приходит не то, что нужно.. Мы можем разобрать на примере какого-нибудь конкретного заказа?
Например создал сегодня заказ №32194 (id: 402243996211232698). Далее делал изменение статуса на ГОТОВИТСЯ, ГОТОВ К ДОСТАВКЕ и ДОСТАВЛЯЕТСЯ.
Вот что попало в файл request.post (как видно, информации с нужным id заказа нет):
Также прикладываю скриншот, на котором видно в какое время были присвоены статусы заказу.
Помогите разобраться пожалуйста, что делаю не так?
Добрый день
Поставили таймаут на выполнение запроса к удаленной системе (не более 5 секунд на выполнение запроса). Завтра сервер обновится. Проверьте как будет себя завтра вести. Это должно помочь, если, конечно, с вашей стороны все корректно настроено.
Добрый день.
Лучше стало?
Добрый день!
Да, проверил, сейчас правильно работает. Спасибо!
День добрый.
Похоже какой-то ... нехороший человек прописал у себя несуществующий или того хуже неработающий скрипт. Вот система и "задумывалась" над ним. Для выполнения чужих скриптов выделен всего один процесс (ну не предполагается, что тут будет сумасшедшая нагрузка), вот он и тормозил на недоступных скриптах. Сейчас стоит 5 сек на выполнение скрипта пользователя. Думаем этого вполне достаточно.