Tuesday, 25 March 2014

Receive data from external software?

Question

I work with a piece of software that collects data about my customer's activity on an ongoing basis.

In a recent conversation with the software vendor, the told me that other customers have created an integration between the software and SFDC by supplying the software vendor with an endpoint address (within the SFDC org) to which they can send data, and then setting up a mapping that points the data from the software vendor to specific SFDC fields.
 
Does anyone have any idea what they are talking about?  Where can I find this address?  It sounds almost like an FTP.

Has anyone had any experience with pulling in data from external sources on a regular basis?

Answer

What they are talking about is setting up/creating your own web service inside Salesforce that you can then expose and make available to external systems. Example of a simple web service here (http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_web_services_methods.htm" target="_blank).

When you make that class and define it as a Web Service, there will be a button to generate a WSDL from the class when you look at it in Salesforce.
Generate WSDL Button

When you generate that WSDL, all the way at the bottom there will be a URL like "https://na13.salesforce.com/services/Soap/class/MyWebService". This is what the external system calls to connect with your system. The external system will also need a username/pw to authenticate and connect to your Salesforce.

Once it is connected, the external service can call the methods inside your web service. For instance, in the example provided they could pass a name and accountid to your system and call makeContact() to generate a new contact on that account inside Salesforce.

No comments:

Post a Comment