Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

EFS Service Layer, our API, allows to access EFS key functionalities from outside EFS. Thus, applications relying on EFS data and functionalities can be created outside of EFS with different technologies. The services can be called from outside via HTTPS, using SOAP or REST as protocols. Various data exchange formats can be used (e.g. JSON or XML). A list of all EFS Service-Layer services is available on this page.

Info

The EFS Service Layer is available since EFS 9.1, however some installations still have access to Web-Services (Options > Service-Layer > Web services). The use of Web-Services is not no longer recommended, as this functionality is deprecated and will be removed soon.

...

A dedicated configuration menu allows to view and configure the services, which are available on your EFS installation. The menu is in Options → Service-Layer Service-Layer. The Service-Layer  menu is only available if Questback’s Support-Team has activated usage of services for your installation. To view and access the menu, you need either read rights for the ACL right webservice_conf or membership in the root team.

...

  • Description: In this modus, the service layer will describe itself. In SOAP format, for example, a WSDL will be generated and delivered. This modus allows clients to find out which services are provided and which parameters they have

  • Transaction: In this modus, a service method is called and executed. How you address these modes depends on the format handler used.

Format Handler

When requesting access to the EFS Service-Layer, all format handlers can be used as needed. So one of your applications could access EFS using SOAP, while another using REST, through the same token or user authentication.
Currently the service layer supports HTTPS and four protocolshandlers:

  • SOAP: The SOAP protocol is used to transfer data.

    • To activate the handler, use the URL parameter "handler" with the value "soap".

    • The name of the invoked method is handed over in the URL parameter "method". The method name is structured as follows: MODULENAME_ACTORNAME_METHODNAME (separator: underscore, ”_”).

    • If the URL parameter "wsdl" is set in the request, the description mode will be triggered and a WSDL will be generated. Otherwise, the transaction mode will be used. Since the WSDL also specifies a Stylesheet, the file is also viewable in a browser.

  • REST: See REST API documentation on this page

    • To activate the handler, just create the REST request, as specified in the documentation or RAML file, e.g. GET https://efs-installation.com/service/survey/surveys/?token=TOKEN.
      The content type of all requests containing a HTTP body must be application/json and therefore all request bodies must be JSON encoded.

    • To get the RAML description file, triggering the description mode, create a request to /service/ using the URL parameters "handler=rest&raml=1", e.g. GET https://efs-installation.com/service/?handler=rest&raml=1&token=TOKEN

  • PHP-serialized: Here, the input and output parameters are transferred as serialized PHP arrays. This is the recommended approach for PHP clients.

    • To activate the handler, use the URL parameter "handler" with the value "php".

    • The name of the invoked method is handed over in the URL parameter "method". The method name is structured as follows: MODULENAME.ACTORNAME.METHODNAME (separator: periods).

    • If the request is an HTTP GET request, the description mode will be triggered. Otherwise, the transaction mode will be used.

  • JSON: Data are transferred in JSON encoding. See the example below.

    • To activate the handler, use the URL parameter "handler" with the value "json".

    • The name of the invoked method is handed over in the URL parameter "method". The method name is structured as follows: MODULENAME.ACTORNAME.METHODNAME (separator: periods)

    • If the request is an HTTP GET request, the description mode will be triggered. Otherwise, the transaction mode will be used.

...

Info

When accessing the service layer, you will find a dynamic list of services activated on your installation and which are accessible by the user. A list of all available services can be found within on this documentationpage.

Important Parameters

These are the most important parameters:

...