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,111 @@
|
|
|
1
|
+
# Code generated by codegen from openapi/*.json. DO NOT EDIT.
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Didit
|
|
5
|
+
module Types
|
|
6
|
+
# What the list holds: `face`, `document` (document number), `phone`, `email`, `ip_address` (IP address or CIDR
|
|
7
|
+
# range), `device_fingerprint`, `wallet_address`, `bank_account`, `country` (ISO 3166-1 alpha-3), `user` or
|
|
8
|
+
# `business` (your `vendor_data`), or `key` (any string). It decides how entry values are validated and matched.
|
|
9
|
+
# Cannot be changed later.
|
|
10
|
+
module ListsCreateParamsEntryType
|
|
11
|
+
FACE = "face"
|
|
12
|
+
DOCUMENT = "document"
|
|
13
|
+
PHONE = "phone"
|
|
14
|
+
EMAIL = "email"
|
|
15
|
+
IP_ADDRESS = "ip_address"
|
|
16
|
+
DEVICE_FINGERPRINT = "device_fingerprint"
|
|
17
|
+
WALLET_ADDRESS = "wallet_address"
|
|
18
|
+
BANK_ACCOUNT = "bank_account"
|
|
19
|
+
COUNTRY = "country"
|
|
20
|
+
USER = "user"
|
|
21
|
+
BUSINESS = "business"
|
|
22
|
+
KEY = "key"
|
|
23
|
+
|
|
24
|
+
VALUES = [FACE, DOCUMENT, PHONE, EMAIL, IP_ADDRESS, DEVICE_FINGERPRINT, WALLET_ADDRESS, BANK_ACCOUNT, COUNTRY, USER, BUSINESS, KEY].freeze
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# `allowlist` or `custom`. `blocklist` is refused with `400`.
|
|
28
|
+
module ListsCreateParamsListType
|
|
29
|
+
ALLOWLIST = "allowlist"
|
|
30
|
+
CUSTOM = "custom"
|
|
31
|
+
|
|
32
|
+
VALUES = [ALLOWLIST, CUSTOM].freeze
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Face lists with `reference_session_id`: which of the session's images the face is taken from. `liveness`
|
|
36
|
+
# (default) is the liveness selfie. `front_image_camera_front` and `back_image_camera_front` are the selfies the
|
|
37
|
+
# front camera took while the user photographed the front or back of their document: accepted only on the system
|
|
38
|
+
# face blocklist, with `reference_session_id` and an empty `value`. Each selfie can be added once and must show
|
|
39
|
+
# one clear face.
|
|
40
|
+
module ListsEntriesCreateParamsFaceImageSource
|
|
41
|
+
LIVENESS = "liveness"
|
|
42
|
+
FRONT_IMAGE_CAMERA_FRONT = "front_image_camera_front"
|
|
43
|
+
BACK_IMAGE_CAMERA_FRONT = "back_image_camera_front"
|
|
44
|
+
|
|
45
|
+
VALUES = [LIVENESS, FRONT_IMAGE_CAMERA_FRONT, BACK_IMAGE_CAMERA_FRONT].freeze
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# What `reference_object_uuid` points to.
|
|
49
|
+
module ListsEntriesCreateParamsMetadataReferenceType
|
|
50
|
+
TRANSACTION = "transaction"
|
|
51
|
+
VENDOR_USER = "vendor_user"
|
|
52
|
+
VENDOR_BUSINESS = "vendor_business"
|
|
53
|
+
|
|
54
|
+
VALUES = [TRANSACTION, VENDOR_USER, VENDOR_BUSINESS].freeze
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Known values of an open enum: the API may send others.
|
|
58
|
+
module ListsListParamsEntryType
|
|
59
|
+
FACE = "face"
|
|
60
|
+
DOCUMENT = "document"
|
|
61
|
+
PHONE = "phone"
|
|
62
|
+
EMAIL = "email"
|
|
63
|
+
IP_ADDRESS = "ip_address"
|
|
64
|
+
DEVICE_FINGERPRINT = "device_fingerprint"
|
|
65
|
+
WALLET_ADDRESS = "wallet_address"
|
|
66
|
+
BANK_ACCOUNT = "bank_account"
|
|
67
|
+
COUNTRY = "country"
|
|
68
|
+
USER = "user"
|
|
69
|
+
BUSINESS = "business"
|
|
70
|
+
KEY = "key"
|
|
71
|
+
|
|
72
|
+
VALUES = [FACE, DOCUMENT, PHONE, EMAIL, IP_ADDRESS, DEVICE_FINGERPRINT, WALLET_ADDRESS, BANK_ACCOUNT, COUNTRY, USER, BUSINESS, KEY].freeze
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Known values of an open enum: the API may send others.
|
|
76
|
+
module ListsListParamsListType
|
|
77
|
+
BLOCKLIST = "blocklist"
|
|
78
|
+
ALLOWLIST = "allowlist"
|
|
79
|
+
CUSTOM = "custom"
|
|
80
|
+
|
|
81
|
+
VALUES = [BLOCKLIST, ALLOWLIST, CUSTOM].freeze
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Known values of an open enum: the API may send others.
|
|
85
|
+
module ListsListParamsOrdering
|
|
86
|
+
CREATED_AT = "-created_at"
|
|
87
|
+
CREATED_AT_ = "created_at"
|
|
88
|
+
|
|
89
|
+
VALUES = [CREATED_AT, CREATED_AT_].freeze
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
class ListsEntriesListResponse < Didit::Model
|
|
93
|
+
field :count, "count", :integer
|
|
94
|
+
field :next, "next", :string
|
|
95
|
+
field :previous, "previous", :string
|
|
96
|
+
field :results, "results", [:array, "ComplianceListEntry"]
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
class ListsListResponse < Didit::Model
|
|
100
|
+
field :count, "count", :integer
|
|
101
|
+
field :next, "next", :string
|
|
102
|
+
field :previous, "previous", :string
|
|
103
|
+
field :results, "results", [:array, "ComplianceList"]
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
class ListsUpdateResponse < Didit::Model
|
|
107
|
+
field :name, "name", :string
|
|
108
|
+
field :description, "description", :string
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# Code generated by codegen from openapi/*.json. DO NOT EDIT.
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Didit
|
|
5
|
+
module Types
|
|
6
|
+
# `accepted`: stored and evaluated. `replayed`: already stored with the same content. `rejected`: not stored; see
|
|
7
|
+
# `errors`.
|
|
8
|
+
module MonitoringEventsCreateBatchResponseResultsOutcome
|
|
9
|
+
ACCEPTED = "accepted"
|
|
10
|
+
REPLAYED = "replayed"
|
|
11
|
+
REJECTED = "rejected"
|
|
12
|
+
|
|
13
|
+
VALUES = [ACCEPTED, REPLAYED, REJECTED].freeze
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Accepted and replayed items only.
|
|
17
|
+
module MonitoringEventsCreateBatchResponseResultsRetentionClass
|
|
18
|
+
LOW_VALUE = "low_value"
|
|
19
|
+
STANDARD = "standard"
|
|
20
|
+
RISK_RELEVANT = "risk_relevant"
|
|
21
|
+
MONETARY_OR_COMPLIANCE = "monetary_or_compliance"
|
|
22
|
+
|
|
23
|
+
VALUES = [LOW_VALUE, STANDARD, RISK_RELEVANT, MONETARY_OR_COMPLIANCE].freeze
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# `TEST` rules record the match but apply no actions.
|
|
27
|
+
module MonitoringEventsCreateBatchResponseResultsRuleMatchesMode
|
|
28
|
+
ACTIVE = "ACTIVE"
|
|
29
|
+
TEST = "TEST"
|
|
30
|
+
|
|
31
|
+
VALUES = [ACTIVE, TEST].freeze
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Accepted and replayed items only.
|
|
35
|
+
module MonitoringEventsCreateBatchResponseResultsStatus
|
|
36
|
+
ACCEPTED = "ACCEPTED"
|
|
37
|
+
APPROVED = "APPROVED"
|
|
38
|
+
IN_REVIEW = "IN_REVIEW"
|
|
39
|
+
DECLINED = "DECLINED"
|
|
40
|
+
|
|
41
|
+
VALUES = [ACCEPTED, APPROVED, IN_REVIEW, DECLINED].freeze
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Event category.
|
|
45
|
+
module MonitoringEventsCreateParamsEventCategory
|
|
46
|
+
AUTH = "auth"
|
|
47
|
+
SESSION = "session"
|
|
48
|
+
GAMEPLAY = "gameplay"
|
|
49
|
+
BONUS = "bonus"
|
|
50
|
+
AFFILIATE = "affiliate"
|
|
51
|
+
PAYMENT = "payment"
|
|
52
|
+
DISPUTE = "dispute"
|
|
53
|
+
SECURITY = "security"
|
|
54
|
+
RESPONSIBLE_GAMBLING = "responsible_gambling"
|
|
55
|
+
CUSTOM = "custom"
|
|
56
|
+
|
|
57
|
+
VALUES = [AUTH, SESSION, GAMEPLAY, BONUS, AFFILIATE, PAYMENT, DISPUTE, SECURITY, RESPONSIBLE_GAMBLING, CUSTOM].freeze
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Known values of an open enum: the API may send others.
|
|
61
|
+
module MonitoringEventsCreateSdkTokenParamsAllowedEventCategories
|
|
62
|
+
AUTH = "auth"
|
|
63
|
+
SESSION = "session"
|
|
64
|
+
GAMEPLAY = "gameplay"
|
|
65
|
+
BONUS = "bonus"
|
|
66
|
+
AFFILIATE = "affiliate"
|
|
67
|
+
PAYMENT = "payment"
|
|
68
|
+
DISPUTE = "dispute"
|
|
69
|
+
SECURITY = "security"
|
|
70
|
+
RESPONSIBLE_GAMBLING = "responsible_gambling"
|
|
71
|
+
CUSTOM = "custom"
|
|
72
|
+
|
|
73
|
+
VALUES = [AUTH, SESSION, GAMEPLAY, BONUS, AFFILIATE, PAYMENT, DISPUTE, SECURITY, RESPONSIBLE_GAMBLING, CUSTOM].freeze
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# Known values of an open enum: the API may send others.
|
|
77
|
+
module MonitoringEventsCreateSdkTokenResponseAllowedEventCategories
|
|
78
|
+
AUTH = "auth"
|
|
79
|
+
SESSION = "session"
|
|
80
|
+
GAMEPLAY = "gameplay"
|
|
81
|
+
BONUS = "bonus"
|
|
82
|
+
AFFILIATE = "affiliate"
|
|
83
|
+
PAYMENT = "payment"
|
|
84
|
+
DISPUTE = "dispute"
|
|
85
|
+
SECURITY = "security"
|
|
86
|
+
RESPONSIBLE_GAMBLING = "responsible_gambling"
|
|
87
|
+
CUSTOM = "custom"
|
|
88
|
+
|
|
89
|
+
VALUES = [AUTH, SESSION, GAMEPLAY, BONUS, AFFILIATE, PAYMENT, DISPUTE, SECURITY, RESPONSIBLE_GAMBLING, CUSTOM].freeze
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# Known values of an open enum: the API may send others.
|
|
93
|
+
module MonitoringEventsListParamsEventCategory
|
|
94
|
+
AUTH = "auth"
|
|
95
|
+
SESSION = "session"
|
|
96
|
+
GAMEPLAY = "gameplay"
|
|
97
|
+
BONUS = "bonus"
|
|
98
|
+
AFFILIATE = "affiliate"
|
|
99
|
+
PAYMENT = "payment"
|
|
100
|
+
DISPUTE = "dispute"
|
|
101
|
+
SECURITY = "security"
|
|
102
|
+
RESPONSIBLE_GAMBLING = "responsible_gambling"
|
|
103
|
+
CUSTOM = "custom"
|
|
104
|
+
|
|
105
|
+
VALUES = [AUTH, SESSION, GAMEPLAY, BONUS, AFFILIATE, PAYMENT, DISPUTE, SECURITY, RESPONSIBLE_GAMBLING, CUSTOM].freeze
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# Known values of an open enum: the API may send others.
|
|
109
|
+
module MonitoringEventsListParamsRetentionClass
|
|
110
|
+
LOW_VALUE = "low_value"
|
|
111
|
+
STANDARD = "standard"
|
|
112
|
+
RISK_RELEVANT = "risk_relevant"
|
|
113
|
+
MONETARY_OR_COMPLIANCE = "monetary_or_compliance"
|
|
114
|
+
|
|
115
|
+
VALUES = [LOW_VALUE, STANDARD, RISK_RELEVANT, MONETARY_OR_COMPLIANCE].freeze
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
# Known values of an open enum: the API may send others.
|
|
119
|
+
module MonitoringEventsListParamsStatus
|
|
120
|
+
ACCEPTED = "ACCEPTED"
|
|
121
|
+
APPROVED = "APPROVED"
|
|
122
|
+
IN_REVIEW = "IN_REVIEW"
|
|
123
|
+
DECLINED = "DECLINED"
|
|
124
|
+
|
|
125
|
+
VALUES = [ACCEPTED, APPROVED, IN_REVIEW, DECLINED].freeze
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# Known values of an open enum: the API may send others.
|
|
129
|
+
module MonitoringEventsListParamsSubjectEntityType
|
|
130
|
+
INDIVIDUAL = "individual"
|
|
131
|
+
COMPANY = "company"
|
|
132
|
+
|
|
133
|
+
VALUES = [INDIVIDUAL, COMPANY].freeze
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
# Known values of an open enum: the API may send others.
|
|
137
|
+
module MonitoringEventsRetrieveSubjectTimelineParamsEntityType
|
|
138
|
+
INDIVIDUAL = "individual"
|
|
139
|
+
COMPANY = "company"
|
|
140
|
+
|
|
141
|
+
VALUES = [INDIVIDUAL, COMPANY].freeze
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# Known values of an open enum: the API may send others.
|
|
145
|
+
module MonitoringEventsRetrieveSubjectTimelineParamsEventCategory
|
|
146
|
+
AUTH = "auth"
|
|
147
|
+
SESSION = "session"
|
|
148
|
+
GAMEPLAY = "gameplay"
|
|
149
|
+
BONUS = "bonus"
|
|
150
|
+
AFFILIATE = "affiliate"
|
|
151
|
+
PAYMENT = "payment"
|
|
152
|
+
DISPUTE = "dispute"
|
|
153
|
+
SECURITY = "security"
|
|
154
|
+
RESPONSIBLE_GAMBLING = "responsible_gambling"
|
|
155
|
+
CUSTOM = "custom"
|
|
156
|
+
|
|
157
|
+
VALUES = [AUTH, SESSION, GAMEPLAY, BONUS, AFFILIATE, PAYMENT, DISPUTE, SECURITY, RESPONSIBLE_GAMBLING, CUSTOM].freeze
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# Known values of an open enum: the API may send others.
|
|
161
|
+
module MonitoringEventsRetrieveSubjectTimelineParamsRetentionClass
|
|
162
|
+
LOW_VALUE = "low_value"
|
|
163
|
+
STANDARD = "standard"
|
|
164
|
+
RISK_RELEVANT = "risk_relevant"
|
|
165
|
+
MONETARY_OR_COMPLIANCE = "monetary_or_compliance"
|
|
166
|
+
|
|
167
|
+
VALUES = [LOW_VALUE, STANDARD, RISK_RELEVANT, MONETARY_OR_COMPLIANCE].freeze
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# Known values of an open enum: the API may send others.
|
|
171
|
+
module MonitoringEventsRetrieveSubjectTimelineParamsStatus
|
|
172
|
+
ACCEPTED = "ACCEPTED"
|
|
173
|
+
APPROVED = "APPROVED"
|
|
174
|
+
IN_REVIEW = "IN_REVIEW"
|
|
175
|
+
DECLINED = "DECLINED"
|
|
176
|
+
|
|
177
|
+
VALUES = [ACCEPTED, APPROVED, IN_REVIEW, DECLINED].freeze
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
class MonitoringEventsCreateBatchResponse < Didit::Model
|
|
181
|
+
field :accepted_count, "accepted_count", :integer
|
|
182
|
+
field :replayed_count, "replayed_count", :integer
|
|
183
|
+
field :rejected_count, "rejected_count", :integer
|
|
184
|
+
field :results, "results", [:array, "MonitoringEventsCreateBatchResponseResults"]
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
# Outcome of one item. Accepted and replayed items also carry every field of `MonitoringEventIngestResult`;
|
|
188
|
+
# rejected items carry `event_id` and `errors` instead.
|
|
189
|
+
class MonitoringEventsCreateBatchResponseResults < Didit::Model
|
|
190
|
+
field :index, "index", :integer
|
|
191
|
+
field :outcome, "outcome", :string
|
|
192
|
+
field :event_id, "event_id", :string
|
|
193
|
+
field :errors, "errors", :any
|
|
194
|
+
field :event_uuid, "event_uuid", :string
|
|
195
|
+
field :status, "status", :string
|
|
196
|
+
field :score, "score", :integer
|
|
197
|
+
field :rules_evaluated_count, "rules_evaluated_count", :integer
|
|
198
|
+
field :rules_matched_count, "rules_matched_count", :integer
|
|
199
|
+
field :correlation_pending, "correlation_pending", :boolean
|
|
200
|
+
field :retention_class, "retention_class", :string
|
|
201
|
+
field :expires_at, "expires_at", :datetime
|
|
202
|
+
field :idempotent_replay, "idempotent_replay", :boolean
|
|
203
|
+
field :rule_matches, "rule_matches", [:array, "MonitoringEventsCreateBatchResponseResultsRuleMatches"]
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
class MonitoringEventsCreateBatchResponseResultsRuleMatches < Didit::Model
|
|
207
|
+
field :rule_id, "rule_id", :string
|
|
208
|
+
field :library_key, "library_key", :string
|
|
209
|
+
field :mode, "mode", :string
|
|
210
|
+
field :is_async, "is_async", :boolean
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
class MonitoringEventsCreateSdkTokenResponse < Didit::Model
|
|
214
|
+
field :monitoring_token, "monitoring_token", :string
|
|
215
|
+
field :expires_at, "expires_at", :datetime
|
|
216
|
+
field :allowed_event_categories, "allowed_event_categories", [:array, :string]
|
|
217
|
+
field :max_uses, "max_uses", :integer
|
|
218
|
+
field :bind_to_origin, "bind_to_origin", :string
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
class MonitoringEventsRetrieveEnrichmentMetricsResponse < Didit::Model
|
|
222
|
+
field :events_ingested, "events_ingested", :integer
|
|
223
|
+
field :events_rejected, "events_rejected", :integer
|
|
224
|
+
field :enrichment_lookups, "enrichment_lookups", :integer
|
|
225
|
+
field :enrichment_cache_hits, "enrichment_cache_hits", :integer
|
|
226
|
+
field :enrichment_provider_calls, "enrichment_provider_calls", :integer
|
|
227
|
+
field :enrichment_skipped_low_value, "enrichment_skipped_low_value", :integer
|
|
228
|
+
field :unique_ips_seen, "unique_ips_seen", :integer
|
|
229
|
+
field :period_days, "period_days", :integer
|
|
230
|
+
field :cache_hit_rate, "cache_hit_rate", :float
|
|
231
|
+
field :unique_ip_ratio, "unique_ip_ratio", :float
|
|
232
|
+
field :provider_calls_per_1k_events, "provider_calls_per_1k_events", :float
|
|
233
|
+
end
|
|
234
|
+
end
|
|
235
|
+
end
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Code generated by codegen from openapi/*.json. DO NOT EDIT.
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Didit
|
|
5
|
+
module Types
|
|
6
|
+
# Known values of an open enum: the API may send others.
|
|
7
|
+
module NetworksListParamsScope
|
|
8
|
+
IDENTITY = "identity"
|
|
9
|
+
TRANSACTIONS = "transactions"
|
|
10
|
+
|
|
11
|
+
VALUES = [IDENTITY, TRANSACTIONS].freeze
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Why cross-organization signals do not apply, checked in this order. `plan`: the organization's plan does not
|
|
15
|
+
# include the cross-organization fraud network (it needs the Enterprise plan), whatever the sharing mode.
|
|
16
|
+
# `sharing_mode`: the plan includes it, but the sharing mode is `private` or `off`. Null when
|
|
17
|
+
# `cross_org_available` is `true`.
|
|
18
|
+
module NetworksListResponseCrossOrgUnavailableReason
|
|
19
|
+
PLAN = "plan"
|
|
20
|
+
SHARING_MODE = "sharing_mode"
|
|
21
|
+
|
|
22
|
+
VALUES = [PLAN, SHARING_MODE].freeze
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# The organization's cross-organization sharing mode. Only `global` compares networks across organizations;
|
|
26
|
+
# `private` and `off` keep them to the organization's own history.
|
|
27
|
+
module NetworksListResponseSharingMode
|
|
28
|
+
OFF = "off"
|
|
29
|
+
PRIVATE = "private"
|
|
30
|
+
GLOBAL = "global"
|
|
31
|
+
|
|
32
|
+
VALUES = [OFF, PRIVATE, GLOBAL].freeze
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Known values of an open enum: the API may send others.
|
|
36
|
+
module NetworksRetrieveGraphParamsDepth
|
|
37
|
+
V_1 = "1"
|
|
38
|
+
V_2 = "2"
|
|
39
|
+
V_3 = "3"
|
|
40
|
+
ALL = "all"
|
|
41
|
+
|
|
42
|
+
VALUES = [V_1, V_2, V_3, ALL].freeze
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Known values of an open enum: the API may send others.
|
|
46
|
+
module NetworksRetrieveGraphParamsFocusKind
|
|
47
|
+
VENDOR_USER = "vendor_user"
|
|
48
|
+
VENDOR_BUSINESS = "vendor_business"
|
|
49
|
+
TRANSACTION_PARTY = "transaction_party"
|
|
50
|
+
|
|
51
|
+
VALUES = [VENDOR_USER, VENDOR_BUSINESS, TRANSACTION_PARTY].freeze
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Known values of an open enum: the API may send others.
|
|
55
|
+
module NetworksRetrieveTimelineParamsContract
|
|
56
|
+
V_2 = "2"
|
|
57
|
+
|
|
58
|
+
VALUES = [V_2].freeze
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Known values of an open enum: the API may send others.
|
|
62
|
+
module NetworksRetrieveTimelineParamsEventType
|
|
63
|
+
NETWORK_DETECTED = "network_detected"
|
|
64
|
+
SIGNAL_OBSERVED = "signal_observed"
|
|
65
|
+
NETWORK_ACTIVE = "network_active"
|
|
66
|
+
NETWORK_IN_REVIEW = "network_in_review"
|
|
67
|
+
NETWORK_RESOLVED = "network_resolved"
|
|
68
|
+
NETWORK_DISMISSED = "network_dismissed"
|
|
69
|
+
VERIFICATION_ATTEMPT = "verification_attempt"
|
|
70
|
+
TRANSACTION = "transaction"
|
|
71
|
+
LOGIN = "login"
|
|
72
|
+
RULE_HIT = "rule_hit"
|
|
73
|
+
CASE_LINKED = "case_linked"
|
|
74
|
+
NOTE_ADDED = "note_added"
|
|
75
|
+
|
|
76
|
+
VALUES = [NETWORK_DETECTED, SIGNAL_OBSERVED, NETWORK_ACTIVE, NETWORK_IN_REVIEW, NETWORK_RESOLVED, NETWORK_DISMISSED, VERIFICATION_ATTEMPT, TRANSACTION, LOGIN, RULE_HIT, CASE_LINKED, NOTE_ADDED].freeze
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
class NetworksListMembersResponse < Didit::Model
|
|
80
|
+
field :results, "results", [:array, "NetworkMember"]
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
class NetworksListResponse < Didit::Model
|
|
84
|
+
field :count, "count", :integer
|
|
85
|
+
field :next, "next", :integer
|
|
86
|
+
field :previous, "previous", :integer
|
|
87
|
+
field :results, "results", [:array, "NetworkListItem"]
|
|
88
|
+
field :kpis, "kpis", "NetworksListResponseKpis"
|
|
89
|
+
field :counts, "counts", "NetworkListCounts"
|
|
90
|
+
field :sharing_mode, "sharing_mode", :string
|
|
91
|
+
field :cross_org_available, "cross_org_available", :boolean
|
|
92
|
+
field :cross_org_unavailable_reason, "cross_org_unavailable_reason", :string
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# Each key is {value, delta} over the results matching the current filters. Omitted when `summary=false`.
|
|
96
|
+
class NetworksListResponseKpis < Didit::Model
|
|
97
|
+
field :active, "active", :any
|
|
98
|
+
field :in_review, "in_review", :any
|
|
99
|
+
field :applicants_involved, "applicants_involved", :any
|
|
100
|
+
field :detected_this_period, "detected_this_period", :any
|
|
101
|
+
field :false_positive_rate, "false_positive_rate", :any
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
class NetworksListSignalsResponse < Didit::Model
|
|
105
|
+
field :results, "results", [:array, "NetworkSignal"]
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
class NetworksNotesListResponse < Didit::Model
|
|
109
|
+
field :count, "count", :integer
|
|
110
|
+
field :next, "next", :string
|
|
111
|
+
field :previous, "previous", :string
|
|
112
|
+
field :results, "results", [:array, "NetworkNote"]
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
class NetworksRetrieveTimelineResponse < Didit::Model
|
|
116
|
+
field :results, "results", [:array, "NetworkTimelineEvent"]
|
|
117
|
+
field :next_cursor, "next_cursor", :string
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Code generated by codegen from openapi/*.json. DO NOT EDIT.
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Didit
|
|
5
|
+
module Types
|
|
6
|
+
# Always `PASSIVE` for this endpoint.
|
|
7
|
+
module PassiveLivenessCheckResponseLivenessMethod
|
|
8
|
+
PASSIVE = "PASSIVE"
|
|
9
|
+
|
|
10
|
+
VALUES = [PASSIVE].freeze
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# `Declined` when at least one `error`-severity warning fired (no face, low score, presentation attack, or a
|
|
14
|
+
# blocklist hit); `Approved` otherwise. `warning`/`information` entries (multiple faces, duplicates) never decline
|
|
15
|
+
# on their own.
|
|
16
|
+
module PassiveLivenessCheckResponseLivenessStatus
|
|
17
|
+
APPROVED = "Approved"
|
|
18
|
+
DECLINED = "Declined"
|
|
19
|
+
|
|
20
|
+
VALUES = [APPROVED, DECLINED].freeze
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Feature that raised the warning. Always `LIVENESS` on this endpoint.
|
|
24
|
+
module PassiveLivenessCheckResponseLivenessWarningsFeature
|
|
25
|
+
LIVENESS = "LIVENESS"
|
|
26
|
+
|
|
27
|
+
VALUES = [LIVENESS].freeze
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Severity. `error` warnings drive `status` to `Declined`; `warning` and `information` entries are advisory and
|
|
31
|
+
# never decline on their own.
|
|
32
|
+
module PassiveLivenessCheckResponseLivenessWarningsLogType
|
|
33
|
+
ERROR = "error"
|
|
34
|
+
WARNING = "warning"
|
|
35
|
+
INFORMATION = "information"
|
|
36
|
+
|
|
37
|
+
VALUES = [ERROR, WARNING, INFORMATION].freeze
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Machine-readable risk code.
|
|
41
|
+
module PassiveLivenessCheckResponseLivenessWarningsRisk
|
|
42
|
+
NO_FACE_DETECTED = "NO_FACE_DETECTED"
|
|
43
|
+
LOW_LIVENESS_SCORE = "LOW_LIVENESS_SCORE"
|
|
44
|
+
LIVENESS_FACE_ATTACK = "LIVENESS_FACE_ATTACK"
|
|
45
|
+
MULTIPLE_FACES_DETECTED = "MULTIPLE_FACES_DETECTED"
|
|
46
|
+
FACE_IN_BLOCKLIST = "FACE_IN_BLOCKLIST"
|
|
47
|
+
POSSIBLE_FACE_IN_BLOCKLIST = "POSSIBLE_FACE_IN_BLOCKLIST"
|
|
48
|
+
DUPLICATED_FACE = "DUPLICATED_FACE"
|
|
49
|
+
POSSIBLE_DUPLICATED_FACE = "POSSIBLE_DUPLICATED_FACE"
|
|
50
|
+
|
|
51
|
+
VALUES = [NO_FACE_DETECTED, LOW_LIVENESS_SCORE, LIVENESS_FACE_ATTACK, MULTIPLE_FACES_DETECTED, FACE_IN_BLOCKLIST, POSSIBLE_FACE_IN_BLOCKLIST, DUPLICATED_FACE, POSSIBLE_DUPLICATED_FACE].freeze
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
class PassiveLivenessCheckResponse < Didit::Model
|
|
55
|
+
field :request_id, "request_id", :string
|
|
56
|
+
field :liveness, "liveness", "PassiveLivenessCheckResponseLiveness"
|
|
57
|
+
field :vendor_data, "vendor_data", :string
|
|
58
|
+
field :metadata, "metadata", :any
|
|
59
|
+
field :created_at, "created_at", :datetime
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
class PassiveLivenessCheckResponseLiveness < Didit::Model
|
|
63
|
+
field :status, "status", :string
|
|
64
|
+
field :method_, "method", :string
|
|
65
|
+
field :score, "score", :float
|
|
66
|
+
field :user_image, "user_image", "PassiveLivenessCheckResponseLivenessUserImage"
|
|
67
|
+
field :warnings, "warnings", [:array, "PassiveLivenessCheckResponseLivenessWarnings"]
|
|
68
|
+
field :face_quality, "face_quality", :float
|
|
69
|
+
field :face_luminance, "face_luminance", :float
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Face-detection results for the submitted image.
|
|
73
|
+
class PassiveLivenessCheckResponseLivenessUserImage < Didit::Model
|
|
74
|
+
field :entities, "entities", [:array, "PassiveLivenessCheckResponseLivenessUserImageEntities"]
|
|
75
|
+
field :best_angle, "best_angle", :integer
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
class PassiveLivenessCheckResponseLivenessUserImageEntities < Didit::Model
|
|
79
|
+
field :bbox, "bbox", [:array, :integer]
|
|
80
|
+
field :confidence, "confidence", :float
|
|
81
|
+
field :age, "age", :float
|
|
82
|
+
field :gender, "gender", :string
|
|
83
|
+
field :race, "race", :string
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
class PassiveLivenessCheckResponseLivenessWarnings < Didit::Model
|
|
87
|
+
field :risk, "risk", :string
|
|
88
|
+
field :feature, "feature", :string
|
|
89
|
+
field :additional_data, "additional_data", :any
|
|
90
|
+
field :log_type, "log_type", :string
|
|
91
|
+
field :short_description, "short_description", :string
|
|
92
|
+
field :long_description, "long_description", :string
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Code generated by codegen from openapi/*.json. DO NOT EDIT.
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Didit
|
|
5
|
+
module Types
|
|
6
|
+
# What to do when the carrier lookup flags the number as a temporary/burner line (`phone.is_disposable`).
|
|
7
|
+
# `DECLINE` flips the final `status` to `Declined`; `NO_ACTION` records the risk in `phone.warnings`.
|
|
8
|
+
module PhoneCheckCodeParamsDisposableNumberAction
|
|
9
|
+
NO_ACTION = "NO_ACTION"
|
|
10
|
+
DECLINE = "DECLINE"
|
|
11
|
+
|
|
12
|
+
VALUES = [NO_ACTION, DECLINE].freeze
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# What to do when the same number was already used by a different user (different `vendor_data`) of your
|
|
16
|
+
# application. `DECLINE` flips the final `status` to `Declined`; `NO_ACTION` records the risk in `phone.warnings`
|
|
17
|
+
# and fills `phone.matches`.
|
|
18
|
+
module PhoneCheckCodeParamsDuplicatedPhoneNumberAction
|
|
19
|
+
NO_ACTION = "NO_ACTION"
|
|
20
|
+
DECLINE = "DECLINE"
|
|
21
|
+
|
|
22
|
+
VALUES = [NO_ACTION, DECLINE].freeze
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Action when the social footprint check finds the number registered on none of the platforms it covers. Only
|
|
26
|
+
# NO_ACTION and DECLINE are accepted on this endpoint; REVIEW is available on the workflow configuration key of
|
|
27
|
+
# the same name.
|
|
28
|
+
module PhoneCheckCodeParamsPhoneNoSocialPresenceAction
|
|
29
|
+
NO_ACTION = "NO_ACTION"
|
|
30
|
+
DECLINE = "DECLINE"
|
|
31
|
+
|
|
32
|
+
VALUES = [NO_ACTION, DECLINE].freeze
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# What to do when the carrier lookup reports a virtual line type - `voip`, `isp`, or `vpn` (`phone.is_virtual`).
|
|
36
|
+
# `DECLINE` flips the final `status` to `Declined`; `NO_ACTION` records the risk in `phone.warnings`.
|
|
37
|
+
module PhoneCheckCodeParamsVoipNumberAction
|
|
38
|
+
NO_ACTION = "NO_ACTION"
|
|
39
|
+
DECLINE = "DECLINE"
|
|
40
|
+
|
|
41
|
+
VALUES = [NO_ACTION, DECLINE].freeze
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Preferred delivery channel. If the channel is unavailable for the destination country or number, the message
|
|
45
|
+
# automatically falls back to SMS - the send still reports `Success`.
|
|
46
|
+
module PhoneSendCodeParamsOptionsPreferredChannel
|
|
47
|
+
WHATSAPP = "whatsapp"
|
|
48
|
+
SMS = "sms"
|
|
49
|
+
TELEGRAM = "telegram"
|
|
50
|
+
VOICE = "voice"
|
|
51
|
+
RCS = "rcs"
|
|
52
|
+
VIBER = "viber"
|
|
53
|
+
ZALO = "zalo"
|
|
54
|
+
|
|
55
|
+
VALUES = [WHATSAPP, SMS, TELEGRAM, VOICE, RCS, VIBER, ZALO].freeze
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Platform of the end user's device.
|
|
59
|
+
module PhoneSendCodeParamsSignalsDevicePlatform
|
|
60
|
+
ANDROID = "android"
|
|
61
|
+
IOS = "ios"
|
|
62
|
+
IPADOS = "ipados"
|
|
63
|
+
TVOS = "tvos"
|
|
64
|
+
WEB = "web"
|
|
65
|
+
|
|
66
|
+
VALUES = [ANDROID, IOS, IPADOS, TVOS, WEB].freeze
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|