ZeroBounceSDK 0.1.9

ZeroBounceSDK 0.1.9

Zero Bounce 维护。



  • Zero Bounce

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,测试电子邮件地址无需收费