Лучший ответ
[OperationContract]
        [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped,
            RequestFormat = WebMessageFormat.Json,
            ResponseFormat = WebMessageFormat.Json,
             UriTemplate = "/UpdateUser/{id}")]
        [return: MessageParameter(Name = "result")]
 
        public Result UpdateUser(PortalUser user, string id){}

UriTemplate = "/UpdateUser/{id}" если я тебя правильно понял

[OperationContract]
        [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped,
            RequestFormat = WebMessageFormat.Json,
            ResponseFormat = WebMessageFormat.Json,
             UriTemplate = "/UpdateUser/{id}")]
        [return: MessageParameter(Name = "result")]
 
        public Result UpdateUser(PortalUser user, string id){}

UriTemplate = "/UpdateUser/{id}" если я тебя правильно понял

Dima Avdoshin, 

дякую :)

Показать все комментарии

Добрый день!

 

С помощью маркеплейсного решения  (https://marketplace.terrasoft.ru/template/shablon-nastroyki-integracii-s-veb-servisami-jira) пытаемся настроить интеграцию Creatio с Jira для постановки задач из обращений.

 

Проблема:

Не работает бизнес-процесс создания задач в Jira из-за ошибки авторизации.

 

Последовательность шагов:

 

1. Установлено приложение. Проведены все настройки, согласно инструкции на странице маркетплейсного решения:

 

Чтобы начать использовать темплейт:

  1. сделайте пакет labJiraTemplate доступным для редактирования
  2. в веб-сервисе Jira template укажите свой Url сервиса
  3. в бизнес-процессе "Создать задачу в Jira" внесите свои данные в методы веб-сервиса:
    • в элементе процесса "Jira Login" укажите логин и пароль для подключения к Jira (параметры User Name и Password)
    • в элементе процесса "Jira Create issue" актуализируйте параметры IssueTypeId, ProjectId и Reporter Name
    • в элементе "Добавить в обращение ссылку на задачу" уточните адрес своего сайта Jira.

2. Предпринята попытка создать задачу - процесс выполняется, но URL-адрес возвращается сомнительного вида (задачи не создаются):

Изображение удалено.

 

3. Предпринята попытка отправить тестовый запрос (метод сервиса Login, заложенном в БП). Данные для авторизации введены верные.

Система возвращает ошибку авторизации:

Изображение удалено.

 

Прошу помочь разобраться как можно решить данную проблему.

Спасибо.

Нравится

1 комментарий

Кристина, добрый день!

Проанализировали данное решение.

На текущий момент действительно есть такая проблема.

Она связана с тем, что на стороне Jira была изменена логика авторизации и решение не покрывает такой кейс. На текущий момент оно снято с публикации на маркетплейсе.

Показать все комментарии

Добрый день. При обращении к API по url /0/ServiceModel/EntityDataService.svc/$metadata или другим url. Выдает ошибку Internal Server Error. Unable to find property 'ITdsToday' on type 'Terrasoft.Configuration.Case'. Please make sure that the property name is correct.

Может кто подсказать в чем проблема и куда копать?

Нравится

7 комментариев

Добрый день.



Уточните следующею информацию:

1) Тело запроса

2) Скрин настроек колонки ITdsToday в объекте Case.

3) Какие другие url возвращают такую ошибку?



 

Mykhailo Storozhuk,

1)В тело пустое кидаем.

2)В БД есть столбец, но в конфигураторе у пакета Case в объекте Case нет такого св-ва.

3)Например /0/ServiceModel/EntityDataService.svc/CaseCollection или /0/ServiceModel/EntityDataService.svc/ContactCollection 

Необходимо выполнить полную компиляцию приложения (на время выполнения действия рекомендуем приостановить работу с приложением).



Подобная ошибка может возникнуть после внесения конфигурационных изменений в приложении. Нам известно о данной проблеме, она исправлена в будущих версиях. Пока что необходимо после подобных изменений выполнять компиляцию приложения.

Mykhailo Storozhuk,

Запустили компиляцию, выдает Внутренняя ошибка компилятора (код ошибки: 1) В чем может быть причина?

Уточните версию приложения. 

Mykhailo Storozhuk,

Service Creatio Enterprise 7.12.2

Dmitriy Doronin,



К сожалению, сложно сказать в чем ошибка без дополнительной информации, доступа к конфигурации и логов приложения. Вам лучше обратится в тех. поддержку Creatio, чтобы они смогли провести полноценный анализ проблемы. 

Показать все комментарии

Добрый день, коллеги! 

Настраиваю интеграцию с сервисом Ringostat



 https://help.ringostat.com/knowledge-base/article/integration-with-ringostat-via-api?_ga=2.175421226.967939475.1632121367-102122395.1627983840&_gac=1.124763256.1630405486.Cj0KCQjwpreJBhDvARIsAF1_BU3JuXmxhDLRmAZxhF9xAkJXLrFr1vFGPsRwjQzEaPlH3z4kQxz0_lsaAlGpEALw_wcB



В веб сервисах, в новосозданном методе указаны данные параметры вызова и отработки ответа



Изображение удалено.

 

Изображение удалено.

 

На выходе получается такая ошибка

Изображение удалено.



Изображение удалено.

В чем может быть проблема ? 

Нравится

1 комментарий

Данил, добрый день!

Если вы правильно настроили интеграцию, то рекомендую с помощью Postman провести дєбаг. Возможно такой запрос и должен вернуть этот результат. Необходимо протестировать отправку других запросов и посмотреть на результаты.

Показать все комментарии

Привет коллегам. Не уверен, что сюда пишут с подобным запросом, но задача стоит срочная, так что все силы хороши. 

Ищу разработчика Creatio для создания интеграции с сторонним сервисом https://api.textback.io

ТЗ пришлю 

Нравится

2 комментария

Максим, добрый вечер!

Мы готовы проработать данную интеграцию, но нужен полный сценарий обмена с целями и задачами интеграции. 

Напишите  на s@baso-it.ru свои контакты для обсуждения нюансов.

Еще актуально

Показать все комментарии

Добрый день.

Подскажите, пожалуйста, есть ли возможность создавать Лиды по API в Creatio, например, через oData.

Существуют другие API для создания Лида в Creatio?

 

Нравится

5 комментариев

Можете использовать механизм Web-To-Object. Подробнее здесь https://academy.terrasoft.ru/docs/developer/elements_and_components/mar…

 

Ну либо через Odata, добавили объект Lead. Примеры по работе с Odata можно так же посмотреть в документации https://documenter.getpostman.com/view/10204500/SztHX5Qb?version=latest…

 

Кстати, а работа Web-To-Object где-то логируется? Чтобы не потерять лиды, которые по разным причинам могли не дойти до Creatio

 

 

Владимир Соколов,

хороший вопрос, не прорабатывали. Мы чаще свои веб сервисы для этого делаем, ну либо через стандартные Лендинги и веб-формы

Сидоров Александр Валерьевич пишет:

Я как раз про стандартные лендинги.  Бывают случаи, когда некоторые лиды не доходят до системы (клиенты сравнивают пришедшие email'ы с разделом Leads). И тогда сложно выяснить, что случилось, и кто виноват...

Владимир Соколов,

у нас случаи неполучения лидов через Лендинги были только если интегрироваться с Тильдой. Но потом и её побороли. А у вас на каких CMS возникали проблемы?

Показать все комментарии

Доброго времени суток.

Тестирую возможности вашего инструмента, пытаюсь настроить интеграцию фронта через прокси с Creatio.

 

Научился создавать новый бизнес процесс и передавать данные, но не могу понять как им можно управлять через интеграцию.

 

Есть вот такой процесс заказа:

Изображение удалено.

Мне нужно, чтобы после создания заказа, с ним можно было оперировать, например, завершить его.

 

Пытался отправлять сигнал похожим на создание процесса способом:

Изображение удалено.

Но вместо schemaUId мне нужно передавать uid процесса, запущенного ранее.

По документации, не могу найти под каким параметром можно передать uid процесса, а не uid схемы процеса.

 

Конечно есть альтернативный вариант, сделать ожидание сигнала от другого процесса и при необходимости взаимодействия с процессом заказа, вызывать сторонний процесс, который просто вызовет событие в процессе заказа. Но мне такой вариант не нравится.

 

Подскажите, существует ли возможность активировать сигнал в определенном запущенном процессе с передачей данных?

Нравится

3 комментария
Лучший ответ

>Если функционал по вызову События или отправки Сигнала с передачей данных в БП через ProcessEngineService.svc отсутствует, то этот ответ меня тоже устроит.

К сожалению с таким на практике не встречался, подсказать не могу.

 

Вариант решения делать на каждой действие простой процесс (подпроцесс).

Например процесс добавления товара в заказ, у него будут входящие параметры: id заказа, id товара, булевый параметр. Запускаем этот процесс через ProcessEngineService.

На мой взгляд для текущей задачи больше подойдет odata https://academy.terrasoft.ru/docs/7-17/developer/integrations_and_api/d…

Для обобщения, меня в данном случае интересует выработка бест практайс и определение возможностей сервиса, а не решение конкретной задачи.

 

Интеграцию с odata я уже реализовал на прокси и умею через нее добавлять товары в заказ. Но хотелось бы больше контроля над бизнес процессом, от этого и вопрос.

Например мне нужно при изменении заказа уведомить склад о реформировании заказа. В таком случае я вижу 3 варианта:

1. OData. На прокси при добавлении заказа отсылать email (плохо, мало контроля и не очевидно в рамках БП).

2. OData + BPMN. В самом БП создать некую подписку на добавление товара в данный заказ и сделать отправку email (уже лучше, но например не при каждом изменении заказа мне нужно отправлять email, в таком случае появятся кастыли вроде сохранения промежуточных булевых переменных в данных, для определения вида изменения заказа).

3. BPMN. Чистая реализация на вызове отдельного события в процессе с передачей данных. Это позволит добавлять любой товар по простому сигналу и получить контроль над процессом, передавать дополнительно булевые переменные для модификации поведения БП в рантайме.

 

3-ий вариант для меня сейчас самый приоритетный.

Если функционал по вызову События или отправки Сигнала с передачей данных в БП через ProcessEngineService.svc отсутствует, то этот ответ меня тоже устроит.

>Если функционал по вызову События или отправки Сигнала с передачей данных в БП через ProcessEngineService.svc отсутствует, то этот ответ меня тоже устроит.

К сожалению с таким на практике не встречался, подсказать не могу.

 

Вариант решения делать на каждой действие простой процесс (подпроцесс).

Например процесс добавления товара в заказ, у него будут входящие параметры: id заказа, id товара, булевый параметр. Запускаем этот процесс через ProcessEngineService.

Показать все комментарии

Добрый день,

 

подскажите пожалуйста, столкнулись с неизвестной ошибкой получения данных о контакте используя протокол odata4. Пример запроса:

curl --location --request GET 'https://ht-lab.terrasoft.ru/0/odata/Contact(ebd2424b-6aad-422e-9bb4-b93f11d5f0db)' \

--header 'ForceUseSession: true' \

--header 'BPMCSRF: -----' \

--header 'Content-Type: application/json; charset=UTF-8'

В ответе ошибка:

{ "error": { "code": "", "message": "An error has occurred." } }

Запрос на получение списка всех контактов возвращает аналогичную ошибку.

В чем может быть причина?

Нравится

3 комментария

Владимир, попробуйте опубликовать объект «Контакт» в конфигурации. Если этого будет недостаточно, нужно будет смотреть в логах сайта подробности ошибки.

Зверев Александр,

Спасибо, "опубликовать" помогло.  Раньше обычно делал компиляцию измененных элементов, сейчас это уже не срабатывает.

Вадим, при добавлении/изменении объектов нужно публиковать для каждого именно его схему, чтобы отработало обновление структуры таблицы в БД, создались новые поля. Для других типов компилируемых схем (БП, действия, в 5.Х-интерфейсе были и страницы) это уже не обязательно, достаточно, чтобы опубликовалась любая.

Показать все комментарии

Где в документации можно найти, запросы (выгрузку контакты, и т.д.) через API.

К примеру, для лидов собрал https://012521-sales-team.terrasoft.ru/0/ServiceModel/EntityDataService…;

Нравится

1 комментарий

Слава, информация об интеграции по OData есть тут для OData 3, которую Вы применили, и тут для Odata 4.

Если кратко, вместо лидов в адресе подставляете название нужного объекта и аналогично получаете ответ. Например, контакты:

http://сайт/0/ServiceModel/EntityDataService.svc/ContactCollection

Больше примеров  по обоим API есть на стороннем ресурсе.

Показать все комментарии

Добрый день!



Планирую интеграцию одного приложения с Creatio CRM через внешний API на OData4.

Читаю документацию, и вижу, что любую сущность можно получить через отдельный запрос. Но изначально система не знает какие сущности могут быть в системе, и чтобы получить их список нужно выполнить SQL-запрос (по инстркуции):

 

для MySQL

SELECT * FROM INFORMATION_SCHEMA.TABLES

для Oracle

SELECT * FROM ALL_TABLES

для PostgreSQL

SELECT table_name FROM information_schema.tables

 

У меня есть только данные для авторизации юзера через OData4, и этот запрос мне никак не выполнить.



Есть ли какой-то способ через внешний API получить список всех таблиц?

Нравится

5 комментариев
Лучший ответ

Павел, можно ещё

https://{server}/0/odata/

Так будет результат в  JSON.

 

Либо воспользоваться информацией из таблицы SysSchema, которая тоже доступна по OData. За объекты отвечает EntitySchemaManager, получить список можно с таким фильтром:

https://{server}/0/odata/SysSchema?$filter=ManagerName%20eq%20%27EntitySchemaManager%27

А вариант с выбором из базы не очень подходит, поскольку зависит от платформы, плюс не все таблицы в базе связаны с объектами конфигурации и могут быть доступны по OData. И наоборот, часть объектов сделаны не на основе table, а по view.

Нашел сам



Запрос на 

https://{server}/0/odata/$metadata

возвращает внутри <Schema Namespace="Terrasoft.Configuration.OData" xmlns="http://docs.oasis-open.org/odata/ns/edm"> все сущности

Павел, можно ещё

https://{server}/0/odata/

Так будет результат в  JSON.

 

Либо воспользоваться информацией из таблицы SysSchema, которая тоже доступна по OData. За объекты отвечает EntitySchemaManager, получить список можно с таким фильтром:

https://{server}/0/odata/SysSchema?$filter=ManagerName%20eq%20%27EntitySchemaManager%27

А вариант с выбором из базы не очень подходит, поскольку зависит от платформы, плюс не все таблицы в базе связаны с объектами конфигурации и могут быть доступны по OData. И наоборот, часть объектов сделаны не на основе table, а по view.

Зверев Александр, Спасибо! А метадату конкретной сущности как получить? 

Требуется узнать какие поля у модели.

В https://{server}/0/odata/$metadata всё есть.

Pavel Buev,

Добрый день Павел, нашли решение получение метадаты конктретной сущности? ищу рещение такой же проблемы

Показать все комментарии