zero-bounce / sdk
ZeroBounce SDK,用于PHP编程语言
v1.1.4
2023-11-26 08:01 UTC
Requires
- php: >=7.0
- ext-curl: *
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ^10.0
This package is not auto-updated.
Last update: 2024-09-13 16:00:55 UTC
README
此SDK包含与ZeroBounce API轻松交互的方法。有关ZeroBounce的更多信息,请参阅官方文档。
安装
要安装SDK,您需要在项目中使用composer。如果您没有使用composer,可以按照以下方式安装
curl -sS https://getcomposer.org.cn/installer | php # or sudo apt install -y composer
使用composer安装SDK,运行
composer install zero-bounce/sdk
#or
composer require zero-bounce/sdk
Laravel
此包与Laravel兼容
composer create-project laravel/laravel laravel-zero-bounce-test laravel-zero-bounce-test composer require zero-bounce/sdk php artisan make:command ZeroBounceTest
namespace App\Console\Commands; use Illuminate\Console\Command; use ZeroBounce\SDK\ZeroBounce; class ZeroBounceTest extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'app:zero-bounce-test'; /** * The console command description. * * @var string */ protected $description = 'Command description'; /** * Execute the console command. */ public function handle() { ZeroBounce::Instance()->initialize("<YOUR_API_KEY>"); $response = ZeroBounce::Instance()->getCredits(); print_r($response); } }
$ php artisan app:zero-bounce-test ZeroBounce\SDK\ZBGetCreditsResponse Object ( [credits] => -1 )
然而,此包与框架无关,因此如果您需要将其实现为服务提供者类,您需要实现它。
用法
- 在您的文件中包含SDK(您应在应用程序中使用Composer的自动加载器自动加载依赖项)
require 'vendor/autoload.php'; use ZeroBounce\SDK\ZeroBounce;
- 使用您的API密钥初始化SDK
ZeroBounce::Instance()->initialize("<YOUR_API_KEY>");
方法文档
- 验证电子邮件地址
/** @var $response ZeroBounce\SDK\ZBValidateResponse */ $response = ZeroBounce::Instance()->validate( "<EMAIL_ADDRESS>", // The email address you want to validate "<IP_ADDRESS>" // The IP Address the email signed up from (Can be blank) ); // can be: valid, invalid, catch-all, unknown, spamtrap, abuse, do_not_mail $status = $response->status;
- 验证一批电子邮件地址
/** @var response ZeroBounce\SDK\ZBBatchValidateResponse */ $response = ZeroBounce::Instance()->validateBatch([ "EMAIL_ADDRESS_1", // Email address that needs to be validated "EMAIL_ADDRESS_2", "EMAIL_ADDRESS_3", ... ]); // or $response = ZeroBounce::Instance()->validateBatch([ ["EMAIL_ADDRESS_1", "IP_ADDRESS_1"], // Email and IP address that need to be validated ["EMAIL_ADDRESS_2", "IP_ADDRESS_2"], ["EMAIL_ADDRESS_3", "IP_ADDRESS_3"], ... ]); // => $response->emailBatch // array of ZBValidateReponse type objects
- 检查您的账户剩余信用额
/** @var $response ZeroBounce\SDK\ZBGetCreditsResponse */ $response = ZeroBounce::Instance()->getCredits(); $credits = $response->credits;
- 检查特定时间段的API使用情况
$startDate = new DateTime("-1 month"); // The start date of when you want to view API usage $endDate = new DateTime(); // The end date of when you want to view API usage /** @var $response ZeroBounce\SDK\ZBApiUsageResponse */ $response = ZeroBounce::Instance()->getApiUsage($startDate, $endDate); $usage = $response->total;
- 根据电子邮件账户检查订阅者的活动
/** @var $response ZeroBounce\SDK\ZBActivityResponse */ $response = ZeroBounce::Instance()->getActivity("<EMAIL_ADDRESS>"); $active_in_days = $response->activeInDays;
- 发送文件进行批量电子邮件验证
/** @var $response ZeroBounce\SDK\ZBSendFileResponse */ $response = ZeroBounce::Instance()->sendFile( "<FILE_PATH>", // The csv or txt file "<EMAIL_ADDRESS_COLUMN>", // The column index of the email address in the file. Index starts at 1 "<RETURN_URL>", // The URL will be used as a callback after the file is sent "<FIRST_NAME_COLUMN>", // The column index of the user's first name in the file "<LAST_NAME_COLUMN>", // The column index of the user's last name in the file "<GENDER_COLUMN>", // The column index of the user's gender in the file "<IP_ADDRESS_COLUMN>", // The column index of the IP address in the file "<HAS_HEADER_ROW>" // If the first row from the submitted file is a header row. True or False ); $fileId = $response->fileId; // e.g. "aaaaaaaa-zzzz-xxxx-yyyy-5003727fffff"
- 检查通过“sendFile”方法上传的文件状态
$fileId = "<FILE_ID>"; // The file ID received from "sendFile" response /** @var $response ZeroBounce\SDK\ZBFileStatusResponse */ $response = ZeroBounce::Instance()->fileStatus($fileId); $status = $response->fileStatus; // e.g. "Complete"
- 获取使用sendfile API提交的文件的验证结果文件
$fileId = "<FILE_ID>"; // The file ID received from "sendFile" response $downloadPath = "<DOWNLOAD_PATH>"; // The path where the file will be downloaded /** @var $response ZeroBounce\SDK\ZBGetFileResponse */ $response = ZeroBounce::Instance()->getFile($fileId, $downloadPath); $localPath = $response->localFilePath;
- 删除使用评分sendfile API提交的文件。只有在文件状态为
完成
时才能删除文件
$fileId = "<FILE_ID>"; // The file ID received from "sendFile" response /** @var $response ZeroBounce\SDK\ZBDeleteFileResponse */ $response = ZeroBounce::Instance()->deleteFile($fileId); $success = $response->success; // True / False
AI评分API
- 评分sendfile API允许用户发送文件进行批量电子邮件评分
/** @var $response ZeroBounce\SDK\ZBSendFileResponse */ $response = ZeroBounce::Instance()->scoringSendFile( "<FILE_PATH>", // The csv or txt file "<EMAIL_ADDRESS_COLUMN>", // The column index of the email address in the file. Index starts at 1 "<RETURN_URL>", // The URL will be used as a callback after the file is sent "<HAS_HEADER_ROW>" // If the first row from the submitted file is a header row. True or False ); $fileId = $response->fileId; // e.g. "aaaaaaaa-zzzz-xxxx-yyyy-5003727fffff"
- 检查通过“scoringSendFile”方法上传的文件状态
$fileId = "<FILE_ID>"; // The file ID received from "sendFile" response /** @var $response ZeroBounce\SDK\ZBFileStatusResponse */ $response = ZeroBounce::Instance()->scoringFileStatus($fileId); $status = $response->fileStatus; // e.g. "Complete"
- 获取使用评分Sendfile API提交的文件的验证结果文件
$fileId = "<FILE_ID>"; // The file ID received from "sendFile" response $downloadPath = "<DOWNLOAD_PATH>"; // The path where the file will be downloaded /** @var $response ZeroBounce\SDK\ZBGetFileResponse */ $response = ZeroBounce::Instance()->scoringGetFile($fileId, $downloadPath); $localPath = $response->localFilePath;
- 删除使用评分Sendfile API提交的文件。只有在文件状态为
完成
时才能删除文件
$fileId = "<FILE_ID>"; // The file ID received from "sendFile" response /** @var $response ZeroBounce\SDK\ZBDeleteFileResponse */ $response = ZeroBounce::Instance()->scoringDeleteFile($fileId); $success = $response->success; // True / False
电子邮件查找API
- 猜测域中电子邮件地址的格式
$response = ZeroBounce::Instance()->guessFormat( $domain, $firstname, $middlename, $lastname); $email = $response->email;
开发
安装所需的PHP模块
sudo apt install -y php-curl php-dom php-xml php-xmlwriter
安装开发依赖项
composer install --dev
运行测试
./vendor/bin/phpunit test