Form connector for webservice

Hello old friends.
So here’s an interesting question for you: I have a crm system (vtiger) with published webservices. I can create, update, list and delete items (contacts, products, etc) using their webservices.

How can I connect a dhtmlx form or grid using such ws? With the grid as read-only I just about managed (by writing XML output for the grid) but I don’t know how to load and update the form!

Thank you in advance for your usual excellent help!


What kind of data protocol, those web services are using?

If those are common REST services, you can use REST mode of dataprocessor. … ithrestapi

In a case of custom data protocol, it possible to attach custom handlers directly to events of a component, without using dataprocessor or connector. Such custom handler can make ajax calls in a necessary format.

Thanks you v much for your help.
Unfortunately the documentation isn’t very precise about how the requests and responses are formed. Are there any examples I can study?

In case of REST

Script will use PUT for insert, POST for update, DELETE for data removing.
Also, script will add an ID of updated record to the url. So if you are using

var myDataProcessor = new dataProcessor(“data/records/”);

when data will be updated for record with id=123, script will call “data/records/123”. The body of request will contain all fields of updated record ( form encoded )

Thank you for your response.
However the service I wish to use requires a precious request to obtain a token which is then seed to the request. How can I do all that? I fear I shall have to sniff the conversation between the controls and their connectors and then write my own connectors! Or do you see any other way? I am trying to connect dhtmlx to vtiger crm .

You can provide a custom headers and data fields for REST requests

dp.setTransactionMode({ mode:"REST", headers:{ "Accept-Language": "fr-FR" }, payload:{ "user_id":"12" } }, false);

OMG! thanks Stan, but that’s a little over my head!