myoutdesk/

salesforcerest

此包最新版本(0.1.3)没有可用的许可信息。

适用于Salesforce的简单REST库

0.1.3 2023-03-08 19:11 UTC

This package is not auto-updated.

Last update: 2024-09-19 02:17:22 UTC


README

Salesforce Rest API 示例

包含使用用户名/密码流为仅API账户实现的PHP基本REST API代码。

Salesforce 设置

  1. Salesforce 沙盒 -> 设置 -> 创建 -> 应用
  2. 创建新的自定义应用,启用OAuth和设备流
  3. 复制消费者密钥和消费者密钥
  4. 使用仅API用户登录

安装

composer require myoutdesk/salesforcerest

使用方法

默认API版本为42.0,生产环境默认关闭。您可以使用模拟处理程序测试您的包装器。

use MyOutDesk\SalesforceRest\SalesforceClient;

$salesforceRest = new SalesforceRest(new \GuzzleHttp\Client());
$connected = $salesforceRest->connectApp(CONSUMER_KEY, CONSUMER_SECRET)
				->asUser(SALESFORCE_USER, SALESFORCE_PASSWORD)
				->authenticate();
if($connected) {
	// good to go
}

创建记录

$salesforceRest->create('Lead', [
	'FirstName' => 'John',
	'LastName' => 'Smith',
	'Company' => 'Company Name, LLC'
]);

创建多条记录

// Requires api 42.0
$leadOne = [
    'firstName' => 'John',
    'lastName' => 'Smith',
    'Company' => 'Company Name, LLC'
];

$leadTwo = [
    'firstName' => 'Alex',
    'lastName' => 'Smith',
    'Company' => 'Company Name, LLC'
];

$salesforceRest->insertCollection('Lead', [$leadOne, $leadTwo]);    

获取记录

// Get all fields
$salesforceRest->get('Lead', ID);
// Get only specific fields
$salesforceRest->get('Lead', ID, ['Phone', 'customfield__c', 'email']);

获取多条记录

// Requires api 42.0
$salesforceRest->getCollection('Lead', [ID, ANOTHER_ID], ['firstName', 'lastName']);

更新记录

$salesforceRest->update('Account', ID, ['Phone' => '123-1234-123'])

更新多条记录

// Requires api 42.0
$leadOne = [
    'id' => ID,
    'firstName' => 'LEAD ONE',
    // other fields here
];

$leadTwo = [
    'id' => ANOTHER_ID,
    'firstName' => 'LEAD TWO',
    // other fields here
];

$salesforceRest->updateCollection('Lead', [ $leadOne, $leadTwo ]);

删除记录

$salesforceRest->delete('Lead', ID);

删除多条记录

// Requires api 42.0
$salesforceRest->deleteCollection([ID, ANOTHER_ID]);

搜索记录

$salesforceRest->search('FIND {email@email.com} IN ALL FIELDS RETURNING Lead(Id, Name, Email)');