Introduction
An introduction to SugarCRM’s web Service frameworkIn this review, you will learn how and why the SugarCRM Web Services Platform is a reliable, scalable, and cost-effective method of integrating to your SugarCRM application, regardless of the selection of an On-Demand or On-Premise infrastructure.
The flexibility of SugarCRM’s Web Services allows you to choose the integration programming models, languages, and operating systems that you are already using or that are best suited for your project. With SugarWS, you can bring your existing skills and knowledge to the platform; you don’t have to learn lots of new skills.
SugarCRM dramatically reduces the effort to integrate with either on-premises applications including Microsoft, Oracle, SAP, or other third-party solutions and external cloud services such as Amazon Web Services, Facebook, Google AppEngine, and Twitter. A large percentage of the traffic in SugarCRM’s On-Demand infrastructure is system-to-system integration, showing that it is a trusted and successful enterprise API that is used globally by SugarCRM clients worldwide.
SugarCRM Web Services
A summary of the features and capabilities of SugarCRM web servicesSugarWS provides a number of paths to integration success—all based on our industry-leading Web services API. Integration with SugarWS means faster, simpler, and less-risky integration that doesn’t break during upgrades and delivers a new level of access and agility to your existing IT investments. SugarWS is designed to work with all major integration middleware solutions, and for building custom integrations plus maximum flexibility and choice, the SugarWS platform supports all major development environments and tools, including .NET, Java, PHP, Ruby on Rails, and many more.
Besides a robust SOAP interface with a revamped list of available calls, SugarWS introduced major updates to the framework in 2009 such as Versioning and Extensibility, and the addition of a new REST interface.
Prior to 2009, the SugarCRM web services API had a wide variety of calls allowing you to get at almost any piece of data in the system. One downside of the diversity of calls, was that accomplishing certain tasks via the API could be burdensome in that while flexible, an integration might require multiple calls to complete a task (traversing and retrieving the details of related items is one such example). In 2009 SugarCRM rewrote all of the API calls. Based on the improvements to the framework, SugarCRM was able to reduce the number of calls down to 20 by allowing for the passing of extra parameters in to certain calls and eliminate the number of round trips to the server.
Call Description
login() Logs the user into the Sugar application and create a session
logout() Logs out the user and ends the current session
seamless_login() Used for Sugar Offline Client or to accomplish single sign on
get_user_id() Returns the user_id of the user who is logged into the current session
get_entry() Retrieves a single record with details based on the ID
get_entries() Retrieves multiple records based on IDs. This API is not applicable to the Reports module.
get_entry_list() Retrieves a list of records for a given module
get_relationship() Retrieves a collection of module records that are related to a target record and optionally return relationship data for the related beans.
get_note_attachment() Retrieves an attachment from a note
get_document_revision() Allows an authenticated user with the appropriate permission to download a document.
set_entry() Creates or updates a single module record
set_entries() Creates or updates a list of module records
set_relationship() Sets a single relationship between two records where they are related by module name and ID.
set_relationships() Sets multiple relationships between two records where they are related by module name and ID
set_note_attachment() Adds or replaces an attachment to a note
set_document_revision() Sets a new revision to the document
search_by_module() Returns the ID, module_name, and fields for the specified modules as specified in the search string.
get_server_info() Obtains server information such as version and GMT time
get_module_fields() Retrieves the vardef information on fields of the specified module
SOAP is probably the most used web services protocol. It provides a way of exchanging structured information of application functionality. A SOAP interface can be defined by its WSDL (Web Service Description Language) file. To access the WSDL for Sugar Web Services API you can read it by going to this URL in your browser: http://sugar_root_url/service/v2/soap.php?wsdl. The WSDL file will give complete explanation of all the methods with input/output data type.
Sugar Web Services also supports a robust REST interface. This adds a lightweight integration to gain access to data in a system. REST is preferable for higher transactional web integrations, as well as browser client side implementations where all rendering happens in the browser. To connect to the REST interface in the new web services framework you will connect to the following URL: http://your_sugar_url/service/v2/rest.php.
Widely Available Web Service “Stubs” from SugarExchange – notable examples
A list of popular “ready-to-consume” integrations for SugarCRM that are available on the Sugar Exchange (http://www.sugarexchange.com), and that utilize Sugar Web ServicesThe following integration sets are readily available from SugarExchange. These allow for communication to/from SugarCRM, and make use of the SugarWS for integration purposes. This is NOT an exhaustive list:
- QuickBooks Real-time Integration
- Adobe Echo Sign Integration
- Authorize.Net Integrations
- BonitaSoft Workflow Integration
- Contivio Integration for Telephony
- eXo Plug-in for SugarCRM
- IBM Websphere CastIron
- Salesforce.com
- Oracle Applications
- SAP
- Oracle CRM
- Amazon
- Chatter
- Microsoft Dynamics
- Eloqua
- PROS
- SignalDemand
- Zuora
- Google Apps
- NetSuite
- RightNow
- Teleo
- SPS Commerce
- iZeno Integration
- JigSaw Integration
- ProcessMaker API
- Sage MAS90 Integration
- Talend Integration
- Velaro Chat Integration
Example Scenarios of Web Service Use
A set of varied customer examples of SugarCRM Web Services in use…in production environments today! All of these are current Levementum customers.
Summary
Web services create compatibility and interoperability among various packaged and customized Web applications – in a standardized and vendor-neutral manner. Web services are most economical – and beneficial – when used in an enterprise-level business scenario that combines the functionality of multiple applications into easy-to-use enterprise services. Such a business scenario requires a service-oriented architectural approach.
For SugarCRM, Web services play an important role in the concept of enterprise service-oriented architecture (enterprise SOA). Web services ensure interoperability between platforms, and all communication within enterprise SOA is based on Web services. Enterprise services expose the functionality and data of applications so that they can be accessed by any service user. Just as Web services take the complexity out of platform connectivity, enterprise services take the complexity out of application integration
No comment yet
2 pings
Help Your Business Use A Ruby On Rails Based ERP | WebDesignArticles.net | WebDesignArticles.net says:
December 25, 2011 at 9:25 pm (UTC -7)
[...] Homebrew: OS X’s Missing Package ManagerThe Business’s Positive Aspects Of ERP Software Package ImplementationHow to Hire a Programmer: Writing the Job DescriptionGet cheap vps servers From First2HostLevementum's Blog: "The Open Source Pragmatist" [...]
7-Zip 9.07 Beta | Daily Freeware Download says:
January 2, 2012 at 2:49 am (UTC -7)
[...] Levementum's Blog: "The Open Source Pragmatist" /* */ [...]