ehaerer / php-salesforce-rest-api
PHP Salesforce REST API 封装器
1.1.3
2023-08-14 12:12 UTC
Requires
- php: >=7.4
- ext-json: *
- guzzlehttp/guzzle: ^7.4
Requires (Dev)
- ergebnis/composer-normalize: ^2.28
- roave/security-advisories: dev-latest
README
分支自: bjsmasth/php-salesforce-rest-api
Cleeng/php-salesforce-rest-api
jerkob/php-salesforce-rest-api-forked
类似包
- SOQL 与 Doctrine DBAL: https://github.com/codelicia/trineforce
- 与 Salesforce 对象交互: https://github.com/roblesterjr04/EloquentSalesForce
安装
composer require ehaerer/php-salesforce-rest-api
入门指南
设置连接应用
- 登录您的 Salesforce 组织
- 点击右上角的设置
- 在构建部分点击
创建 > 应用
- 滚动到页面底部并点击 "Connected Apps" 下的 "New"。
- 为远程应用输入以下详细信息
- 连接应用名称
- API 名称
- 联系邮箱
- 在 API 下拉菜单中启用 OAuth 设置
- 回调 URL
- 选择访问范围(如果您需要刷新令牌,请在此指定)
- 点击保存
保存后,您将获得 消费者密钥 和 消费者密钥。更新您的配置文件,包含 consumerKey
和 consumerSecret
的值
设置
示例
在 ddev local 中测试完整示例,请参考 /example 文件夹。
身份验证
$options = [ 'grant_type' => 'password', 'client_id' => 'CONSUMERKEY', /* insert consumer key here */ 'client_secret' => 'CONSUMERSECRET', /* insert consumer secret here */ 'username' => 'SALESFORCE_USERNAME', /* insert Salesforce username here */ 'password' => 'SALESFORCE_PASSWORD' . 'SECURITY_TOKEN' /* insert Salesforce user password and security token here */ ]; $salesforce = new \EHAERER\Salesforce\Authentication\PasswordAuthentication($options); /* if you want to login to a Sandbox change the url to https://test.salesforce.com/ */ $endPoint = 'https://login.salesforce.com/'; $salesforce->setEndpoint($endPoint); $salesforce->authenticate(); /* if you need access token or instance url */ $accessToken = $salesforce->getAccessToken(); $instanceUrl = $salesforce->getInstanceUrl(); /* create salesforceFunctions object with instance, accesstoken and API version */ $salesforceFunctions = new \EHAERER\Salesforce\SalesforceFunctions($instanceUrl, $accessToken, "v52.0");
查询
$query = 'SELECT Id,Name FROM ACCOUNT LIMIT 100'; $additionalHeaders = ['key' => 'value']; /* returns array with the queried data */ $data = $salesforceFunctions->query($query, $additionalHeaders);
创建
$data = [ 'Name' => 'Some name', ]; $additionalHeaders = ['key' => 'value']; /* returns the id of the created object or full response */ $accountId = $salesforceFunctions->create('Account', $data, $additionalHeaders); $fullResponse = $salesforceFunctions->create('Account', $data, $additionalHeaders, true);
更新
$newData = [ 'Name' => 'another name', ]; $additionalHeaders = ['key' => 'value']; /* returns statuscode */ $salesforceFunctions->update('Account', $id, $newData, $additionalHeaders);
Upsert
$newData = [ 'Name' => 'another name', ]; $additionalHeaders = ['key' => 'value']; /* returns statuscode */ $salesforceFunctions->upsert('Account', 'API Name/ Field Name', 'value', $newData, $additionalHeaders);
删除
$additionalHeaders = ['key' => 'value']; $salesforceFunctions->delete('Account', $id, $additionalHeaders);
描述
$additionalHeaders = ['key' => 'value']; $salesforceFunctions->describe('Account', $additionalHeaders);
自定义端点
$additionalHeaders = ['key' => 'value']; $salesforceFunctions->customEndpoint('apex/myCustomEndpoint', $data, 200, $additionalHeaders);
变更日志
29.03.2022
- 更新 Guzzle 依赖到 ^7.4
- 在 /example 文件夹中添加了完整示例,并包含 ddev local 配置
- 添加了添加额外头部的选项,如 https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/headers.htm
- 更新了文档
06.05.2021
- [重大更改] 将构造函数中的版本参数移至末尾
01.03.2021
- 添加了使用自定义端点的方法
08.09.2020
- 添加了 describe 方法
18.01.2020
- 切换到 PHP >7.0
- 将类从 CRUD 重命名为 SalesforceFunctions
- 在 composer 包中添加了 ext-json 依赖