Crate rust_sync_force

source ·
Expand description

Crate for interacting with the Salesforce API

This crate includes the tools connecting to Salesforce and manipulating Salesforce objects

Example

The following example will connect to Salesforce and insert an Account object

use rust_sync_force::{Client, Error};
use serde::Deserialize;
use std::collections::HashMap;
use std::env;

#[derive(Deserialize, Debug)]
#[serde(rename_all = "PascalCase")]
struct Account {
    #[serde(rename = "attributes")]
    attributes: Attribute,
    id: String,
    name: String,
}

#[derive(Deserialize, Debug)]
struct Attribute {
    url: String,
    #[serde(rename = "type")]
    sobject_type: String,
}

fn main() -> Result<(), Error> {
    let client_id = env::var("SFDC_CLIENT_ID").unwrap();
    let client_secret = env::var("SFDC_CLIENT_SECRET").unwrap();
    let username = env::var("SFDC_USERNAME").unwrap();
    let password = env::var("SFDC_PASSWORD").unwrap();

    let mut client = Client::new(Some(client_id), Some(client_secret));
    client.login_with_credential(username, password)?;
    let mut params = HashMap::new();
    params.insert("Name", "hello rust");
    let res = client.insert("Account", params)?;
    println!("{:?}", res);
    Ok(())
}

Modules

Type Definitions