문제

I have an app/website that contains contact and appointment information.

I want my users to have the option of synchronizing their contacts and appointments with their salesforce.com account.

I thought this would be as simple as collecting their salesforce.com credentials to open a connection to salesforce.com and pull down their contacts and appointments.

But it does not look that easy! For one, I cannot find a global API. Apparently, each salesforce.com company has to "generate" their own WSDLs

From the documentation I have read, it appears I must create a salesforce.com "package" that will be deployed to the "AppExchange." Then any salesforce.com comapny that wants to integrate with me will find and install the package. Then, that package will somehow allow me to connect and pull down the contacts an appointment data.

It appears, I have to "extend" salesforce.com to integrate with me. I guess it makes sense. since SalesForce.com is a SaaS/PaaS company. It just feels a little backward.

Two Questions:

  1. Is this right? Am I on the right track?

  2. How do I package an API in salesforce.com? Most "Package" documentation I see relates to creating pages/views that actually extend Salesforce.com functionality. I don't want to extend saleforce.com. I just want to have an API I can integrate with.

도움이 되었습니까?

해결책

If you want a SOAP/WSDL based API, then there's the Partner API, which is the same for all Salesforce.com customer. Seems like you should be able to built your integration directly from that. The partner API includes a describeGlobal/describeSObject call that will allow you to programmatically discover the users schema so that you establish which objects/fields the user has access to.

Rather than storing credentials, you'll probably want to use OAuth to authenticate the user, this will give you an access token to make API calls on behalf of the user, and will better handle cases like where the user changes their password.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top