ehaerer/php-salesforce-rest-api

PHP Salesforce REST API 封装器

1.1.3 2023-08-14 12:12 UTC

This package is auto-updated.

Last update: 2024-09-03 08:27:01 UTC


README

分支自: bjsmasth/php-salesforce-rest-api Cleeng/php-salesforce-rest-api jerkob/php-salesforce-rest-api-forked

类似包

安装

使用 PackagistComposer 安装

composer require ehaerer/php-salesforce-rest-api

入门指南

设置连接应用

  1. 登录您的 Salesforce 组织
  2. 点击右上角的设置
  3. 在构建部分点击 创建 > 应用
  4. 滚动到页面底部并点击 "Connected Apps" 下的 "New"。
  5. 为远程应用输入以下详细信息
    • 连接应用名称
    • API 名称
    • 联系邮箱
    • 在 API 下拉菜单中启用 OAuth 设置
    • 回调 URL
    • 选择访问范围(如果您需要刷新令牌,请在此指定)
  6. 点击保存

保存后,您将获得 消费者密钥消费者密钥。更新您的配置文件,包含 consumerKeyconsumerSecret 的值

设置

示例

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
06.05.2021
  • [重大更改] 将构造函数中的版本参数移至末尾
01.03.2021
  • 添加了使用自定义端点的方法
08.09.2020
  • 添加了 describe 方法
18.01.2020
  • 切换到 PHP >7.0
  • 将类从 CRUD 重命名为 SalesforceFunctions
  • 在 composer 包中添加了 ext-json 依赖