Возможно данная картинка поможет: отправка запроса с последующим извлечением данных из ответа.
Так же вариант схемы процесса с обработкой ошибок запросов. Единственный нюанс - если при ошибке (что то отличное от 20* в коде ответа) возвращаются данные поймать их в процессе без переработки исходного кода не получится
Announcement
Collapse
No announcement yet.
обработка ответа после вызова внешнего api
Collapse
X
-
сервис отрабатывает. постменом проверили, все ОК. а каким образом тогда можно забрать сами файлы из поля ? есть какие то нюансы ? что в Пейлоад передавать , что бы отработало ? пытаюсь доступиться вот так : "files[]":"{$documents}" но не отрабатывает. :-( documents - поле типа "несколько вложений"Last edited by Evgeny; 07-24-2020, 02:44 PM.
-
Теоретически да, если другой сервис обрабатывает такой тип запросов и принимает файлы.
Leave a comment:
-
Как вариант, реализовать все это через Hook https://docs.espocrm.com/development/hooks/.
Leave a comment:
-
печально . а если у меня нет возможности изменять внешний сервис, какие варианты есть тогда реализации данной задачи ? вот просто есть внешнее api и мне надо его дернуть и получить ответ, но поменять его или добавить там какой то вызов не могу - єто другая компания... :-(
-
> о, а что значит возвратный запрос в еспо? где его надо прописывать ? (видимо где то здесь и есть корень решения)
Наверное я вас неправильно понял. Я полагал что вы из EspoCRM отправляете запрос кудато на сайт а он вам в ответ запускает отдельный запрос и отправляет в Еспо данные. А выходит что вы отправляя Post запрос ожидали получить информацию в ответ. Верно? Тут нужно понимать что для получения информации из сторонних ресурсов должен отправляться запрос GET. Workflow или BPM могут отправить запрос только по методу POST и PUT. Функционала для отправки запроса по методу GET через UI нет. Таким образом ваша логика должна быть построена следующим образом:
1. EspoCRM используя действие Workflow или BPM отправляет POST запрос кудато на ваш сервис.
2. На вашем сервисе должен быть скрипт который принимает на вход POST запрос от EspoCRM, формирует ответ и отправляет соответствующий запрос в EspoCRM.
Leave a comment:
-
Можете показать пример полного возвратного запроса в Еспо? К примеру ту часть URI которая начинается с /api/v1/... . И Payload сам.
Также можете включит редим логирования DEBUG как описано здесь https://docs.espocrm.com/administrat...e-for-a-logger и проверять описание ошибок в логе. Если Payload неправильный он будет выкидывать чтото типа Bad server request и прочее.
Leave a comment:
-
В систему понятно, здесь вопросов нет. Єто все работает. ТОкен - єто авторизационный ключ внешней системы, там он и обрабатывается, по поводу переменной все верно, переменные определены - здесь все хорошо....
Сама отправка запроса идет - внешняя система вызвается и получает все переменные.
При этом внешняя система в ответ на запрос вовзращаяет ряд значений, которые я хочу в дальнейшем использовать в CRM. Например
У меня есть внешняя система , например платежей. Я передаю ей значение (ИД пользователя и сумму) в ответ получаю статус платежа. Мне нужно "поймать ответ" и записать его в поле CRM ...
Вот с єтой частью как раз и проблемы - не могу понять каким образом получить ответ.
Если брать структуру запроса, то постмен например выдает по АПИ след информацию:
{"status":"200","error":"","data":[]}
Вот как мне забрать значение статуса, например ?
И если будет ошибка - описание ошибки ?
-
UPD. Прошу прощения. Я написал Entry Point. Ошибка. Я имел ввиду API Key https://docs.espocrm.com/development...ion-by-api-key.
-
Ясно.
Ну как понять какие слать запросы в систему я вам показал. С чем еще возникли вопросы?
Я возможно могу быть и не прав поскольку не владею всей информацией о ваших логических процессах, но вот 2 примечания по поводу вашего Payload:
1. Вы передаете значение поля "token". У вас действительно такое поле имеется, или это токен самого запроса (как куки и пр.). Если это токен вашего запроса то тогда он должен прописываться в "Заголовки"
2. $$myFullAddress - следует понимать что это вызов переменной (не поля) в тело загрузки. В ВРМ как правило перед процессом в блоке со скриптами описываются все эти переменные.
Также вам следует понимать и следующее. Для отправки запросов из вне в СРМ систему, для того чтобы система не вернула код 403, необходимо в хедерах запроса передавать либо логин и пароль пользователя системы у которого есть права на подобные действия (создание, обновление записи и пр.) либо создать Entry Point. Подробнее читайте здесь https://docs.espocrm.com/development/api/.
Leave a comment:
-
Так вы хотите переслать данные в телеграм? Ознакомьтесь с данным материалом https://www.espocrm.com/blog/sending...ith-workflows/.
Leave a comment:
Leave a comment: