SocrateCloud API Overview

The SocrateCloud API is designated to allows SocrateCloud Partners to develop their own applications for accessing data within SocrateCloud platform.


SocrateCloud API Does
The SocrateCloud API expose SocrateCloud data with some business logic to your applications and you, in turn, can add, modify or delete this data from your applications.
The entire SocrateCloud security policy is automaticaly applied.

SocrateCloud API Does Not Do
The SocrateCloud API will not allow you to extend or modify the existing features of web interfaces, or to modify the incorporated business logic.

Prerequisites

The SocrateCloud API is aligned to the standard application-to-application interface. To use it requires a good knowledge of using API's, RESTful principles and practices, and a wide programming experience.
We also recommend to pass the technical training for SocrateCloud platform.
In order to interact with SocrateCloud API, you need:
  • a valid Tenant 
  • a valid User, with a valid role assigned (Administrators have access to the API by default)
  • a valid SocrateCloud Subscription
  • one (minimum) defined Price List with:
    • Active = Yes;
    • Default = Yes;
    • Currency = same currency as on default accounting schema of Tenant;
    • Sales Price List = Yes;
    • one (minimum) Version.

Securities

  1. Supported protocols
    • TLS 1.2
    • TLS 1.1
    • TLS 1.0
  2. Cipher Available
    • SSL_RSA_WITH_3DES_EDE_CBC_SHA - will be ended starting with 30.06.2017
    • TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
    • TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
    • TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
    • TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
    • TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA - will be ended starting with 30.06.2017
    • TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA - will be ended starting with 30.06.2017
    • TLS_ECDH_anon_WITH_AES_128_CBC_SHA
    • TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA - will be ended starting with 30.06.2017
    • TLS_ECDH_ECDSA_WITH_NULL_SHA
    • TLS_ECDH_RSA_WITH_NULL_SHA
    • TLS_ECDH_anon_WITH_NULL_SHA
    • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA - will be ended starting with 30.06.2017
    • TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA - will be ended starting with 30.06.2017
    • TLS_ECDHE_ECDSA_WITH_NULL_SHA
    • TLS_ECDHE_RSA_WITH_NULL_SHA
  3. Handshake Unavailable
    • Android 2.3.7
    • IE 6 / XP
    • IE 8 / XP
    • Java 6
    • OpenSSL 0.9.8y
    • Windows 98
    • Windows XP
    • Windows 2000
    • Windows Vista

General rules:
  • The elements written with red font on this site are currently under development.
  • All filter parameters for GET operations are sent by query parameters in the URL. For example, to list only Business Partners which are employees: /webapi/rest/bpartner/full/list/0?startRow={0}&endRow={100}&accessToken={access_token}&IsEmployee=true
  • In POST operations, products and business partners are sent by Value (key). All other entities by Name.
  • In POST operation, all entities sent must be Active!
  • For all GET operations (list), you can specify thru query parameters the sort options,using OrderBy parameter. Example: /webapi/rest/product/list/0?accessToken=....&OrderBy=Name,ProductType%20DESC.
    • you can specify all fields as you need, separated by coma;
    • for descending order use DESC after the field that you want to sort in descending order, separated by one space;
    • if something is misspelling the system will return an error;
    • if the specified field does not exist in the available list columns, then the system will return an empty resultset;
    • not all the fields are available for sort order - is the case of calculated fields like: QtyOnHand, QtyAvailable, ListPrice, StdPrice, etc
  • Date filter parameters for GET operations (list) can be used to filter on a specific date or a date range.
    The format for the date filter can be one of the following:
    • Fix date: DateParameterName=YYYY-MM-DD HH:MI:SSZ
      Example for fix date 2014-01-06 00:00:00+0000:
      https://api.socratecloud.com/webapi/rest/internal_material_receipt/list/0?accessToken=....&MovementDate=2014-01-06%2000:00:00%2B0000

    • Interval: DateParameterName=YYYY-MM-DD HH:MI:SSZ,YYYY-MM-DD HH:MI:SSZ 
      Example for interval 2014-01-06 00:00:00+0000 until 2014-01-15 00:00:00+0000:
      https://api.socratecloud.com/webapi/rest/internal_material_receipt/list/0?accessToken=....&MovementDate=2014-01-06%2000:00:00%2B0000,2014-01-15%2000:00:00%2B0000

    • Until date inclusive: DateParameterName=<=YYYY-MM-DD HH:MI:SSZ or DateParameterName=,YYYY-MM-DD HH:MI:SSZ
      The second format is actually the interval format without specifying the start date.
      Example for until date 2014-01-06 00:00:00+0000 using the <= operator:
      https://api.socratecloud.com/webapi/rest/internal_material_receipt/list/0?accessToken=....&MovementDate=%3C%3D2014-01-06%2000%3A00%3A00%2B0000
      Example for until date 2014-01-06 00:00:00+0000 using the interval format without specifying the start date
      https://api.socratecloud.com/webapi/rest/internal_material_receipt/list/0?accessToken=....&MovementDate=%2C2014-01-06%2000%3A00%3A00%2B0000

    • From date inclusive: DateParameterName=>=YYYY-MM-DD HH:MI:SSZ or DateParameterName=YYYY-MM-DD HH:MI:SSZ,
      The second format is actually the interval format without specifying the end date.
      Example for from date 2014-01-06 00:00:00+0000 using the >= operator:
      /webapi/rest/internal_material_receipt/list/0?accessToken=....&MovementDate=%3E%3D2014-01-06%2000%3A00%3A00%2B0000
      Example for from date 2014-01-06 00:00:00+0000 using the interval format without specifying the end date
      https://api.socratecloud.com/webapi/rest/internal_material_receipt/list/0?accessToken=....&MovementDate=2014-01-06%2000%3A00%3A00%2B0000%2C

    • Until date exclusive: DateParameterName=<YYYY-MM-DD HH:MI:SSZ
      Example for until date 2014-01-06 00:00:00+0000
      https://api.socratecloud.com/webapi/rest/internal_material_receipt/list/0?accessToken=....&MovementDate=%3C2014-01-06%2000%3A00%3A00%2B0000

    • From date exclusive: DateParameterName=>YYYY-MM-DD HH:MI:SSZ
      Example for until date 2014-01-06 00:00:00+0000
      https://api.socratecloud.com/webapi/rest/internal_material_receipt/list/0?accessToken=....&MovementDate=%3E2014-01-06%2000%3A00%3A00%2B0000

Examples

A few examples of what your applications can do with SocrateCloud API:
  • create and sync documents;
  • print documents;
  • create and sync projects;
  • create and sync tasks and time spent;
  • create and sync requests;
  • create and sync entities used for all above, as Users, Organizations, Business Partners, Products etc;
  • ask for some reports.