didit-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +25 -0
- data/LICENSE +21 -0
- data/README.md +277 -0
- data/lib/didit/authentication/base64_url.rb +34 -0
- data/lib/didit/authentication/cache.rb +201 -0
- data/lib/didit/authentication/http.rb +150 -0
- data/lib/didit/authentication/issuer.rb +115 -0
- data/lib/didit/authentication/jws.rb +231 -0
- data/lib/didit/authentication/key_set.rb +89 -0
- data/lib/didit/authentication/pkce.rb +64 -0
- data/lib/didit/authentication/types.rb +175 -0
- data/lib/didit/authentication.rb +546 -0
- data/lib/didit/client.rb +211 -0
- data/lib/didit/errors.rb +153 -0
- data/lib/didit/file_part.rb +85 -0
- data/lib/didit/internal/config.rb +94 -0
- data/lib/didit/internal/errors.rb +83 -0
- data/lib/didit/internal/log.rb +41 -0
- data/lib/didit/internal/multipart.rb +60 -0
- data/lib/didit/internal/request.rb +322 -0
- data/lib/didit/internal/transport.rb +198 -0
- data/lib/didit/internal/util.rb +76 -0
- data/lib/didit/internal.rb +15 -0
- data/lib/didit/model.rb +199 -0
- data/lib/didit/page.rb +130 -0
- data/lib/didit/raw_response.rb +57 -0
- data/lib/didit/resource.rb +15 -0
- data/lib/didit/resources/account.rb +309 -0
- data/lib/didit/resources/address_validation.rb +73 -0
- data/lib/didit/resources/age_estimation.rb +110 -0
- data/lib/didit/resources/aml.rb +166 -0
- data/lib/didit/resources/aml_monitoring.rb +30 -0
- data/lib/didit/resources/analytics.rb +87 -0
- data/lib/didit/resources/bank.rb +65 -0
- data/lib/didit/resources/billing.rb +61 -0
- data/lib/didit/resources/biometric_templates.rb +234 -0
- data/lib/didit/resources/blocklist.rb +130 -0
- data/lib/didit/resources/business_sessions.rb +29 -0
- data/lib/didit/resources/businesses.rb +471 -0
- data/lib/didit/resources/cases.rb +2116 -0
- data/lib/didit/resources/customization.rb +153 -0
- data/lib/didit/resources/database_validation.rb +327 -0
- data/lib/didit/resources/document_ai.rb +145 -0
- data/lib/didit/resources/email.rb +254 -0
- data/lib/didit/resources/face_match.rb +103 -0
- data/lib/didit/resources/face_search.rb +103 -0
- data/lib/didit/resources/fraud_checks.rb +130 -0
- data/lib/didit/resources/id_verification.rb +163 -0
- data/lib/didit/resources/id_wallets.rb +1468 -0
- data/lib/didit/resources/investigator.rb +419 -0
- data/lib/didit/resources/ip.rb +68 -0
- data/lib/didit/resources/kyb.rb +256 -0
- data/lib/didit/resources/lists.rb +332 -0
- data/lib/didit/resources/monitoring_events.rb +466 -0
- data/lib/didit/resources/networks.rb +427 -0
- data/lib/didit/resources/passive_liveness.rb +103 -0
- data/lib/didit/resources/phone.rb +271 -0
- data/lib/didit/resources/pricing.rb +40 -0
- data/lib/didit/resources/proof_of_address.rb +167 -0
- data/lib/didit/resources/questionnaires.rb +170 -0
- data/lib/didit/resources/regulatory_reports.rb +314 -0
- data/lib/didit/resources/report_templates.rb +146 -0
- data/lib/didit/resources/sessions.rb +2820 -0
- data/lib/didit/resources/transactions.rb +981 -0
- data/lib/didit/resources/travel_rule.rb +1202 -0
- data/lib/didit/resources/users.rb +521 -0
- data/lib/didit/resources/wallet_screening.rb +190 -0
- data/lib/didit/resources/webhooks.rb +396 -0
- data/lib/didit/resources/workflows.rb +214 -0
- data/lib/didit/resources.rb +263 -0
- data/lib/didit/types/account.rb +11 -0
- data/lib/didit/types/account_components.rb +105 -0
- data/lib/didit/types/address_validation.rb +8 -0
- data/lib/didit/types/age_estimation.rb +89 -0
- data/lib/didit/types/aml.rb +193 -0
- data/lib/didit/types/aml_monitoring.rb +73 -0
- data/lib/didit/types/analytics.rb +62 -0
- data/lib/didit/types/bank.rb +8 -0
- data/lib/didit/types/billing.rb +18 -0
- data/lib/didit/types/biometric_templates.rb +292 -0
- data/lib/didit/types/blocklist.rb +31 -0
- data/lib/didit/types/businesses.rb +45 -0
- data/lib/didit/types/cases.rb +368 -0
- data/lib/didit/types/components.rb +12206 -0
- data/lib/didit/types/customization.rb +8 -0
- data/lib/didit/types/database_validation.rb +177 -0
- data/lib/didit/types/document_ai.rb +135 -0
- data/lib/didit/types/email.rb +116 -0
- data/lib/didit/types/face_match.rb +93 -0
- data/lib/didit/types/face_search.rb +129 -0
- data/lib/didit/types/fraud_checks.rb +8 -0
- data/lib/didit/types/id_verification.rb +231 -0
- data/lib/didit/types/id_wallets.rb +8 -0
- data/lib/didit/types/investigator.rb +221 -0
- data/lib/didit/types/ip.rb +8 -0
- data/lib/didit/types/kyb.rb +1391 -0
- data/lib/didit/types/lists.rb +111 -0
- data/lib/didit/types/monitoring_events.rb +235 -0
- data/lib/didit/types/networks.rb +120 -0
- data/lib/didit/types/passive_liveness.rb +95 -0
- data/lib/didit/types/phone.rb +69 -0
- data/lib/didit/types/proof_of_address.rb +166 -0
- data/lib/didit/types/questionnaires.rb +29 -0
- data/lib/didit/types/regulatory_reports.rb +100 -0
- data/lib/didit/types/report_templates.rb +41 -0
- data/lib/didit/types/sessions.rb +1441 -0
- data/lib/didit/types/transactions.rb +245 -0
- data/lib/didit/types/travel_rule.rb +168 -0
- data/lib/didit/types/users.rb +180 -0
- data/lib/didit/types/wallet_screening.rb +49 -0
- data/lib/didit/types/webhooks.rb +355 -0
- data/lib/didit/types/workflows.rb +32 -0
- data/lib/didit/types.rb +1681 -0
- data/lib/didit/version.rb +5 -0
- data/lib/didit/webhooks/canonical_json.rb +187 -0
- data/lib/didit/webhooks/client_methods.rb +23 -0
- data/lib/didit/webhooks/events.rb +221 -0
- data/lib/didit/webhooks/headers.rb +83 -0
- data/lib/didit/webhooks/verifier.rb +260 -0
- data/lib/didit/webhooks.rb +99 -0
- data/lib/didit-sdk.rb +4 -0
- data/lib/didit.rb +31 -0
- data/sig/didit/authentication/base64_url.rbs +10 -0
- data/sig/didit/authentication/cache.rbs +60 -0
- data/sig/didit/authentication/http.rbs +37 -0
- data/sig/didit/authentication/issuer.rbs +17 -0
- data/sig/didit/authentication/jws.rbs +41 -0
- data/sig/didit/authentication/jwt.rbs +14 -0
- data/sig/didit/authentication/key_set.rbs +25 -0
- data/sig/didit/authentication/pkce.rbs +20 -0
- data/sig/didit/authentication/types.rbs +114 -0
- data/sig/didit/authentication.rbs +81 -0
- data/sig/didit/client.rbs +61 -0
- data/sig/didit/errors.rbs +80 -0
- data/sig/didit/file_part.rbs +19 -0
- data/sig/didit/internal.rbs +199 -0
- data/sig/didit/model.rbs +42 -0
- data/sig/didit/page.rbs +34 -0
- data/sig/didit/raw_response.rbs +20 -0
- data/sig/didit/resource.rbs +8 -0
- data/sig/didit/resources/account.rbs +23 -0
- data/sig/didit/resources/address_validation.rbs +9 -0
- data/sig/didit/resources/age_estimation.rbs +9 -0
- data/sig/didit/resources/aml.rbs +10 -0
- data/sig/didit/resources/aml_monitoring.rbs +9 -0
- data/sig/didit/resources/analytics.rbs +9 -0
- data/sig/didit/resources/bank.rbs +9 -0
- data/sig/didit/resources/billing.rbs +10 -0
- data/sig/didit/resources/biometric_templates.rbs +13 -0
- data/sig/didit/resources/blocklist.rbs +11 -0
- data/sig/didit/resources/business_sessions.rbs +9 -0
- data/sig/didit/resources/businesses.rbs +22 -0
- data/sig/didit/resources/cases.rbs +103 -0
- data/sig/didit/resources/customization.rbs +10 -0
- data/sig/didit/resources/database_validation.rbs +9 -0
- data/sig/didit/resources/document_ai.rbs +9 -0
- data/sig/didit/resources/email.rbs +11 -0
- data/sig/didit/resources/face_match.rbs +9 -0
- data/sig/didit/resources/face_search.rbs +9 -0
- data/sig/didit/resources/fraud_checks.rbs +11 -0
- data/sig/didit/resources/id_verification.rbs +9 -0
- data/sig/didit/resources/id_wallets.rbs +37 -0
- data/sig/didit/resources/investigator.rbs +23 -0
- data/sig/didit/resources/ip.rbs +9 -0
- data/sig/didit/resources/kyb.rbs +12 -0
- data/sig/didit/resources/lists.rbs +20 -0
- data/sig/didit/resources/monitoring_events.rbs +16 -0
- data/sig/didit/resources/networks.rbs +25 -0
- data/sig/didit/resources/passive_liveness.rbs +9 -0
- data/sig/didit/resources/phone.rbs +11 -0
- data/sig/didit/resources/pricing.rbs +9 -0
- data/sig/didit/resources/proof_of_address.rbs +9 -0
- data/sig/didit/resources/questionnaires.rbs +13 -0
- data/sig/didit/resources/regulatory_reports.rbs +16 -0
- data/sig/didit/resources/report_templates.rbs +13 -0
- data/sig/didit/resources/sessions.rbs +78 -0
- data/sig/didit/resources/transactions.rbs +43 -0
- data/sig/didit/resources/travel_rule.rbs +62 -0
- data/sig/didit/resources/users.rbs +21 -0
- data/sig/didit/resources/wallet_screening.rbs +11 -0
- data/sig/didit/resources/webhooks.rbs +23 -0
- data/sig/didit/resources/workflows.rbs +13 -0
- data/sig/didit/resources.rbs +50 -0
- data/sig/didit/types/account.rbs +22 -0
- data/sig/didit/types/account_components.rbs +94 -0
- data/sig/didit/types/address_validation.rbs +7 -0
- data/sig/didit/types/age_estimation.rbs +80 -0
- data/sig/didit/types/aml.rbs +174 -0
- data/sig/didit/types/aml_monitoring.rbs +67 -0
- data/sig/didit/types/analytics.rbs +57 -0
- data/sig/didit/types/bank.rbs +9 -0
- data/sig/didit/types/billing.rbs +19 -0
- data/sig/didit/types/biometric_templates.rbs +268 -0
- data/sig/didit/types/blocklist.rbs +33 -0
- data/sig/didit/types/businesses.rbs +54 -0
- data/sig/didit/types/cases.rbs +414 -0
- data/sig/didit/types/components.rbs +10920 -0
- data/sig/didit/types/customization.rbs +7 -0
- data/sig/didit/types/database_validation.rbs +152 -0
- data/sig/didit/types/document_ai.rbs +123 -0
- data/sig/didit/types/email.rbs +112 -0
- data/sig/didit/types/face_match.rbs +86 -0
- data/sig/didit/types/face_search.rbs +112 -0
- data/sig/didit/types/fraud_checks.rbs +9 -0
- data/sig/didit/types/id_verification.rbs +196 -0
- data/sig/didit/types/id_wallets.rbs +55 -0
- data/sig/didit/types/investigator.rbs +212 -0
- data/sig/didit/types/ip.rbs +7 -0
- data/sig/didit/types/kyb.rbs +1254 -0
- data/sig/didit/types/lists.rbs +106 -0
- data/sig/didit/types/monitoring_events.rbs +234 -0
- data/sig/didit/types/networks.rbs +113 -0
- data/sig/didit/types/passive_liveness.rbs +87 -0
- data/sig/didit/types/phone.rbs +65 -0
- data/sig/didit/types/proof_of_address.rbs +144 -0
- data/sig/didit/types/questionnaires.rbs +30 -0
- data/sig/didit/types/regulatory_reports.rbs +101 -0
- data/sig/didit/types/report_templates.rbs +42 -0
- data/sig/didit/types/sessions.rbs +1349 -0
- data/sig/didit/types/transactions.rbs +273 -0
- data/sig/didit/types/travel_rule.rbs +188 -0
- data/sig/didit/types/users.rbs +181 -0
- data/sig/didit/types/wallet_screening.rbs +40 -0
- data/sig/didit/types/webhooks.rbs +311 -0
- data/sig/didit/types/workflows.rbs +30 -0
- data/sig/didit/webhooks/canonical_json.rbs +25 -0
- data/sig/didit/webhooks/client_methods.rbs +11 -0
- data/sig/didit/webhooks/events.rbs +125 -0
- data/sig/didit/webhooks/headers.rbs +22 -0
- data/sig/didit/webhooks/verifier.rbs +54 -0
- data/sig/didit/webhooks.rbs +37 -0
- data/sig/didit.rbs +20 -0
- metadata +300 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# Code generated by codegen from openapi/*.json. DO NOT EDIT.
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Didit
|
|
5
|
+
module Resources
|
|
6
|
+
# The +id_verification+ resource.
|
|
7
|
+
class IdVerification < Didit::Resource
|
|
8
|
+
# ID Verification (document OCR + fraud checks)
|
|
9
|
+
#
|
|
10
|
+
# OCR an identity document and run document fraud checks in one call - returns the extracted holder fields, the
|
|
11
|
+
# parsed MRZ, an `Approved`/`Declined`/`In Review` `status`, and a `warnings` list explaining every issue found.
|
|
12
|
+
# Supports 14,000+ document types from 220+ countries and territories.
|
|
13
|
+
#
|
|
14
|
+
# **How it works.** Send the document's `front_image` (required) and, for two-sided documents, the `back_image`.
|
|
15
|
+
# Upload uncropped photos with all four corners of the document visible - the service detects, aligns, and crops
|
|
16
|
+
# the document itself, so do not pre-crop. The document is classified automatically (you never declare the
|
|
17
|
+
# country or document type), the visual zone is read with OCR, and the MRZ and any barcodes are decoded.
|
|
18
|
+
# Cross-checks then validate dates, number formats, and MRZ check digits, and compare the visual zone against
|
|
19
|
+
# the MRZ. With `perform_document_liveness=true`, the images are additionally screened for screen replays,
|
|
20
|
+
# printed copies, and portrait manipulation.
|
|
21
|
+
#
|
|
22
|
+
# **Decision logic.** `status` is `Approved` unless at least one warning resolves to a decline. Fraud and
|
|
23
|
+
# hard-failure risks always decline: `DOCUMENT_EXPIRED`, `SCREEN_CAPTURE_DETECTED`, `PRINTED_COPY_DETECTED`,
|
|
24
|
+
# `PORTRAIT_MANIPULATION_DETECTED`, `PUBLIC_DOCUMENT_IMAGE_DETECTED`, plus extraction failures
|
|
25
|
+
# (`NAME_NOT_DETECTED`, `DATE_OF_BIRTH_NOT_DETECTED`, `DOCUMENT_NUMBER_NOT_DETECTED`).
|
|
26
|
+
# (`PORTRAIT_IMAGE_NOT_DETECTED`, `COULD_NOT_DETECT_DOCUMENT_TYPE`, `INVALID_DATE`, and `MRZ_NOT_DETECTED` exist
|
|
27
|
+
# in workflow sessions but are never produced by this standalone endpoint.) Three risk groups are configurable
|
|
28
|
+
# per request via `invalid_mrz_action`, `inconsistent_data_action`, and `expiration_date_not_detected_action`
|
|
29
|
+
# (`DECLINE` or `NO_ACTION`). All other warnings (e.g. `POSSIBLE_DUPLICATED_USER`) are informational and never
|
|
30
|
+
# decline on their own. When `perform_document_liveness=true` (the default) and the forgery check returns no
|
|
31
|
+
# usable score - the provider failed, answered non-200, or answered HTTP 200 with `status="ERR"` - the call
|
|
32
|
+
# returns `200` with `status: "In Review"` and a `DOCUMENT_LIVENESS_NOT_COMPUTED` warning (`log_type:
|
|
33
|
+
# "warning"`) instead of `Approved`: a check that did not run is not evidence that the document is genuine. This
|
|
34
|
+
# escalation is not configurable and never overrides a `Declined`; with `perform_document_liveness=false` the
|
|
35
|
+
# check is skipped and the status follows the remaining warnings as before. A document that cannot be processed
|
|
36
|
+
# at all returns `400` with `{"error": "COULD_NOT_RECOGNIZE_DOCUMENT"}`; a readable but problematic document
|
|
37
|
+
# returns `200` with `status: "Declined"` - always inspect `id_verification.status` and
|
|
38
|
+
# `id_verification.warnings`, not just the HTTP code.
|
|
39
|
+
#
|
|
40
|
+
# **Billing.** Each `200` response consumes one ID Verification API credit (paid from your plan credit or top-up
|
|
41
|
+
# balance). When the organization's balance cannot cover the call, the endpoint returns `403` with the
|
|
42
|
+
# not-enough-credits error before any image processing.
|
|
43
|
+
#
|
|
44
|
+
# **Session persistence (`save_api_request`, default `true`).** When `true`, the call is persisted as an
|
|
45
|
+
# API-type session: it appears in the Business Console, the returned `request_id` is a real session id you can
|
|
46
|
+
# pass to `GET /v3/session/{sessionId}/decision/`, the cropped document/portrait images are stored and returned
|
|
47
|
+
# as short-lived media URLs (`https://<media-host>/ocr/...`), and a `status.updated` webhook is emitted to your
|
|
48
|
+
# configured webhook endpoints. When `false`, nothing is stored, `request_id` is a one-off correlation UUID, and
|
|
49
|
+
# `portrait_image`/`front_image`/`back_image` are returned inline as base64-encoded JPEG strings.
|
|
50
|
+
#
|
|
51
|
+
# **Sandbox.** Sandbox API keys skip all processing and billing: after request validation (malformed input still
|
|
52
|
+
# returns `400`), the endpoint returns a static `Approved` mock payload (a fictional "Sandbox User" USA identity
|
|
53
|
+
# card), no session is persisted, and no credits are consumed.
|
|
54
|
+
#
|
|
55
|
+
# **Authentication.** Send your application's API key in the `x-api-key` header. Missing or invalid credentials
|
|
56
|
+
# return `403` (`{"detail": "You do not have permission to perform this action."}`) - this API never returns
|
|
57
|
+
# `401`.
|
|
58
|
+
#
|
|
59
|
+
# **Rate limit.** Shared write budget of 300 requests/min per API key across all POST/PATCH/DELETE endpoints;
|
|
60
|
+
# exceeding it returns `429`.
|
|
61
|
+
#
|
|
62
|
+
# +POST /v3/id-verification/+
|
|
63
|
+
#
|
|
64
|
+
# @param front_image [Pathname, IO, String, Didit::FilePart] Front side of the identity document. Allowed
|
|
65
|
+
# extensions: `tiff`, `jpg`, `jpeg`, `png`, `webp`, `pdf`. Maximum upload size: **10 MB** (larger files are
|
|
66
|
+
# rejected with `400`). PDFs are rendered to an image before OCR; encrypted PDFs require `front_image_password`.
|
|
67
|
+
# Images are automatically compressed to ~0.5 MB and EXIF orientation is applied. Upload the full, uncropped
|
|
68
|
+
# capture with all four corners...
|
|
69
|
+
# @param front_image_password [String] Password to decrypt `front_image` when it is an encrypted PDF. Sending an
|
|
70
|
+
# encrypted PDF without (or with a wrong) password returns `400`.
|
|
71
|
+
# @param back_image [Pathname, IO, String, Didit::FilePart] Back side of the document - send it whenever the
|
|
72
|
+
# document has one (many ID cards carry the MRZ or a barcode on the back; omitting it simply leaves the MRZ and
|
|
73
|
+
# back-side fields empty in the response - this endpoint does not raise a missing-MRZ warning). Same format and
|
|
74
|
+
# size limits as `front_image`. When omitted, `back_image` and back-side fields are `null` in the response.
|
|
75
|
+
# @param back_image_password [String] Password to decrypt `back_image` when it is an encrypted PDF.
|
|
76
|
+
# @param perform_document_liveness [Boolean] Screens both images for presentation fraud: screen replays
|
|
77
|
+
# (`SCREEN_CAPTURE_DETECTED`), printed copies (`PRINTED_COPY_DETECTED`), and portrait manipulation
|
|
78
|
+
# (`PORTRAIT_MANIPULATION_DETECTED`). Any of these auto-declines. Enabled by default; set to `false` to skip
|
|
79
|
+
# fraud screening and reduce latency. When enabled and the provider returns no usable score, the response is `In
|
|
80
|
+
# Review` with a `DOCUMENT_...
|
|
81
|
+
# @param minimum_age [Integer, nil] Accepted and validated (1-120) but **currently not applied** by this
|
|
82
|
+
# endpoint - it never produces a `MINIMUM_AGE_NOT_MET` warning from this field. Enforce age rules from the
|
|
83
|
+
# returned `date_of_birth`/`age`, or use a verification-session workflow with age restrictions.
|
|
84
|
+
# @param expiration_date_not_detected_action [String] What to do when no expiration date can be read
|
|
85
|
+
# (`EXPIRATION_DATE_NOT_DETECTED`). Default `NO_ACTION` because many identity documents print no expiry date.
|
|
86
|
+
# Note: a *detected and past* expiry date always declines (`DOCUMENT_EXPIRED`), regardless of this option.
|
|
87
|
+
# @param invalid_mrz_action [String] What to do when the extracted MRZ fails check-digit validation
|
|
88
|
+
# (`MRZ_VALIDATION_FAILED`). A missing MRZ raises no warning on this endpoint. Only relevant for documents that
|
|
89
|
+
# carry an MRZ. `REVIEW` is not supported on this endpoint and returns `400`.
|
|
90
|
+
# @param inconsistent_data_action [String] What to do when extracted data is internally inconsistent:
|
|
91
|
+
# `DATA_INCONSISTENT`, `MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAME` (visual zone disagrees with the MRZ), or
|
|
92
|
+
# `DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTS`.
|
|
93
|
+
# @param critical_field_occlusion_action [String] What to do when a critical printed field was physically
|
|
94
|
+
# covered on the capture (`CRITICAL_FIELD_OCCLUSION_DETECTED`) - an identity number, a name, the date of birth,
|
|
95
|
+
# or the expiry date. Declines by default, like this endpoint's other document-integrity risks: covering the
|
|
96
|
+
# numbers a report is reconciled against is what a redacted document looks like. The value read for a covered
|
|
97
|
+
# field is dropped f...
|
|
98
|
+
# @param document_or_personal_number_format_mismatch_action [String] What to do when a number does not match the
|
|
99
|
+
# format its issuing authority uses for that document type (`DOCUMENT_NUMBER_FORMAT_MISMATCH`,
|
|
100
|
+
# `PERSONAL_NUMBER_FORMAT_MISMATCH`). Default `NO_ACTION`, which reports the warning without changing the
|
|
101
|
+
# status. `REVIEW` is not supported on this endpoint and returns `400`.
|
|
102
|
+
# @param preferred_characters [String] Preferred script for name/address fields on documents that print both
|
|
103
|
+
# Latin and non-Latin text (Arabic, Cyrillic, CJK, …). `latin` returns transliterated/Latin values; `non_latin`
|
|
104
|
+
# prefers the native script.
|
|
105
|
+
# @param save_api_request [Boolean] When `true` (default), persists the call as an API-type session - visible in
|
|
106
|
+
# the Business Console, retrievable via `GET /v3/session/{sessionId}/decision/` using the returned `request_id`,
|
|
107
|
+
# announced through a `status.updated` webhook, and with document images returned as media URLs. When `false`,
|
|
108
|
+
# nothing is stored, `request_id` is a transient UUID, and images are returned inline as base64 JPEG str...
|
|
109
|
+
# @param vendor_data [String] Optional opaque string (your internal user id, email, UUID…) stored on the
|
|
110
|
+
# persisted session and echoed back in the response. Use it to correlate API calls with your own records and to
|
|
111
|
+
# filter sessions later.
|
|
112
|
+
# @param metadata [Hash] Optional JSON object stored with the session (when `save_api_request=true`) and echoed
|
|
113
|
+
# back in the response. In multipart requests, send it as a JSON-encoded string field (e.g.
|
|
114
|
+
# `metadata={"flow":"onboarding"}`) - it is parsed into an object.
|
|
115
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
116
|
+
# @return [Didit::Types::IdVerificationVerifyResponse]
|
|
117
|
+
def verify(
|
|
118
|
+
front_image:,
|
|
119
|
+
front_image_password: OMIT,
|
|
120
|
+
back_image: OMIT,
|
|
121
|
+
back_image_password: OMIT,
|
|
122
|
+
perform_document_liveness: OMIT,
|
|
123
|
+
minimum_age: OMIT,
|
|
124
|
+
expiration_date_not_detected_action: OMIT,
|
|
125
|
+
invalid_mrz_action: OMIT,
|
|
126
|
+
inconsistent_data_action: OMIT,
|
|
127
|
+
critical_field_occlusion_action: OMIT,
|
|
128
|
+
document_or_personal_number_format_mismatch_action: OMIT,
|
|
129
|
+
preferred_characters: OMIT,
|
|
130
|
+
save_api_request: OMIT,
|
|
131
|
+
vendor_data: OMIT,
|
|
132
|
+
metadata: OMIT,
|
|
133
|
+
request_options: nil
|
|
134
|
+
)
|
|
135
|
+
@client.request(
|
|
136
|
+
:post,
|
|
137
|
+
"/v3/id-verification/",
|
|
138
|
+
body: {
|
|
139
|
+
"front_image" => front_image,
|
|
140
|
+
"front_image_password" => front_image_password,
|
|
141
|
+
"back_image" => back_image,
|
|
142
|
+
"back_image_password" => back_image_password,
|
|
143
|
+
"perform_document_liveness" => perform_document_liveness,
|
|
144
|
+
"minimum_age" => minimum_age,
|
|
145
|
+
"expiration_date_not_detected_action" => expiration_date_not_detected_action,
|
|
146
|
+
"invalid_mrz_action" => invalid_mrz_action,
|
|
147
|
+
"inconsistent_data_action" => inconsistent_data_action,
|
|
148
|
+
"critical_field_occlusion_action" => critical_field_occlusion_action,
|
|
149
|
+
"document_or_personal_number_format_mismatch_action" => document_or_personal_number_format_mismatch_action,
|
|
150
|
+
"preferred_characters" => preferred_characters,
|
|
151
|
+
"save_api_request" => save_api_request,
|
|
152
|
+
"vendor_data" => vendor_data,
|
|
153
|
+
"metadata" => metadata
|
|
154
|
+
},
|
|
155
|
+
encoding: :multipart,
|
|
156
|
+
file_fields: %w[back_image front_image],
|
|
157
|
+
response: Types::IdVerificationVerifyResponse,
|
|
158
|
+
request_options: request_options
|
|
159
|
+
)
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
end
|