ZeroBounce iOS SDK
此 SDK 包含与 ZeroBounce API 交互的简单方法。更多关于 ZeroBounce 的信息,您可以查阅 官方文档。
安装 (CocoaPods)
将 pod 添加到 Podfile pod 'ZeroBounceSDK'
并运行 pod install
用法
在您的文件中导入 SDK
import ZeroBounceSDK
使用您的 API 密钥初始化 SDK
ZeroBounceSDK.shared.initialize(apiKey: "<YOUR_API_KEY>")
示例
然后您可以使用任何SDK方法,例如
-
验证一个电子邮箱地址
let email = "<EMAIL_ADDRESS>" // The email address you want to validate
let ipAddress = "127.0.0.1" // The IP Address the email signed up from (Optional)
ZeroBounceSDK.shared.validate(email, ipAddress) { result in
switch result {
case .Success(let response):
NSLog("validate success response=\(response)")
case .Failure(let error):
NSLog("validate failure error=\(String(describing: error))")
switch error as? ZBError {
case ZBError.notInitialized:
break
case ZBError.decodeError(let messages):
/// decodeError is used to extract and decode errors and messages
/// when they are not part of the response object
break
default:
break
}
}
}
-
使用批量电子邮箱验证器验证最多100个电子邮箱地址
// The email addresses you want to validate
let emails = [
["email_address": "<EMAIL_ADDRESS_1>"],
["email_address": "<EMAIL_ADDRESS_2>", "ip_address": "127.0.0.1"]
]
ZeroBounceSDK.shared.validateBatch(emails: emails) { result in
switch result {
case .Success(let response):
NSLog("validate success response=\(response)")
case .Failure(let error):
NSLog("validate failure error=\(String(describing: error))")
}
}
-
检查账户剩余积点数
ZeroBounceSDK.shared.getCredits() { result in
switch result {
case .Success(let response):
NSLog("getCredits success response=\(response)")
let credits = response.credits
case .Failure(let error):
NSLog("getCredits failure error=\(String(describing: error))")
}
}
-
检查您近30、60、90、180、365、730或1095天内邮件收件箱是否活跃
ZeroBounceSDK.shared.getActivityData(email: email) { result in
switch result {
case .Success(let response):
NSLog("getActivityData success response=\(response)")
case .Failure(let error):
NSLog("getActivityData failure error=\(String(describing: error))")
}
}
-
检查指定时间段内的API使用情况
let startDate = Date(); // The start date of when you want to view API usage
let endDate = Date(); // The end date of when you want to view API usage
ZeroBounceSDK.shared.getApiUsage(startDate, endDate) { result in
switch result {
case .Success(let response):
NSLog("getApiUsage success response=\(response)")
case .Failure(let error):
NSLog("getApiUsage failure error=\(String(describing: error))")
}
}
-
sendfile API 允许用户发送文件进行批量电子邮件验证
let filePath = File("<FILE_PATH>"); // The csv or txt file
let emailAddressColumn = 3; // The index of "email" column in the file. Index starts at 1
let firstNameColumn = 3; // The index of "first name" column in the file
let lastNameColumn = 3; // The index of "last name" column in the file
let genderColumn = 3; // The index of "gender" column in the file
let ipAddressColumn = 3; // The index of "IP address" column in the file
let hasHeaderRow = true; // If this is `true` the first row is considered as table headers
let returnUrl = "https://domain.com/called/after/processing/request";
ZeroBounceSDK.shared.sendFile(
filePath,
emailAddressColumn,
returnUrl,
firstNameColumn,
lastNameColumn,
genderColumn,
ipAddressColumn,
hasHeaderRow) { result in
switch result {
case .Success(let response):
NSLog("sendFile success response=\(response)")
case .Failure(let error):
NSLog("sendFile failure error=\(String(describing: error))")
}
}
-
getfile API 允许用户获取使用 sendfile API 提交的文件验证结果文件
let fileId = "<FILE_ID>"; // The returned file ID when calling sendfile API
ZeroBounceSDK.shared.getfile(fileId) { result in
switch result {
case .Success(let response):
NSLog("getfile success response=\(response)")
case .Failure(let error):
NSLog("getfile failure error=\(String(describing: error))")
}
}
-
检查通过“sendFile”方法上传的文件状态
let fileId = "<FILE_ID>"; // The returned file ID when calling sendfile API
ZeroBounceSDK.shared.fileStatus(fileId) { result in
switch result {
case .Success(let response):
NSLog("fileStatus success response=\(response)")
case .Failure(let error):
NSLog("fileStatus failure error=\(String(describing: error))")
}
}
-
删除使用评分sendfile API提交的文件。仅当文件状态为“完成”时才能删除文件
let fileId = "<FILE_ID>"; // The returned file ID when calling sendfile API
ZeroBounceSDK.shared.deleteFile(fileId) { result in
switch result {
case .Success(let response):
NSLog("deleteFile success response=\(response)")
case .Failure(let error):
NSLog("deleteFile failure error=\(String(describing: error))")
}
}
AI评分API
-
scoringSendFile API允许用户发送文件进行批量电子邮件验证
let filePath = File("<FILE_PATH>"); // The csv or txt file
let emailAddressColumn = 3; // The index of "email" column in the file. Index starts at 1
let hasHeaderRow = true; // If this is `true` the first row is considered as table headers
let returnUrl = "https://domain.com/called/after/processing/request";
ZeroBounceSDK.shared.scoringSendFile(
filePath,
emailAddressColumn,
returnUrl,
hasHeaderRow) { result in
switch result {
case .Success(let response):
NSLog("sendFile success response=\(response)")
case .Failure(let error):
NSLog("sendFile failure error=\(String(describing: error))")
}
}
-
scoringGetFile API允许用户获取使用scoringSendFile API提交的文件的验证结果文件
let fileId = "<FILE_ID>"; // The returned file ID when calling scoringSendFile API
ZeroBounceSDK.shared.scoringGetfile(fileId) { result in
switch result {
case .Success(let response):
NSLog("getfile success response=\(response)")
case .Failure(let error):
NSLog("getfile failure error=\(String(describing: error))")
}
}
-
使用"scoringSendFile"方法检查上传文件的进度
let fileId = "<FILE_ID>"; // The returned file ID when calling scoringSendFile API
ZeroBounceSDK.shared.scoringFileStatus(fileId) { result in
switch result {
case .Success(let response):
NSLog("fileStatus success response=\(response)")
case .Failure(let error):
NSLog("fileStatus failure error=\(String(describing: error))")
}
}
-
使用scoring scoringSendFile API提交的文件可以被删除。文件只有在状态为完成
时才可以被删除
let fileId = "<FILE_ID>"; // The returned file ID when calling scoringSendFile API
ZeroBounceSDK.shared.scoringDeleteFile(fileId) { result in
switch result {
case .Success(let response):
NSLog("deleteFile success response=\(response)")
case .Failure(let error):
NSLog("deleteFile failure error=\(String(describing: error))")
}
}
示例应用程序
- 您还可以克隆存储库并在项目中访问示例应用程序以查看一些示例。只需使用自己的API密钥初始化SDK并取消注释您想要测试的端点。
以下任意电子邮件地址均可用于测试API,测试电子邮件地址无需收费
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]