Hello community,

 

I have been reading a lot of threads to understand if we can stream files into file detail using postman.

 

According to 

https://community.creatio.com/questions/attachments-and-notes-using-dat…

Odata will not be a viable option



According to 

https://community.creatio.com/questions/fileapiservice-error

FileAPIService cannot be used to pass binary content via postman.



Are we right in understanding that to stream files via API, we need to create a custom service?



Thanks in advance!

Like 0

Like

5 comments

Hi,

You can use FileApiService/UploadFile.

You can find examples in this discussion.

Dmytro Vovchenko,

what is the 

FileApiService?

noyzada,

 

You can find information here.

Bogdan,

Hi,

I'm using the 8.06 version / application section and now all the files save to the SysFile table,

I manage to post a file with postman but I can't connect it to the right record where the details of the files are 

you know how can i do it with the new version? with sysfile table

Show all comments

Hi Community, 

 

I have to use Odata of Creatio environment from Postman using OAuth 2.0 authentication. For that, I have followed a Tech hour session of Creatio Trainers.

Tech Hour - Integrate like a boss with Creatio, part 2 (Odata)

 

But, while generating token at 38:10, I am not getting token in a response instead of that I am getting some HTML code like below.

 

 

Please suggest and help how to get token and if I am missing something. :)

Thanks in Advance.

Like 0

Like

4 comments

Hi Patrik,

 

Can you please provide a complete HTML-code from the response? There should be some description of the response at the bottom.

 

Best regards,

Oscar

Hi Oscar,

 

Below is the complete HTML-code.

 

<!DOCTYPE html

    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" culture="en-US">

 

<head>

    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />

    <meta name="fontiran.com:license" content="LAXSN" />

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>

        Creatio

    </title>

    <style>

        .font-preload {

            position: absolute;

            opacity: 0;

        }

 

        .font-preload-open-sans {

            font-family: "Bpmonline Open Sans";

        }

 

        .font-preload-open-sans-light {

            font-family: "Bpmonline Open Sans Light";

        }

 

        .font-preload-open-sans-bold {

            font-family: "Bpmonline Open Sans Bold";

        }

    </style>

    <script type="text/javascript">

        Terrasoft = window.Terrasoft || {};

Terrasoft.appFramework = "NETFRAMEWORK";

Terrasoft.coreVersion = "7.18.5.1500";

Terrasoft.useClientPerformanceLogger = false;

Terrasoft.configuration = Terrasoft.configuration || {};

Terrasoft.configuration.Structures = Terrasoft.configuration.Structures || {};

Terrasoft.useParallelSchemaBuilding = true;

Terrasoft.showSessionEndNotification = false;

Terrasoft.useWebSocketKeepAlive = true;

Terrasoft.useStaticFileContent = true;

Terrasoft.usePackageFileContent = true;

Terrasoft.useGenerateModulePathes = true;

Terrasoft.useNewRightsManagement = true;

Terrasoft.useOffsetFetchPaging = false;

Terrasoft.useMarkerValue = true;

Terrasoft.enablePerformanceManager = false;

Terrasoft.useSecureSettingsOnClient = false;

Terrasoft.useSchemaUniqueNameRandomGenerator = true;

Terrasoft.disableAspxErrorPage = true;

Terrasoft.useAsyncStaticContentGeneration = true;

var FileAPI = {

    staticPath: "https://050800-studio.creatio.com//Resources/ui/FileAPI/",

    flashUrl: "https://050800-studio.creatio.com//Resources/ui/FileAPI/FileAPI.flash.s…",

    flashImageUrl: "https://050800-studio.creatio.com//Resources/ui/FileAPI/FileAPI.flash.i…" };

Terrasoft.storesConfig = [];

Terrasoft.storesConfig.push({levelName: 'ClientPageSession', type: 'Terrasoft.MemoryStore', isCache: true});

Terrasoft.storesConfig.push({levelName: 'Domain', type: 'Terrasoft.LocalStore', isCache: true});

if(Terrasoft.StoreManager){

    Terrasoft.StoreManager.registerStores(Terrasoft.storesConfig);

}

Terrasoft.loaderBaseUrl = "https://050800-studio.creatio.com/";

Terrasoft.workspaceBaseUrl = "https://050800-studio.creatio.com/";

Terrasoft.coreModulesPath = 'core/hash/';Terrasoft.app = Terrasoft.app || {};

Terrasoft.app.config = Terrasoft.app.config || {};

Terrasoft.app.config.staticFileContent = Terrasoft.app.config.staticFileContent || {};

Terrasoft.app.config.staticFileContent.imagesRuntimePath = 'conf/content/img';

Terrasoft.app.config.staticFileContent.schemasRuntimePath = 'conf/content';

Terrasoft.app.config.staticFileContent.resourcesRuntimePath = 'conf/content/resources';



 

Terrasoft.showSelfRegistrationLink = true;

    </script>

    <script type="text/javascript">

        window.workspaceCount = 0;

window.supportInfo = [];

window.supportInfoCaption = 'Technical support';

window.importantLinks = [];

window.importantLinksCaption = 'Important links';

window.productVersion = '7.18.5.1500';

window.loginTimeout = '30000';

var Terrasoft = Terrasoft || {};

window.isNtlmLoginVisible = false;

window.isOpenIdLoginVisible = false;

window.loginPageWidgetInfo = {visible: true, src: 'https://www.bpmonline.com/page/creatio/widget'}

window.unsupportedBrowserInfo = { visible: true }

window.loginImageUrl = '/terrasoft.axd?s=nui-binary-syssetting&r=LogoImage&source_hash=98b1b8112110361c36b8ab70d88db296';

window.productVersion = '7.18.5.1500';

    </script>

    <script type="text/javascript"

        src="https://050800-studio.creatio.com//core-sl/851526dc5db90435038b708f7ad9…"></script>

    <script type="text/javascript">

        Terrasoft.loginUrl = 'https://050800-studio.creatio.com/ServiceModel/AuthService.svc/Login';

Terrasoft.ntlmLoginUrl = 'https://050800-studio.creatio.com/Login/NuiLogin.aspx?ntlmlogin';

Terrasoft.changePasswordUrl = 'https://050800-studio.creatio.com/ServiceModel/AuthService.svc/DoChange…';

Terrasoft.simpleLoginTag = "simplelogin";

Terrasoft.loginModulePath = 'https://050800-studio.creatio.com//core/cab68cf981c5c57700bb51729bd6695…';

    </script>

    <script type="text/javascript"

        src="https://050800-studio.creatio.com//core/db7fe0930e6258f01fb73405039cc9a…">

    </script>

    <script type="text/javascript"

        src="https://050800-studio.creatio.com//core/a2de79ad7a40d8fc81723c5ec4924f6…">

    </script>

    <script type="text/javascript">

        Terrasoft.configurationContentHash = "e5c44fb36af042b9bd061eabf982e95f";

Terrasoft.fileContentDescriptorsFileExists = true;

Terrasoft.fileContentBootstrapsFileExists = true;

Terrasoft.currentUserCultureName = "en-US";

    </script>

    <script type="text/javascript"

        src="https://050800-studio.creatio.com//core/82582be2ea4244b8799f21ef78fd6a7…">

    </script>

    <link rel="stylesheet" type="text/css"

        href="https://050800-studio.creatio.com//core/618184e4bd438f8c5e43aa74aff1464…" />

    <link href="../terrasoft.axd?s=nui-binary-syssetting&r=FaviconImage&source_hash=b05a750c6b433c4fc47050e3d539139e"

        rel="shortcut icon" type="image/vnd.microsoft.icon" />

    <script type="text/javascript"

        src="https://050800-studio.creatio.com//core/057665f97324038f6c7c326b6734de6…"></script>

    <script type="text/javascript">

        requirejs.config({

    'paths': {

        'require-config': 'https://050800-studio.creatio.com//core/c3b382519da9b15e207de6d13b5f07b…',

        'require-url-config': 'https://050800-studio.creatio.com//core/967b00f40245f346c0fb1e09d597be5…',

        'core-base': 'https://050800-studio.creatio.com//core/d17ef52258a059bbfe965f70e14a892…',

        'bootstrap': 'https://050800-studio.creatio.com//core/6290cba0af7874034f1ec28936bca13…',

        'performanceLogger': 'https://050800-studio.creatio.com//core/cf23c4ee65b1c47840a78249f048d9e…',

        'performancecountermanager': 'https://050800-studio.creatio.com//core/e79de66acd39442acc1377a3c171086…',

        'rxjs': 'https://050800-studio.creatio.com//core/3af6aa89d5864381a3fd9f1fe6785da…',

        'process-designer-component': 'https://050800-studio.creatio.com//core/5119e9df4aca8914fabf4effd4b3ee4…',

        'voice-to-text-component': 'https://050800-studio.creatio.com//core/9df4cfbb9e9b64ef08efce6d7b673e3…',

        'jQuery': 'https://050800-studio.creatio.com//core/f7072c6fb890cf46ab0e415e1c5edc0…',

        'ckeditor-base': 'https://050800-studio.creatio.com//core/35294e09797b9d02519ddb8ec253cc6…',

        'html2canvas': 'https://050800-studio.creatio.com//core/6bd482f253bafa6d551a21a9d1c5158…',

        'login-view-utils': 'https://050800-studio.creatio.com//core/dac89c851a756ef023c909a162fe1bd…',

        'configuration-loader': 'https://050800-studio.creatio.com//core/2a08fc37afe007049254c67723a07b7…',

        'configuration-bootstraps': 'https://050800-studio.creatio.com//core/0b716942a363fd530c825a6916ea3eb…',

        'loadbootstrap': 'https://050800-studio.creatio.com//core/fb69c3378bd3bdd1dcaab52942c87fa…',

        'chartjs': 'https://050800-studio.creatio.com//core/35da68cdf95e9468e2d8a3402ba2990…',

        'chartjs-label': 'https://050800-studio.creatio.com//core/0465154f993989d21ccc58b60b5eff8…',

        'chartjs-defaults': 'https://050800-studio.creatio.com//core/f5dcdb1296b21c01cb66773578fcdbd…',

        'chartjs-funnel': 'https://050800-studio.creatio.com//core/1d50b71dc2141b3e6bf11233f3110a0…',

        'chartjs-gauge': 'https://050800-studio.creatio.com//core/c69beeddee9d58074a185ac35ead686…',

        'user-agent': 'https://050800-studio.creatio.com//core/7b46df63a446479bad7a010aefae6d4…',

        'user-agent-parser': 'https://050800-studio.creatio.com//core/796eff62f0f726654cfc29d4a77df33…',

        'ng-core': 'https://050800-studio.creatio.com//core/6cb28d63fbb28f9a3377feea3f9d820…',

        'ng-loader': 'https://050800-studio.creatio.com//core/6eada957e17a6e76a7090421502adbb…',

        'ng-scripts': 'https://050800-studio.creatio.com//core/30950c16db19b349981dd6cd0b66a3b…',

        'ng-polyfills-es5': 'https://050800-studio.creatio.com//core/83382b3fa36e6adf19d56492fa6ed49…',

        'ng-polyfill-webcomp': 'https://050800-studio.creatio.com//core/ba560325babea1d1f73bcc2b076e626…',

        'numeral': 'https://050800-studio.creatio.com//core/b3ac42fc2efdd8256803f41aab70211…',

        '@creatio/sdk': 'https://050800-studio.creatio.com//core/091860f68bd3d2e237f482f14c45829…'

    },

    'shim': {

        'chartjs-label': {

            'deps': [

                'chartjs'

            ]

        },

        'chartjs-defaults': {

            'deps': [

                'chartjs-label'

            ]

        },

        'chartjs-funnel': {

            'deps': [

                'chartjs'

            ]

        },

        'chartjs-gauge': {

            'deps': [

                'chartjs'

            ]

        },

        'user-agent': {

            'deps': [

                'user-agent-parser'

            ]

        },

        'ng-core': {

            'deps': [

                'ng-loader'

            ]

        },

        'ng-loader': {

            'deps': [

                'ng-scripts'

            ]

        },

        'ng-scripts': {

            'deps': [

                'ng-polyfills-es5',

                'ng-polyfill-webcomp'

            ]

        },

        'process-designer-component': {

            'deps': [

                'ng-core'

            ]

        },

        'voice-to-text-component': {

            'deps': [

                'ng-core'

            ]

        }

    }

});

require(['loadbootstrap'], function() {});

    </script>

    <script type="text/javascript"

        src="https://050800-studio.creatio.com//core/f7072c6fb890cf46ab0e415e1c5edc0…"></script>

    <script type="text/javascript">

        console.warn('Creatio Debug mode is OFF. To switch ON use following code');

console.log('Terrasoft.SysSettings.postPersonalSysSettingsValue("IsDebug", true)');

Terrasoft.isDebug = false;

    </script>

    <script type="text/javascript">

        Terrasoft.DataValueTypeRange = {INTEGER: {maxValue:2147483647,minValue:-2147483648},FLOAT: {maxValue:79228162514264337593543950335,minValue:-79228162514264337593543950335},DATE_TIME: {maxValue:"9999-12-31T23:59:59.999",minValue:"0001-01-01T00:00:00.000"}};

    </script>

    <script type="text/javascript">

        Terrasoft.isSspInReadonlyMode = false;

    </script>

    <script type="text/javascript">

        let authErrorExceptions = Terrasoft.AuthErrorExceptions = {};

authErrorExceptions[4] = 'Access denied. Contact your system administrator';

authErrorExceptions[5] = 'Your password has expired. Re-set your password';

authErrorExceptions[10] = 'Time zone is invalid.';

authErrorExceptions[0] = 'Authorization failed';

    </script>

</head>

 

<body>

    <div class="font-preload">

        <span class="font-preload-open-sans">_</span>

        <span class="font-preload-open-sans-light">_</span>

        <span class="font-preload-open-sans-bold">_</span>

    </div>

    <form name="IndexForm" method="post" action="./NuiLogin.aspx?ReturnUrl=%2fconnect%2ftoken" id="IndexForm">

        <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="eMuh9ihakhnX/zUqq7lTE6+Qjxg4SzesoxXF7ONcAMizlm2gDp+Gio00ugTgWm/AlwErvFthXa/vJl5/6RJTQJDAIj954pdUbX8rQ4ykxxFP9iqA" />

 

        <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="0BFA92C5" />

    </form>

</body>

 

</html>

Pratik Sanghani,

 

Thank you! This message is usually returned in case you are not authenticated. Did you use UserName and UserPassword as a ClientId and ClientSecret and used Basic Auth? And also are you passing a form-data grant_type key in the headers and also using the identity service URL as an endpoint to send request?

 

Best regards,

Oscar

Oscar Dylan,

 

Thank you for the Help. It is working fine for me as well. I was not using the identity service URL as an endpoint earlier. :)

Show all comments

Hi,

 

I have a strange behavior when working with postman and ODATA webservices.

 

I'm trying to get the data from "Product" section and keep getting an Error 500 message.

 

The link that I'm using is "https://domain.creatio.com/0/odata/Product"

 

In Addition, It's important to keep in mind the following:

1. Sending the get request to other sections works, for example: Order, Employee, Opportunity.

2. The issue started to happen after a few times I tried to add a new product from postman.

At the beginning I managed to add the product and after 5-6 times I started to get the Error 500 message even when querying.

3. Further to the previous bullet, every time the product was added I received an error message in postman, but saw the record in the application - very strange.

 

I eventually need also to query and to add products to the "Product" section.

 

Looking forward to having assistance.

 

Best Regards,

Raz

 

 

Like 0

Like

5 comments

Hi Raz,

 

First of all you need to check the application logs and see the actual server error that is received upon calling the Products object via OData. Secondly you need to check if there are no errors with any of the "Products" objects in the system configurations (maybe the system asks to update the database structure for any "Product" object in any package or source code update is required). Also try publishing all the replaced "Product" objects in configurations.

 

Best regards,

Oscar

Oscar Dylan,

Hi Oscar,

 

I didn't understand your answer at all.

 

I will elaborate:

1. The error 500 occurs even when querying the product section.

2. Which application logs? the application runs in the cloud.

3. what do you mean by "errors with any of the products objects"? again, the issue occurs even when querying the section.

 

Thanks,

Raz

Oscar Dylan,

Hi Oscar,

 

I have a new update on the issue.

I don't know what happen, but now the Get Request works, the Post request for creating a new product works too.

 

But, Once I enter the product in the system and "Close" button changes to "Save". It looks like something in the creation of the product didn't finish correctly.

 

Can you point me to what to check?

 

Thanks,

Raz

Raz Guille Rosman,

 

Hi Raz,

 

Regarding your remarks:

 

1) "1. The error 500 occurs even when querying the product section." - I did understand that and that's why asked you to go to system configurations and check if any of the "Products" objects has "Database update is required" or "Source code update is required" error flag. The situation you described looks like the issue with an object in configurations and that's why it had to be checked.

 

2) "2. Which application logs? the application runs in the cloud." - you should've mentioned that the application is running in the cloud. You can contact us directly at support@creatio.com to get the application logs if needed. If this was an onsite app the logs could be found at C:\Windows\Temp\Creatio folder in the machine where the IIS-server is deployed.

 

3) "what do you mean by "errors with any of the products objects?" - again, the issue occurs even when querying the section." - I meant the actual error on the object, something like this:

And yes I understood that you received the error when performing OData requests and everything is simple: if there is a problem with an object OData requests to this object can fail.

 

As for your last remark that the button becomes "Close", but not "Save": it means that there was some modification on the page that should be saved. It can be rather the method on the product page that wasn't executed (or was executed) completely or you've clicked on some field when the page was opened. No error here.

 

Best regards,

Oscar

Oscar Dylan,

H Oscar,

 

Thank you very much for your very detailed response.

 

1. The error 500 stopped, I don't know why. It just stopped and both the get and post requests are working correctly.

 

2. Thanks for the explanation. I'll keep that in mind for the next time.

 

3. I checked and there are no processes or other js code that runs in the background for a new record.

Do you have an idea where to start looking?

 

Thanks,

Raz

Show all comments

Hi Community,

 

Any Idea whats wrong with my crm system?, we are experiencing issue with AuthService.svc. Below screenshot from POSTMAN. We are hundred percent sure that we are passing the correct login credentials but we are getting “Invalid username or password specified”.

 

For additional information, this is an on-site oracle based system. Below is the license assigned to the login credential we are using.

Thanl you so much.

 

Like 0

Like

1 comments

Hi Fulgen,

 

Please use the same request parameters as on my screenshot below and you will be able to authenticate and receive cookies:

Best regards,

Oscar

Show all comments

Hi Everyone,



I have a case about data integration using DataService (JSON).

I have read documentation but I can't cleary understand cause example use C# languange, I'm not comfortable with that.



I have try using postman to integration DataService, but I have a trouble,

Below screenshot setting in my postman:



1. I access the login for get the cookies for Auth, I dont have any problem in Auth login.

2. I access url DataService, but I got a problem, I can't access the page what I want, the response is 403. I'm sure when I access the url I have put the cookies from auth login.

What's wrong in my method ?

Anyone have a same case or can give me some example to use DataService beside using C# language ?

Or any advise / suggest ??

 

Thanks.



FYI: I try in local BPM



SOLVED:

Check again header cookies, csrf, and format data JSON will sent to web service bpm'online.

And you can implement data service using any language along support JSON and http request.

Like 0

Like

3 comments

Hi Romadan, 

Have you tired the business process web call element? You could even try the script element.

I had the same issue and it looked to me that you have to use the C# language. 

 

Dear Romadan,

Firstly, based on the error, it is most likely, that authorization hasn't passed well. Please make sure, that you have done all the steps described in the article as an example, particularly adding needed namespaces for the DataService to work, as well as, adding methods to authenticate and create records.

https://academy.bpmonline.com/documents/technic-sdk/7-12/dataservice-adding-records 

Also, yes, as Philip already mentioned, you have to use C# language. Moreover, you can see the example of the working InsertQuery by opening web debugger application like Telerik Fiddler and tracing the insert action made within the bpm'online system. You will find all needed information on what InsertQuery is made of, as insert, update, delete queries in the system are executed by the means of DataService.

To sum up with, if you are not comfortable to use C# language I would recommend to use OData protocol instead. Please see the implementation of OData requests with its examples in the system:

https://academy.bpmonline.com/documents/technic-sdk/7-12/possibilities-bpmonline-integration-over-odata-protocol

Finally, here is a documentation on how to call configuration services using Postman:

https://academy.bpmonline.com/documents/technic-sdk/7-12/how-call-configuration-services-using-postman

Hope you find it helpful!

Regards,

Anastasia

Thanks Anastasia Botezat for your feedback.

I have solved this problem.

The problem is like you say. I dont complete passed auth in header, and have miss passed data json to web service bpm'online.



Philip Wierciszewski, I success implement data service using another language beside use c#.

Show all comments