Onfido API的官方包装
onfido-python的Python项目详细描述
Onfido Python客户端库
版本1.2.0
Onfido的API的官方包装。有关预期请求和响应的详细信息,请参阅完整的API documentation。在
此项目将取代自动生成的api-python-client库(PyPI中的onfido
)。在
安装
pip install onfido-python
:警告:同时安装旧的onfido
包将导致错误。在
使用
通过使用Api
类的实例并提供API来进行API调用
令牌:
importonfidoapi=onfido.Api("<YOUR_API_TOKEN>")
区域
使用base_url
参数设置API实例中的区域。在
库将使用默认的基URL(api.onfido.com网站)对于欧盟地区,如果 未指定区域。在
要指定美国地区,请执行以下操作:
^{pr2}$要指定CA区域,请执行以下操作:
fromonfido.regionsimportRegionapi=onfido.Api("<YOUR_API_TOKEN>",base_url=Region.CA)
有关支持的区域,请参见https://documentation.onfido.com/#regions。在
超时
您可以选择为API中的所有请求设置全局超时 建造师。这需要一个浮点数输入和每个整数 增量对应于一秒。在
例如,要将超时设置为1秒:
api=onfido.Api("<YOUR_API_TOKEN>",timeout=1)
timeout
的默认值是None
,这意味着不会设置超时
客户端。在
响应格式
Python库将直接从API返回数据。在
更多信息请参见https://documentation.onfido.com/#request,-response-format 信息。在
资源
所有资源在进行API调用时共享同一接口。例如,使用
.create
创建资源,.find
查找资源,.all
获取所有资源
资源。在
申请人
应用程序是执行Onfido检查的对象。在
api.applicant.create(params)# => Creates an applicantapi.applicant.update("<APPLICANT_ID>",params)# => Updates an applicantapi.applicant.delete("<APPLICANT_ID>")# => Schedule an applicant for deletionapi.applicant.restore("<APPLICANT_ID>")# => Restore an applicant scheduled for deletionapi.applicant.find("<APPLICANT_ID>")# => Finds a single applicantapi.applicant.all()# => Returns all applicants
applicant.all()
接受以下可选参数:
include_deleted=true
:包括计划删除的申请者。
per_page
:设置每页的结果数。默认为20。
page
:返回特定页面。默认为1。在
注意:调用api.applicant.delete
添加申请者和所有相关联的
删除文档、照片、视频、检查、报告和分析数据
排队。请阅读https://documentation.onfido.com/#delete-applicant了解更多信息
信息。在
有些报告类型需要身份证件(护照、驾驶执照等)才能进行处理。在
request_body={"applicant_id":"<APPLICANT_ID>","type":"passport"}sample_file=open("<FILE_NAME>","rb")api.document.upload(sample_file,request_body)# => Uploads a documentapi.document.find("<DOCUMENT_ID>")# => Finds a documentapi.document.download("<DOCUMENT_ID>")# => Downloads a document as a binary dataapi.document.all("<APPLICANT_ID>")# => Returns all documents belonging to an applicant
有关文档类型的示例,请参见https://documentation.onfido.com/#document-types。在
现场照片
现场照片是申请人的面部照片,通常是在提供文件的同时拍摄的。这些照片用于对申请人进行面部相似性照片报告。在
request_body={"applicant_id":"<APPLICANT_ID>","advanced_validation":"True"}sample_file=open("<FILE_NAME>","rb")api.live_photo.upload(sample_file,request_body)# => Uploads a live photoapi.live_photo.find("<LIVE_PHOTO_ID>")# => Finds a live photoapi.live_photo.download("<LIVE_PHOTO_ID>")# => Downloads a live photo as binary dataapi.live_photo.all("<APPLICANT_ID>")# => Returns all live photos belonging to an applicant
检查
对申请人进行检查。根据您希望执行的检查类型,创建申请者时需要不同的信息。支票由一个或多个报告组成。在
request_body={"applicant_id":"12345","report_names":["document","facial_similarity_photo"]}api.check.create(request_body)# => Creates a checkapi.check.find("<CHECK_ID>")# => Finds a checkapi.check.resume("<CHECK_ID>")# => Resumes a paused checkapi.check.all("<APPLICANT_ID>")# => Returns all an applicant's checks
报告
报告提供检查某些部分的结果的详细信息。他们是 在创建检查时创建,因此Onfido API仅支持 找到并列出它们。暂停,特别是用于恢复报告的其他支持 也可以取消报告。在
api.report.find("<REPORT_ID>")# => Finds a reportapi.report.resume("<REPORT_ID>")# => Resumes a paused reportapi.report.all("<CHECK_ID>")# => Returns all the reports in a checkapi.report.cancel("<REPORT_ID>")# => Cancels a paused report
地址查找
Onfido提供地址查找服务,以帮助确保格式正确 创建申请者时提供地址。搜索地址 按邮政编码,请使用:
api.address.pick("SW46EH")# => Returns all addresses in a given postcode
Webhook端点
Onfido还允许您通过API设置和查看webhook端点 通过仪表板。在
request_body={"url":"https://<URL>","events":["report.completed","check.completed"]}api.webhook.create(request_body)# => Registers a webhookapi.webhook.find("<WEBHOOK_ID>")# => Finds a single webhookapi.webhook.edit("<WEBHOOK_ID>",new_webhook_details)# => Edits a webhookapi.webhook.delete("<WEBHOOK_ID>")# => Deletes a webhookapi.webhook.all()# => Returns all webhooks
Webhook验证
如果来自标头的签名等于 期望您为其计算的签名。在
event=verifier.read_payload(raw_event,signature)
有关详细信息,请参见https://documentation.onfido.com/#verifying-webhook-signatures。在
SDK令牌
Onfido允许您通过API生成JSON Web令牌以进行身份验证 用Onfido的sdk。在
request_body={"applicant_id":"<APPLICANT_ID>","application_id":"<APPLICATION_ID>"}api.sdk_token.generate(request_body)# => Creates an SDK token
提取(自动填充)
从文档中提取数据。此终结点仅返回可用于自动填充表单的提取数据。 你必须提供已上载的文档的ID。在
api.extraction.perform("<DOCUMENT_ID>")# => Returns data extracted from the document
错误处理
- ^每当Onfido返回
5xx
响应时,就会引发{} - ^每当Onfido返回
4xx
响应时,就会引发{} - ^每当来自报头的签名不等于为其计算的预期签名时,将引发{
} - ^如果发生超时,则引发{
} OnfidoConnectionError
在任何其他网络错误发生时引发OnfidoUnknownError
在发生意外时引发
贡献
- 叉开(https://github.com/onfido/onfido-python/fork)
- 创建您的功能分支(
git checkout -b my-new-feature
) - 运行测试(
poetry run pytest tests/test_my_new_feature.py
) - 提交更改(
git commit -am 'Add some feature'
) - 推到分支(
git push origin my-new-feature
) - 创建新的拉取请求
- 项目
标签: