{"id":16676549,"url":"https://github.com/luketowers/php-donorperfect-api","last_synced_at":"2025-04-09T20:34:06.923Z","repository":{"id":62520163,"uuid":"302780301","full_name":"LukeTowers/php-donorperfect-api","owner":"LukeTowers","description":"Simple PHP wrapper for the DonorPerfect API","archived":false,"fork":false,"pushed_at":"2024-04-05T02:26:26.000Z","size":1278,"stargazers_count":4,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-03-23T22:36:55.363Z","etag":null,"topics":["hacktoberfest","php","php-library"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LukeTowers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-10-10T00:22:22.000Z","updated_at":"2025-01-12T08:47:18.000Z","dependencies_parsed_at":"2024-04-05T03:27:49.870Z","dependency_job_id":"7c226216-2282-4d0b-b078-58e899f58d74","html_url":"https://github.com/LukeTowers/php-donorperfect-api","commit_stats":{"total_commits":20,"total_committers":2,"mean_commits":10.0,"dds":"0.050000000000000044","last_synced_commit":"38e61cd1ffe30272e0ae0253a929cfeeda17a2e4"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeTowers%2Fphp-donorperfect-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeTowers%2Fphp-donorperfect-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeTowers%2Fphp-donorperfect-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeTowers%2Fphp-donorperfect-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LukeTowers","download_url":"https://codeload.github.com/LukeTowers/php-donorperfect-api/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248107904,"owners_count":21049034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","php","php-library"],"created_at":"2024-10-12T13:10:50.877Z","updated_at":"2025-04-09T20:34:06.893Z","avatar_url":"https://github.com/LukeTowers.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About\n\nA simple PHP wrapper around the [DonorPerfect API](https://uploads.softerware.com/doclib/DP/Manuals/DPO_SUP_Manual_XML_API_Documentation.pdf). Currently targets DonorPerfect Online Version 2020.12. See [https://api.warrenbti.com/](https://api.warrenbti.com/) for the online API documentation.\n\n## Installation\n\nInstall via [Composer](https://getcomposer.org/) by running `composer require luketowers/php-donorperfect-api` in your project directory.\n\n## Usage\n\nIn order to use this wrapper library you will need to provide credentials to access DonorPerfect's API.\n\nYou will either need a user login and password for the account you are trying to access or an API key issued by emailing DonorPerfect support.\n\n## Examples\n\n### Initialize API:\n\n```php\nuse LukeTowers\\DonorPerfectPHP\\DonorPerfect;\n\n// Initialize the client with an API key and app name (max 20 characters)\n$api = new DonorPerfect('my_api_key_here', 'NameOfMyApp');\n\n// Initialize the client with a user login and password and app name (max 20 characters)\n$api = new DonorPerfect(['login' =\u003e 'MyUsername', 'pass' =\u003e 'MyPassword'], 'NameOfMyApp');\n```\n\n### Call one of the predefined DP actions\n\n```php\n// Call one of the predefined DP actions\n$result = $api-\u003edp_donorsearch(['donor_id' =\u003e 1]);\n\n// Call a predefined DP action not yet implemented in this library\n$result = $api-\u003ecall('dp_actionname', DonorPerfect::prepareParams(['donor_id' =\u003e 1], $arrayOfParamConfigsExpected));\n```\n\n### Run a custom MS SQL statement through the API\n\n```php\n$pageStart = 1;\n$pageEnd = 500;\n\n// Run a custom MS SQL statement through the API\n$result = $api-\u003ecallSql(\"\n    SELECT\n        *\n    FROM (\n        SELECT\n            ROW_NUMBER() OVER(ORDER BY dp.donor_id ASC) AS row_number,\n            dp.donor_id,\n            dp.first_name,\n            dp.middle_name,\n            dp.last_name,\n            dp.email,\n            dp.address,\n            dp.address2,\n            dp.city,\n            dp.state,\n            dp.zip,\n            dp.country,\n            dp.gift_total\n        FROM dp\n        LEFT JOIN dpudf ON dpudf.donor_id = dp.donor_id\n        WHERE\n            (dp.nomail_reason != 'IA'\n            AND dp.nomail_reason != 'DE')\n            OR dp.nomail_reason IS NULL\n    ) AS tmp\n    WHERE tmp.row_number BETWEEN {$pageStart} AND {$pageEnd}\n\");\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluketowers%2Fphp-donorperfect-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluketowers%2Fphp-donorperfect-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluketowers%2Fphp-donorperfect-api/lists"}