Здравствуйте! Возможно ли PUT: /apps/APP_ID/dtypes/ID.xml переделать в браузерную строку вида: https://quintadb.ru/apps/b5WOruE8njWQvNs8knv8km/dtypes/aLWR1GESnikykpwCoGWOmF.xml?rest_api_key=_________мой_ключ__________&values={"aKBCoaobHjWPyGsCkAnSoO"=>"Запрос_котировок"}
Пробую, не получается. Или не правильно пишу.
Igor Petrushenko
January 20, 2019
Здравствуйте, Алексей!
Нет, values явно неправильно так прописывать в URL. Пожалуйста, изучите примеры скриптов, которые мы даем в API. Если Вы используете XML, то там совсем по-другому отправляются параметры. В примере на Руби это показано. А еще лучше JSON использовать, там проще.
Алексей Верхогляд
January 20, 2019
Я уже перепробовал всё, что можно)) Пишу в Delphi Код: IdHTTP1.Put(‘https://quintadb.ru/apps/’r_app_id[sin]‘/dtypes/’r_id[sin]‘.xml’, TStringStream.Create(‘{"rest_api_key":[“____мой_ключ___”], “values”:{"aKBCoaobHjWPyGsCkAnSoO":“Запрос котировок”}}’, TEncoding.UTF8));
В итоге запись обновляется, но теряет все показатели, а так же присваивается новый номер (будто создаётся новая запись).
Алексей Верхогляд
January 20, 2019
В общем всё равно не верная транскрипция. Можете пример какой-нибудь кинуть любой?
Igor Petrushenko
January 20, 2019
Пример чего? В документации есть примеры на двух языках. Также по каждому вызову есть примеры.
Алексей Верхогляд
January 20, 2019
Целый день голову ломаю. Может что-то не хватает?
Формат и метод: JSON (PUT) Адрес: /apps/APP_ID/dtypes/ID.json Пример тела запроса: {"rest_api_key":“API_KEY”, “values” => {"aNW4nkW5bdUjldO8oKuSku" : 3, “aMW4HKWR9bnOoGWQbpWQS4” : “b”, “cMW6pcTSjbWOFdTCkBtmkN” : "c"}}
На основании этого мой код: Stream:=TStringStream.Create(‘ {"rest_api_key":“_____ключ____”,“values”=>{"dcHf8vWOjdI4BcMv1diGL0":“klin.lab9@yandex.ru”}}’ ); IdHTTP1.Put(‘https://quintadb.ru/apps/’r_app_id[sin]‘/dtypes/’r_id[sin]‘.json’, Stream);
Алексей Верхогляд
January 20, 2019
ИТОГ: Запись обновляется, но values не вносятся. Кстати, запись обновляется так же, если убрать все параметры (даже ключ), оставить только адрес
Igor Petrushenko
January 20, 2019
Я в логах не вижу айдишников полей из Вашего примера, как и почты, и вообще не вижу чтобы где-то параметры передавались. Вы у себя в логах посмотрите какой именно URL и с какими параметрами создается перед отправлением, потмоу что параметры похоже вообще не передаются.
А ключ все равно нужен, если с сайта разлогинитесь то запросы перестанут работать.
Igor Petrushenko
January 20, 2019
Вижу уже параметры идут, правда в формате строки, т.е. весь хеш параметров в формате строки. Поищите как в делфи сформировать и отправить параметры. Если не получится, завтра наши программисты также поищут.
Алексей Верхогляд
January 20, 2019
Ок. Так и не получилось пока.. Надеюсь завтра сможете помочь подумать, как сделать.
Igor Petrushenko
January 20, 2019
А Вам обязательно на делфи?
Алексей Верхогляд
January 21, 2019
Да. Тем более осталась только функция корректировки записей.
Мне бы пример любого полного кода, хоть в php. Я бы переделал.
Пробовал скриптами в html, bat ником, через браузер напрямую – результата нет.
Отлично! Заработало! Обновляет! Спасибо ОГРОМНЕЙШЕЕ! НО! Только есть одно поле, которое не хочет редактироваться: acybJcPhDdLyoIwbdcNKSD
Не могу понять почему
Алексей Верхогляд
January 21, 2019
При чём интересная особенность! Если значение поля acybJcPhDdLyoIwbdcNKSD любое, кроме как – “На согласование/На доработку”, то другие поля не могут редактироваться; Стоит изменить значение поля – “На согласование/На доработку”, то все поля (кроме него) могут редактироваться. Не понимаю как это зависит.
Igor Nosovskiy
January 22, 2019
Здравствуйте, Алексей. Перешлите нам на почту admin@quintadb.ru запись которую вы передаете через API.
Алексей Верхогляд
January 22, 2019
Отправил на почту
Igor Petrushenko
January 22, 2019
Спасибо, получили, разберемся и завтра ответим.
Алексей Верхогляд
January 24, 2019
Записал на видео, т.к. так проще объяснить https://www.youtube.com/watch?v=dj-Pyi2dZB0
Во вложении программа, которую я использовал для теста.
По просьбе оправляю информацию о направлении запросов RestAPI: Получилось откорректировать поле записи: 24.01.2019 0:19:12 dcP8kXWP1dIikRDeWZqmo6 : 101010
Не получилось откорректировать поле записи: 24.01.2019 0:20:00 acybJcPhDdLyoIwbdcNKSD : Согласовано
Здравствуйте, Алексей. Мы выяснили, что причина в действии по условию под названием “Действие отклонено”. У него стоит галочка “ПРИ СОБЛЮДЕНИИ КРИТЕРИЕВ ДАННЫЕ В ТАБЛИЦУ НЕ ОТПРАВЛЯТЬ”. Все должно заработать, если вы ее снимете.
Алексей Верхогляд
January 24, 2019
Огромное Спасибо! Получилось! Всё работает! Жаль, что теперь без галочки “ПРИ СОБЛЮДЕНИИ КРИТЕРИЕВ ДАННЫЕ В ТАБЛИЦУ НЕ ОТПРАВЛЯТЬ”, но это лучше, чем не работающая программа. Топик можно закрыть.
Алексей ВерхоглядJanuary 20, 2019
Здравствуйте!
Возможно ли PUT: /apps/APP_ID/dtypes/ID.xml переделать в браузерную строку вида:
https://quintadb.ru/apps/b5WOruE8njWQvNs8knv8km/dtypes/aLWR1GESnikykpwCoGWOmF.xml?rest_api_key=_________мой_ключ__________&values={"aKBCoaobHjWPyGsCkAnSoO"=>"Запрос_котировок"}
Пробую, не получается. Или не правильно пишу.
Igor PetrushenkoJanuary 20, 2019
Здравствуйте, Алексей!
Нет, values явно неправильно так прописывать в URL.
Пожалуйста, изучите примеры скриптов, которые мы даем в API.
Если Вы используете XML, то там совсем по-другому отправляются параметры. В примере на Руби это показано.
А еще лучше JSON использовать, там проще.
Алексей ВерхоглядJanuary 20, 2019
Я уже перепробовал всё, что можно))
Пишу в Delphi
Код:
IdHTTP1.Put(‘https://quintadb.ru/apps/’r_app_id[sin]‘/dtypes/’r_id[sin]‘.xml’, TStringStream.Create(‘{"rest_api_key":[“____мой_ключ___”], “values”:{"aKBCoaobHjWPyGsCkAnSoO":“Запрос котировок”}}’, TEncoding.UTF8));
В итоге запись обновляется, но теряет все показатели, а так же присваивается новый номер (будто создаётся новая запись).
Алексей ВерхоглядJanuary 20, 2019
В общем всё равно не верная транскрипция. Можете пример какой-нибудь кинуть любой?
Igor PetrushenkoJanuary 20, 2019
Пример чего?
В документации есть примеры на двух языках. Также по каждому вызову есть примеры.
Алексей ВерхоглядJanuary 20, 2019
Целый день голову ломаю. Может что-то не хватает?
Формат и метод: JSON (PUT)
Адрес: /apps/APP_ID/dtypes/ID.json
Пример тела запроса:
{"rest_api_key":“API_KEY”, “values” => {"aNW4nkW5bdUjldO8oKuSku" : 3, “aMW4HKWR9bnOoGWQbpWQS4” : “b”, “cMW6pcTSjbWOFdTCkBtmkN” : "c"}}
На основании этого мой код:
Stream:=TStringStream.Create(‘
{"rest_api_key":“_____ключ____”,“values”=>{"dcHf8vWOjdI4BcMv1diGL0":“klin.lab9@yandex.ru”}}’
);
IdHTTP1.Put(‘https://quintadb.ru/apps/’r_app_id[sin]‘/dtypes/’r_id[sin]‘.json’, Stream);
Алексей ВерхоглядJanuary 20, 2019
ИТОГ: Запись обновляется, но values не вносятся.
Кстати, запись обновляется так же, если убрать все параметры (даже ключ), оставить только адрес
Igor PetrushenkoJanuary 20, 2019
Я в логах не вижу айдишников полей из Вашего примера, как и почты, и вообще не вижу чтобы где-то параметры передавались.
Вы у себя в логах посмотрите какой именно URL и с какими параметрами создается перед отправлением, потмоу что параметры похоже вообще не передаются.
А ключ все равно нужен, если с сайта разлогинитесь то запросы перестанут работать.
Igor PetrushenkoJanuary 20, 2019
Вижу уже параметры идут, правда в формате строки, т.е. весь хеш параметров в формате строки. Поищите как в делфи сформировать и отправить параметры. Если не получится, завтра наши программисты также поищут.
Алексей ВерхоглядJanuary 20, 2019
Ок. Так и не получилось пока.. Надеюсь завтра сможете помочь подумать, как сделать.
Igor PetrushenkoJanuary 20, 2019
А Вам обязательно на делфи?
Алексей ВерхоглядJanuary 21, 2019
Да. Тем более осталась только функция корректировки записей.
Мне бы пример любого полного кода, хоть в php. Я бы переделал.
Пробовал скриптами в html, bat ником, через браузер напрямую – результата нет.
ZsSos53j60M.jpg
Igor PetrushenkoJanuary 21, 2019
Полного, в смысле с апдейтом? На ruby же рабочий пример.
azerorh@quintadb.comJanuary 21, 2019
Здравствуйте, Алексей!
Есть пример готового кода на Jquery
$.ajax({
url: “https://quintadb.ru/apps/app_id/dtypes/ID.json”,
type: “PUT”,
data: {"rest_api_key":“your_rest_api_key”, “values” : {"value_id": "some_data"}},
});
Алексей ВерхоглядJanuary 21, 2019
Отлично! Заработало! Обновляет! Спасибо ОГРОМНЕЙШЕЕ!
НО!
Только есть одно поле, которое не хочет редактироваться:
acybJcPhDdLyoIwbdcNKSD
Не могу понять почему
Алексей ВерхоглядJanuary 21, 2019
При чём интересная особенность!
Если значение поля acybJcPhDdLyoIwbdcNKSD любое, кроме как – “На согласование/На доработку”, то другие поля не могут редактироваться;
Стоит изменить значение поля – “На согласование/На доработку”, то все поля (кроме него) могут редактироваться.
Не понимаю как это зависит.
Igor NosovskiyJanuary 22, 2019
Здравствуйте, Алексей.
Перешлите нам на почту admin@quintadb.ru запись которую вы передаете через API.
Алексей ВерхоглядJanuary 22, 2019
Отправил на почту
Igor PetrushenkoJanuary 22, 2019
Спасибо, получили, разберемся и завтра ответим.
Алексей ВерхоглядJanuary 24, 2019
Записал на видео, т.к. так проще объяснить
https://www.youtube.com/watch?v=dj-Pyi2dZB0
Во вложении программа, которую я использовал для теста.
По просьбе оправляю информацию о направлении запросов RestAPI:
Получилось откорректировать поле записи:
24.01.2019 0:19:12
dcP8kXWP1dIikRDeWZqmo6 : 101010
Не получилось откорректировать поле записи:
24.01.2019 0:20:00
acybJcPhDdLyoIwbdcNKSD : Согласовано
Test RestAPI.zip
Igor NosovskiyJanuary 24, 2019
Здравствуйте, Алексей.
Мы выяснили, что причина в действии по условию под названием “Действие отклонено”.
У него стоит галочка “ПРИ СОБЛЮДЕНИИ КРИТЕРИЕВ ДАННЫЕ В ТАБЛИЦУ НЕ ОТПРАВЛЯТЬ”.
Все должно заработать, если вы ее снимете.
Алексей ВерхоглядJanuary 24, 2019
Огромное Спасибо! Получилось! Всё работает!
Жаль, что теперь без галочки “ПРИ СОБЛЮДЕНИИ КРИТЕРИЕВ ДАННЫЕ В ТАБЛИЦУ НЕ ОТПРАВЛЯТЬ”, но это лучше, чем не работающая программа.
Топик можно закрыть.