Resco CRM Server Guide. How to integrate Resco CRM with other back-end systems using web services



Similar documents
REST Webservices API Reference Manual

Informatica Cloud Connector for SharePoint 2010/2013 User Guide

Admin Guide Product version: Product date: November, Technical Administration Guide. General

Resco CRM Guide. Get to know Resco CRM

Portal Connector Fields and Widgets Technical Documentation

Coveo Platform 7.0. Salesforce Connector Guide

Database Query 1: SQL Basics

Introduction to Microsoft Jet SQL

Cloud Powered Mobile Apps with Azure

Pervasive Data Integrator. Oracle CRM On Demand Connector Guide

Deployment Guide. Cartagena as. Cartagena ERP Integration 3.0 for Microsoft Dynamics CRM. Knut Eivind Handeland

A Brief Introduction to MySQL

A Comparison of Database Query Languages: SQL, SPARQL, CQL, DMX

Kaseya 2. Quick Start Guide. for VSA 6.3

Sentinel EMS v7.1 Web Services Guide

Introduction to Directory Services

Physical Design. Meeting the needs of the users is the gold standard against which we measure our success in creating a database.

SnapLogic Salesforce Snap Reference

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.

HireDesk API V1.0 Developer s Guide

Contents. 2 Alfresco API Version 1.0

Lesson 07: MS ACCESS - Handout. Introduction to database (30 mins)

MS Access Lab 2. Topic: Tables

Connector for Microsoft Dynamics Configuration Guide for Microsoft Dynamics SL

When a variable is assigned as a Process Initialization variable its value is provided at the beginning of the process.

Talend Component tgoogleanalyticsmanagement

Wave Analytics External Data API Developer Guide

Global Search v.2.8 for Microsoft Dynamics CRM 4.0

Financial Data Access with SQL, Excel & VBA

Table of Contents INTRODUCTION... 2 HOME Dashboard... 5 Reminders... 8 Announcements Preferences Recent Items REQUESTS...

Commerce Services Documentation

Jet Data Manager 2012 User Guide

Drupal Survey. Software Requirements Specification /10/2009. Chris Pryor Principal Project Manager

[MS-ASMS]: Exchange ActiveSync: Short Message Service (SMS) Protocol

TIBCO Spotfire Metrics Modeler User s Guide. Software Release 6.0 November 2013

2874CD1EssentialSQL.qxd 6/25/01 3:06 PM Page 1 Essential SQL Copyright 2001 SYBEX, Inc., Alameda, CA

This three-day instructor-led course provides students with the tools to extend Microsoft Dynamics CRM 4.0.

Cloud Powered Mobile Apps with Microsoft Azure

Coveo Platform 7.0. Microsoft Dynamics CRM Connector Guide

Informatica Cloud (Version Winter 2016) Microsoft Dynamics CRM Connector Guide

StreamServe Persuasion SP5 Document Broker Plus

v7.1 SP1 Release Notes

HOST EUROPE CLOUD STORAGE REST API DEVELOPER REFERENCE

SAP InfiniteInsight Explorer Analytical Data Management v7.0

Aras Corporation Aras Corporation. All rights reserved. Notice of Rights. Notice of Liability

Technical Data Sheet: imc SEARCH 3.1. Topology

Cloud Services ADM. Agent Deployment Guide

Informatica Cloud & Redshift Getting Started User Guide

Using SQL Server Management Studio

metaengine DataConnect For SharePoint 2007 Configuration Guide

Sophos Enterprise Console Auditing user guide. Product version: 5.2

Managing Qualys Scanners

Customer Relationship Management Overview Document. for Sage 100 ERP

SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package Data Federation Administration Tool Guide

RESCO MOBILE CRM USER GUIDE. Access your CRM data on any mobile platform ipad, iphone, Android, Windows Phone or Win XP/Vista/7/8

StarterPak: HubSpot and Dynamics CRM Lead and Contact Synchronization

Oracle EBS Interface Connector User Guide V1.4

Informatica Corporation Informatica Cloud Spring 2015 Release Notes April Contents

Web Services API Developer Guide

Opacus Outlook Addin v3.x User Guide

Adam Rauch Partner, LabKey Software Extending LabKey Server Part 1: Retrieving and Presenting Data

Rödl Enterprise Application Integration Bus

Microsoft Dynamics CRM Adapter for Microsoft Dynamics GP

REST Webservices API Tutorial

MySQL for Beginners Ed 3

Setting Up Resources in VMware Identity Manager

SQL. Short introduction

ACE 2011 International

ElephantDrive Cloud Backup Module Contents

XEP-0043: Jabber Database Access

Protected Trust Directory Sync Guide

2012 Teklynx Newco SAS, All rights reserved.

McAfee Cloud Identity Manager

StreamServe Persuasion SP5 Ad Hoc Correspondence and Correspondence Reviewer

Setting up Microsoft Office 365

BackupAgent LabTech Integration Installation and Usage

SonicWALL GMS Custom Reports

Centrify Cloud Connector Deployment Guide

Setting up Microsoft Office 365

Ansible Tower API Guide

Making OData requests from jquery and/or the Lianja HTML5 Client in a Web App is extremely straightforward and simple.

Listeners. Formats. Free Form. Formatted

Field Audit Trail Implementation Guide

SQL Server An Overview

Azure Scalability Prescriptive Architecture using the Enzo Multitenant Framework

Agentry SAP Framework. SAP Mobile Platform 3.0

Getting Started with Clearlogin A Guide for Administrators V1.01

How To Create A Table In Sql (Ahem)

Information Systems SQL. Nikolaj Popov

iglobe CRM SharePoint App Documentation

Simba ODBC Driver with SQL Connector for Apache Cassandra

Scaling up = getting a better machine. Scaling out = use another server and add it to your cluster.

Form And List. SuperUsers. Configuring Moderation & Feedback Management Setti. Troubleshooting: Feedback Doesn't Send

CSC 443 Data Base Management Systems. Basic SQL

CRM Global Search: Installation & Configuration

Salesforce Files Connect Implementation Guide

Report writing with CRM 2015 for online and on-premises. Version 7.1.1

Specify the location of an HTML control stored in the application repository. See Using the XPath search method, page 2.

IBM TRIRIGA Application Platform Version 3 Release 4.0. Application Building for the IBM TRIRIGA Application Platform 3: Data Management

Architecture. Outlook Synchronization in Microsoft Dynamics CRM. Microsoft Dynamics CRM White Paper:

Transcription:

Resco CRM Server Guide How to integrate Resco CRM with other back-end systems using web services

Integrating Resco CRM with other back-end systems using web services (Data, Metadata) This document consists of three major parts. The first one briefly describes Resco CRM Server; the second one talks about the integration of the server with other CRM or ERP systems. The last one is a detailed description of the web services that are used for the synchronization of the Resco CRM Server with your back-end system. Meet Resco CRM Server Resco CRM provides you with a data storage with customizable data scheme; it can be cloud-based or on premise. You can connect Resco CRM to other CRM or non-crm servers, or use it independently. You can use Resco CRM web client (that comes with the server) to view the data stored on the server. An important part of the server is also a configuration and administration console. This admin tool allows you to manage all the devices and users related to your CRM organization created on the server, and the configuration tool allows you to configure the data scheme, layout and business logic of the CRM system.

Resco CRM integration Basic scenario: YOUR SYSTEM Resco CRM Connector SYNC Resco CRM Server SYNC Resco CRM Client YOUR BACKEND SYSTEM Any CRM/ERP System Resco CRM Connector Synchronization module between ERP System and Resco CRM Server. Resco CRM Server Fully customizable back end for Mobile CRM Client application. Resco CRM Client End-user CRM application customized for Resco CRM server. Resco CRM Server and Client are provided by Resco. Resco CRM Server allows defining schema and stores the data for Mobile CRM Client, which is used to display the data. You can now build your own Resco CRM Connector to enable the synchronization between your back-end system and the Resco CRM Server. Resco CRM Server acts like a passive module it does not initiate any synchronization. Mobile CRM Client must initiate the synchronization process to download/upload data. This also applies for Resco CRM Connector. It must determine when/whether to synchronize ERP System data with data stored on the Resco CRM Server. For example, every hour, every day, etc., depends on how current the data must be on the clients. To check whether there are new/updated data on the Resco CRM Server use GetMaxRowVersion web service method to get the current row version. If the current row version changed from the last stored row version, there are new changes available on the Resco CRM Server.

Resco CRM Connector Consist of a set of REST Web Service methods divided into Metadata Service and Data service. Data Types UniqueIdentifier String Integer Float Decimal DateTime Picklist PicklistMap Boolean Money Binary Lookup RowVersion PartyList

Resco CRM Connector Data Service Data Service helps you access and manipulate data on Resco CRM Server.The web service URL depends on server settings; whether the server uses domain organization selection or simple URL organization selection. URL organization base web service URL is: https://example.com/rest/v1/data/{organization} Domain organization base web service URL is: https://{organization}.example.com/rest/v1/data Resco s Mobile CRM Cloud server uses domain organization selection: https://{organization}.rescocrm.com/rest/v1/data Web Request requirements: Method: GET/POST Content-Type: application/xml; charset=utf-8 Authorization: Basic BASE64(login:password) Methods: 1. POST WhoAmI 2. POST GetMaxRowVersion 3. GET Select 4. POST Fetch 5. POST Create 6. POST CreateMultiple 7. POST Update 8. POST UpdateMultiple 9. POST Delete 10. POST DeleteMultiple 11. POST Execute 12. POST ExecuteMultiple 1. POST WhoAmI Return organization ID and user ID. No parameters. Sample URL: https://{organization}.rescocrm.com/rest/v1/data/whoami Response: <?xml version="1.0" encoding="utf-8"?> <WhoAmI xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"> <OrganizationId>87ddc2f8-d0d1-4ad6-a925-5765a7a46edd</OrganizationId> <UserId>601d9d17-89b4-e111-9c9a-00155d0b710a</UserId> </WhoAmI>

2. POST GetMaxRowVersion Return max row version for the database. Row version is counter of every change in database. It helps to determine changes from last synchronization. Each entity has system attribute rowversion which determine the version (or timestamp) of last change for the specified row. No parameters. Sample URL: https://{organization}.rescocrm.com/rest/v1/data/getmaxrowversion Response: <?xml version="1.0" encoding="utf-8"?> <string>3665</string>

3. GET Select Template URL: /{entity}?$select={select}&$filter={filter}&$orderby={orderby} &$skip={skip}&$top={top} Returns list of entities. Parameters: {entity} {select} {filter} - determine the entity to retrieve, optionally, you can specify entity id to retrieve in following format: account(guid'300a4f0b-99dc-4ba5-95bd-d41abf61dc10') - determine attributes to retrieve, separated by comma - determine entity filter. Condition is defined like: {left identifier} {comparison statement} {right identifier} {and/or} The left identifier is always the attribute name. Comparison statements can by any of following: eq, =, == equal ne,!=, <> not equal gt, > greater than ge, >= greater than equal lt, < less than le, <= less than equal like, not-like like or not like Right identifier can be any of following: string value string, or string integer value 0, 1, 2,. null, not-null Conditions can be joined using: and, && or, {orderby} {skip} {top} - determine sort, optionally include desc keyword. Separated by comma. - determine number of entities to skip - determine number of entities to return Sample URL: https://{organization}.rescocrm.com/rest/v1/data/account?$select=name,address1_city,emailaddress1 &$filter=name%20like%20'c%'&$orderby=address1_city&$skip=2&$top=5

Response: <?xml version="1.0" encoding="utf-8"?> <EntitySet xmlns="http://schemas.resco.net/xrm/organizationservice"> <Metadata PrimaryEntity="account"> <Attributes> <Attribute EntityName="account" AttributeName="name" Name="name" Type="String"/> <Attribute EntityName="account" AttributeName="address1_city" Name="address1_city" Type="String"/> <Attribute EntityName="account" AttributeName="emailaddress1" Name="emailaddress1" Type="String"/> <Attribute EntityName="account" AttributeName="id" Name="id" Type="UniqueIdentifier"/> </Attributes> </Metadata> <Entities> <name>cash and Carry Bikes</name> <address1_city>dallas</address1_city> <emailaddress1>someone@example.com</emailaddress1> <id>b9ca6c78-4e0b-df11-a3d5-0003ff9c98bb</id> <name>convenient Bike Shop</name> <address1_city>everett</address1_city> <emailaddress1>someone@example.com</emailaddress1> <id>bdca6c78-4e0b-df11-a3d5-0003ff9c98bb</id> <name>cheap n Best bikes</name> <address1_city>redmond</address1_city> <emailaddress1>someone@example.com</emailaddress1> <id>bbca6c78-4e0b-df11-a3d5-0003ff9c98bb</id> <name>cool Ride Store</name> <address1_city>seattle</address1_city> <emailaddress1>someone@example.com</emailaddress1> <id>beca6c78-4e0b-df11-a3d5-0003ff9c98bb</id> <name>certified Bicycle Supply</name> <address1_city>west Covina</address1_city> <emailaddress1>someone@example.com</emailaddress1> <id>baca6c78-4e0b-df11-a3d5-0003ff9c98bb</id> </Entities> </EntitySet>

4. POST Fetch Fetch query. Return list of entities defined by fetch. Sample URL: https://{organization}.rescocrm.com/rest/v1/data Request: <fetch page="2" count="5" paging-cookie="optional PagingCookie from previous fetch"> <entity name="account"> <attribute name="id" /> <attribute name="name" /> <order attribute="name" descending="true" /> <filter> <condition attribute="name" operator="like" value="b%" /> </filter> </entity> </fetch> Response: <?xml version="1.0" encoding="utf-8"?> <EntitySet xmlns="http://schemas.resco.net/xrm/organizationservice"> <Metadata PrimaryEntity="account"> <Attributes> <Attribute EntityName="account" AttributeName="id" Name="id" Type="UniqueIdentifier"/> <Attribute EntityName="account" AttributeName="name" Name="name" Type="String"/> </Attributes> </Metadata> <Entities> <id>b3ca6c78-4e0b-df11-a3d5-0003ff9c98bb</id> <name>bikes unlimited</name> <id>b2ca6c78-4e0b-df11-a3d5-0003ff9c98bb</id> <name>bike-o-maniac store</name> <id>b1ca6c78-4e0b-df11-a3d5-0003ff9c98bb</id> <name>bike Universe</name> <id>b0ca6c78-4e0b-df11-a3d5-0003ff9c98bb</id> <name>bike Products and Accessories</name> <id>afca6c78-4e0b-df11-a3d5-0003ff9c98bb</id> <name>bike Experts</name> </Entities> <MoreRecords>true</MoreRecords> <PagingCookie><cookie page="2"><name last="bike Experts" descending="1" /><id last="afca6c78-4e0b-df11-a3d5-0003ff9c98bb" /></cookie></pagingcookie> </EntitySet>

5. POST Create Create entity and return entity ID. Optional, primary key can be specified by PrimaryKey attribute. Default PrimaryKey is id. Sample URL: https://{organization}.rescocrm.com/rest/v1/data/create Request: <Entity EntityName='account' [PrimaryKey='name;address1_city']> <id>1607a7f7-c16f-4e19-849c-bad37ff59f5c</id> <name>my Name</name> <address1_city>bratislava</address1_city> <revenue>123456.789</revenue> Response: <?xml version="1.0" encoding="utf-8"?> <guid>1607a7f7-c16f-4e19-849c-bad37ff59f5c</guid>

6. POST CreateMultiple Create multiple entities. The entity is defined same as for Create method. Sample URL: https://{organization}.rescocrm.com/rest/v1/data/createmultiple Request: <Entities xmlns='http://schemas.resco.net/xrm/entityset'> <Entity EntityName='account'> <id>fe400d92-efd6-4856-a0b4-94c63212d5c8</id> <name>my Name 1</name> <address1_city>bratislava</address1_city> <revenue>123456.789</revenue> <Entity EntityName='account'> <id>d008549e-842f-46ec-9f76-ecc5f20a550d</id> <name>my Name 2</name> <address1_city>bratislava</address1_city> <revenue>987654.321</revenue> </Entities>

7. POST Update?$create={create} Update entity. Optional, the primary key can be specified by PrimaryKey attribute. Default PrimaryKey is id. Parameter: {create} (optional) Determine whether the entity should be created if it does not exist. Sample URL: https://{organization}.rescocrm.com/rest/v1/data/update Optional URL: https://{organization}.rescocrm.com/rest/v1/data/update?$create=true Request: <Entity EntityName='account' [PrimaryKey='name;address1_city']> <id>1607a7f7-c16f-4e19-849c-bad37ff59f5c</id> <name>my Name 2</name> <address1_city>bratislava</address1_city> <revenue>987654.321</revenue>

8. POST UpdateMultiple?$create={create} Update multiple entities. The entity is defined the same way as for Update method. Parameter: {create} (optional) Determine whether the entity should be created if it does not exist. Sample URL: https://{organization}.resccrm.com/rest/v1/data/updatemultiple Optional URL: https://{organization}.resccrm.com/rest/v1/data/updatemultiple?$create=true Request: <Entities xmlns='http://schemas.resco.net/xrm/entityset'> <Entity EntityName='account'> <id>fe400d92-efd6-4856-a0b4-94c63212d5c8</id> <name>my Name 1</name> <address1_city>bratislava</address1_city> <revenue>123456.789</revenue> <Entity EntityName='account'> <id>d008549e-842f-46ec-9f76-ecc5f20a550d</id> <name>my Name 2</name> <address1_city>bratislava</address1_city> <revenue>987654.321</revenue> </Entities>

9. POST Delete Delete entity. Optional, the primary key can be specified by PrimaryKey attribute. Default PrimaryKey is id. Sample URL: https://{organization}.resccrm.com/rest/v1/data/delete Request: <Entity EntityName='account'> <id>1607a7f7-c16f-4e19-849c-bad37ff59f5c</id> With PrimaryKey: <Entity EntityName='account' PrimaryKey='name;address1_city'> <name>my Name 3</name> <address1_city>bratislava</address1_city>

10. POST DeleteMultiple Delete multiple entities. The entity is defined the same way as for Delete method. Sample URL: https://{organization}.resccrm.com/rest/v1/data/deletemultiple Request: <Entities xmlns='http://schemas.resco.net/xrm/entityset'> <Entity EntityName='account'> <id>fe400d92-efd6-4856-a0b4-94c63212d5c8</id> <Entity EntityName='account'> <id>d008549e-842f-46ec-9f76-ecc5f20a550d</id> </Entities>

11. POST Execute Allow to execute specified operation on entity, such as Create, Update, Upsert and Delete. Action: Create Create entity Update Update entity Upsert If exist, Update entity; otherwise Create entity Delete Delete entity Sample URL: https://{organization}.resccrm.com/rest/v1/data/execute Request: <Entity EntityName='account' Action='Create' [PrimaryKey='name;address1_city'] xmlns='http://schemas.resco.net/xrm/execute'> <id>1607a7f7-c16f-4e19-849c-bad37ff59f5c</id> <name>my Name</name> <address1_city>bratislava</address1_city> <revenue>123456.789</revenue> Response: <Response Action="Create" xmlns="http://schemas.resco.net/xrm/execute"> <Result Type="guid">1607a7f7-c16f-4e19-849c-bad37ff59f5c</Result> </Response>

12. POST ExecuteMultiple Allow to execute specified operation on multiple entities, such as Create, Update, Upsert and Delete. ContinueOnError Determine whether to continue executing operation on error. TransactionType Determine transaction operation: None - execute multiple will not run in transaction RollbackOnError - execute multiple transaction will roll back on error CommitOnError - execute multiple transaction will commit on error Action: Create Create entity Update Update entity Upsert If exist, Update entity; otherwise Create entity Delete Delete entity Sample URL: https://{organization}.resccrm.com/rest/v1/data/executemultiple Request: <ExecuteMultiple TransactionType='RollbackOnError' ContinueOnError='false' xmlns='http://schemas.resco.net/xrm/execute'> <Entity EntityName='account' Action='Create'> <id>1607a7f7-c16f-4e19-849c-bad37ff59f5c</id> <name>my Name</name> <address1_city>bratislava</address1_city> <revenue>123456.789</revenue> <Entity EntityName='account' Action='Update'> <id>1607a7f7-c16f-4e19-849c-bad37ff59f5c</id> <name>my Name 2</name> <Entity EntityName='account' Action='Upsert'> <id>2607a7f7-c16f-4e19-849c-bad37ff59f5c</id> <name>my Name 3</name> <revenue2>987654.321</revenue2> <Entity EntityName='account' Action='Delete'> <id>1607a7f7-c16f-4e19-849c-bad37ff59f5c</id> </ExecuteMultiple> Response: <?xml version="1.0" encoding="utxrmf-8"?> <MultipleResponse xmlns="http://schemas.resco.net/xrm/execute"> <Response Action="Create"> <Result Type="guid">1607a7f7-c16f-4e19-849c-bad37ff59f5c</Result> </Response> <Response Action="Update"> <Result Type="bool">true</Result> </Response> <Response Action="Upsert"> <Fault xmlns="http://schemas.resco.net/xrm/xrmserviceerror"> <Code>500</Code> <Reason>KeyNotFoundException</Reason> <Detail>The given attribute 'revenue2' was not present in the entity metadata.</detail> <StackTrace> </StackTrace> </Fault> </Response>

<Response Action="Delete"> <Result Type="bool">true</Result> </Response> </MultipleResponse>