An easy-to-use .NET client library for Salesforce REST API
- Create, Update, Delete and Query records.
- FindById for finding records easily.
- GetRawContent to get raw string results.
- GetRawBytes to get raw bytes results, useful for working with blobs.
- SalesforceAttribute (Ignore, IgnoreUpdate and FieldName).
- Authentication flows
- UsernamePasswordAuthenticationFlow
- Others authentication flows can be added by implementing IAuthenticationFlow.
- Mono support
- Fully tested on Windows and OSX
- 100% Unit Tests coveraged
- 100% code documentation
- FxCop validated
- Good (and well used) design patterns
PM> Install-Package SalesforceSharp
varclient=newSalesforceClient();varauthFlow=newUsernamePasswordAuthenticationFlow(clientId,clientSecret,username,password);try{client.Authenticate(authFlow);}catch(SalesforceExceptionex){Console.WriteLine("Authentication failed: {0} : {1}",ex.Error,ex.Message);}publicclassAccount{publicstringId{get;set;}publicstringName{get;set;}publicstringDescription{get;set;}}
....
var records = client.Query<Account>("SELECT id, name, description FROM Account");foreach(varrinrecords){Console.WriteLine("{0}: {1}",r.Id,r.Name);}varrecord=client.FindById<Account>("Account","<ID>");// Using a class. client.Create("Account",newAccount(){Name="name created",Description="description created"}));// Using an anonymous.client.Create("Account",new{Name="name created",Description="description created"}));// Using a class. Ever required property should be set.client.Update("Account","<record id>",newAccount(){Name="name updated",Description="description updated"}));// Using an anonymous. Only required properties will be updated.client.Update("Account","<record id>",new{Description="description updated"}));client.Delete("Account","<ID">);Having troubles?
- Take a look in our FAQ.
- Ask on Stack Overflow
- Implements others authentcation flows:
- Web server flow, where the server can securely protect the consumer secret.
- User-agent flow, used by applications that cannot securely store the consumer secret.
- Create a fork of SalesforceSharp.
- Follow our develoment guidelines.
- Did you change it? Submit a pull request.
Licensed under the The MIT License (MIT). In others words, you can use this library for developement any kind of software: open source, commercial, proprietary and alien.