luketowers / php-donorperfect-api
DonorPerfect API 的 PHP 封装器
v1.0.0
2024-04-05 02:25 UTC
Requires
- php: >=7.2
- guzzlehttp/guzzle: ~6.0||~7.0
This package is auto-updated.
Last update: 2024-09-05 03:29:48 UTC
README
这是一个围绕 DonorPerfect API 的简单 PHP 封装器。目前针对 DonorPerfect Online 版本 2020.12。请访问 https://api.warrenbti.com/ 查看在线 API 文档。
安装
通过 Composer 安装,在项目目录中运行 composer require luketowers/php-donorperfect-api
。
使用方法
为了使用此封装库,您需要提供凭证以访问 DonorPerfect 的 API。
您可能需要一个用于尝试访问的账户的用户登录名和密码,或者通过给 DonorPerfect 支持发送电子邮件获得的 API 密钥。
示例
初始化 API
use LukeTowers\DonorPerfectPHP\DonorPerfect; // Initialize the client with an API key and app name (max 20 characters) $api = new DonorPerfect('my_api_key_here', 'NameOfMyApp'); // Initialize the client with a user login and password and app name (max 20 characters) $api = new DonorPerfect(['login' => 'MyUsername', 'pass' => 'MyPassword'], 'NameOfMyApp');
调用预定义的 DP 操作之一
// Call one of the predefined DP actions $result = $api->dp_donorsearch(['donor_id' => 1]); // Call a predefined DP action not yet implemented in this library $result = $api->call('dp_actionname', DonorPerfect::prepareParams(['donor_id' => 1], $arrayOfParamConfigsExpected));
通过 API 运行自定义的 MS SQL 语句
$pageStart = 1; $pageEnd = 500; // Run a custom MS SQL statement through the API $result = $api->callSql(" SELECT * FROM ( SELECT ROW_NUMBER() OVER(ORDER BY dp.donor_id ASC) AS row_number, dp.donor_id, dp.first_name, dp.middle_name, dp.last_name, dp.email, dp.address, dp.address2, dp.city, dp.state, dp.zip, dp.country, dp.gift_total FROM dp LEFT JOIN dpudf ON dpudf.donor_id = dp.donor_id WHERE (dp.nomail_reason != 'IA' AND dp.nomail_reason != 'DE') OR dp.nomail_reason IS NULL ) AS tmp WHERE tmp.row_number BETWEEN {$pageStart} AND {$pageEnd} ");