jerkob/php-salesforce-rest-api

salesforce REST API PHP 库

v0.7 2023-04-24 22:01 UTC

This package is auto-updated.

Last update: 2024-09-25 00:59:07 UTC


README

最初分支自: https://github.com/Cleeng/php-salesforce-rest-api,该分支又来自: https://github.com/bjsmasth/php-salesforce-rest-api

变更日志

从版本 0.7 开始,需要 Guzzle 7 和 PHP >=7.2。

版本 0.6 及以下需要 Guzzle 6 和 PHP >=5.6。

安装

通过 Composer

composer require jerkob/php-salesforce-rest-api

入门指南

设置连接应用

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

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

设置

身份验证

    $options = [
        'grant_type' => 'password',
        'client_id' => 'CONSUMERKEY',
        'client_secret' => 'CONSUMERSECRET',
        'username' => 'SALESFORCE_USERNAME',
        'password' => 'SALESFORCE_PASSWORD' . 'SECURITY_TOKEN'
    ];
    
    $salesforce = new jerkob\Salesforce\Authentication\PasswordAuthentication($options);
    $salesforce->authenticate();
    
    $accessToken = $salesforce->getAccessToken();
    $instanceUrl = $salesforce->getInstanceUrl();
    
    Change Endpoint
    
    $salesforce = new jerkob\Salesforce\Authentication\PasswordAuthentication($options);
    $salesforce->setEndpoint('https://test.salesforce.com/');
    $salesforce->authenticate();
 
    $accessToken = $salesforce->getAccessToken();
    $instanceUrl = $salesforce->getInstanceUrl();

查询

    $query = 'SELECT Id,Name FROM ACCOUNT LIMIT 100';
    
    $crud = new \jerkob\Salesforce\CRUD($instanceUrl, $accessToken);
    $crud->query($query);

创建

    
    $data = [
       'Name' => 'some name',
    ];
    
    $crud->create('Account', $data);  #returns id

更新

    $new_data = [
       'Name' => 'another name',
    ];
    
    $crud->update('Account', $id, $new_data); #returns status_code 204
    

更新/插入

    $new_data = [
       'Name' => 'another name',
    ];
    
    $crud->upsert('Account', 'API Name/ Field Name', 'value', $new_data); #returns status_code 204 or 201
    

删除

    $crud->delete('Account', $id);

描述

    $crud->describe('Account');