Difference between revisions of "OData service"

From Resco's Wiki
Jump to: navigation, search
(Created page with "{{Integration TOC}} Resco [https://www.odata.org/ OData v4] service is a web API that can be used to exchange data between Resco Cloud and other servers. Resco offers many...")
 
(Examples)
Line 19: Line 19:
 
* <code>https://[organization].[baseURI]/odata/v4/</code>
 
* <code>https://[organization].[baseURI]/odata/v4/</code>
  
==== Examples ====
+
==== URI examples ====
  
 
* Resco Cloud:      <code><nowiki>https://my_org.rescocrm.com/odata/v4/        </nowiki></code>
 
* Resco Cloud:      <code><nowiki>https://my_org.rescocrm.com/odata/v4/        </nowiki></code>
 
* Resco Cloud US:    <code><nowiki>https://my_org.us1.rescocrm.com/odata/v4/    </nowiki></code>
 
* Resco Cloud US:    <code><nowiki>https://my_org.us1.rescocrm.com/odata/v4/    </nowiki></code>
 
* Resco Inspections: <code><nowiki>https://inspections.resco.net/odata/v4/my_org/</nowiki></code>
 
* Resco Inspections: <code><nowiki>https://inspections.resco.net/odata/v4/my_org/</nowiki></code>
 +
 +
=== Example ===
 +
 +
Request: <nowiki>https://inspections.resco.net/odata/questionnaires/v4/[organization]/ </nowiki>
 +
 +
<small>(If you're trying this from a web browser, append <code>/?$format=json</code> to display the answer in the correct format.)</small>
 +
 +
Response (shortened):
 +
 +
<syntaxhighlight lang="json">{
 +
  "@odata.context": "https://inspections.resco.net/odata/v4/spectra/$metadata",
 +
  "value": [
 +
    {
 +
      "kind": "EntitySet",
 +
      "title": "Account",
 +
      "name": "account",
 +
      "url": "account"
 +
    },
 +
    {
 +
      "kind": "EntitySet",
 +
      "title": "E-Mail Attachment",
 +
      "name": "activitymimeattachment",
 +
      "url": "activitymimeattachment"
 +
    },
 +
    {
 +
      "kind": "EntitySet",
 +
      "title": "Activity Party",
 +
      "name": "activityparty",
 +
      "url": "activityparty"
 +
    },
 +
...
 +
</syntaxhighlight>
  
 
== Metadata document ==
 
== Metadata document ==

Revision as of 16:47, 15 April 2021

Integration with third-party systems

Resco CRM Connector (web APIs):




Resco OData v4 service is a web API that can be used to exchange data between Resco Cloud and other servers. Resco offers many integration options; see Resco CRM Connector to learn about our API interfaces and see Integration for additional options.

Authentication

The service uses standard BASIC authentication with the organization's username and password.

Service document

Lists all questionnaire templates available.

Each url in the list is a relative data request url to get the questionnaire results.

URI

The service URI depends on server settings; whether the server uses domain organization selection or simple URL organization selection.

  • https://[baseURI]/odata/v4/[organization]/
  • https://[organization].[baseURI]/odata/v4/

URI examples

  • Resco Cloud: https://my_org.rescocrm.com/odata/v4/
  • Resco Cloud US: https://my_org.us1.rescocrm.com/odata/v4/
  • Resco Inspections: https://inspections.resco.net/odata/v4/my_org/

Example

Request: https://inspections.resco.net/odata/questionnaires/v4/[organization]/

(If you're trying this from a web browser, append /?$format=json to display the answer in the correct format.)

Response (shortened):

{
  "@odata.context": "https://inspections.resco.net/odata/v4/spectra/$metadata",
  "value": [
    {
      "kind": "EntitySet",
      "title": "Account",
      "name": "account",
      "url": "account"
    },
    {
      "kind": "EntitySet",
      "title": "E-Mail Attachment",
      "name": "activitymimeattachment",
      "url": "activitymimeattachment"
    },
    {
      "kind": "EntitySet",
      "title": "Activity Party",
      "name": "activityparty",
      "url": "activityparty"
    },
...

Metadata document

Provides a standard OData CSDL model description XML.

URI

  • https://[baseURI]/odata/v4/[organization]/$metadata
  • https://[organization].[baseURI]/odata/v4/$metadata

Example

Request: https://inspections.resco.net/odata/v4/[organization]/$metadata

Response (shortened):

<Edmx Version="4.0">
  <DataServices>
    <Schema Namespace="RescoCrm">
      <EntityType Name="_resco_baseentity_" Abstract="true"/>
      <EntityType Name="account" BaseType="RescoCrm._resco_baseentity_">
        <Key>
          <PropertyRef Name="id"/>
        </Key>
        <Property Name="address1_city" Type="Edm.String" MaxLength="160"/>
        <Property Name="address1_country" Type="Edm.String" MaxLength="160"/>
        <Property Name="address1_latitude" Type="Edm.Double"/>
        <Property Name="address1_line1" Type="Edm.String" MaxLength="500"/>
        <Property Name="address1_line2" Type="Edm.String" MaxLength="500"/>
        <Property Name="address1_line3" Type="Edm.String" MaxLength="500"/>
        <Property Name="address1_longitude" Type="Edm.Double"/>
        <Property Name="address1_postalcode" Type="Edm.String" MaxLength="40"/>
        <Property Name="address1_stateorprovince" Type="Edm.String" MaxLength="100"/>
        <Property Name="createdon" Type="Edm.DateTimeOffset"/>
        <Property Name="customertypecode" Type="Edm.Int32">
          <Annotation Term="RescoCloud.FormattedValue"/>
        </Property>
...

Limitations

  • OData batch processing is not supported
  • JSON response only (XML not supported)