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,314 @@
|
|
|
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 +regulatory_reports+ resource.
|
|
7
|
+
class RegulatoryReports < Didit::Resource
|
|
8
|
+
# Create standalone report
|
|
9
|
+
#
|
|
10
|
+
# Create a draft FIU report from the standalone Reports page: both case and template are required (unlike the
|
|
11
|
+
# case-scoped create, which can omit template).
|
|
12
|
+
#
|
|
13
|
+
# +POST /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/+
|
|
14
|
+
#
|
|
15
|
+
# @param case [String]
|
|
16
|
+
# @param template [String]
|
|
17
|
+
# @param report_type [String] Required unless a template is given; the template's report_type is used otherwise.
|
|
18
|
+
# @param jurisdiction [String] Required unless a template is given.
|
|
19
|
+
# @param transactions [Array<String>, nil] Transactions to attach; defaults to the case's linked transactions.
|
|
20
|
+
# @param rentity_id [String, nil]
|
|
21
|
+
# @param rentity_branch [String, nil]
|
|
22
|
+
# @param submission_code [String]
|
|
23
|
+
# @param entity_reference [String, nil]
|
|
24
|
+
# @param fiu_ref_number [String, nil]
|
|
25
|
+
# @param currency_code_local [String, nil]
|
|
26
|
+
# @param submission_date [Time, String, nil]
|
|
27
|
+
# @param reporting_person [Hash]
|
|
28
|
+
# @param location [Hash]
|
|
29
|
+
# @param reason [String, nil]
|
|
30
|
+
# @param action [String, nil]
|
|
31
|
+
# @param activity [String, nil]
|
|
32
|
+
# @param narrative [Hash]
|
|
33
|
+
# @param report_indicators [Array<String>]
|
|
34
|
+
# @param included_fields [Array<String>]
|
|
35
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
36
|
+
# @return [Didit::Types::RegulatoryReportDetail]
|
|
37
|
+
def create(
|
|
38
|
+
case:,
|
|
39
|
+
template:,
|
|
40
|
+
report_type: OMIT,
|
|
41
|
+
jurisdiction: OMIT,
|
|
42
|
+
transactions: OMIT,
|
|
43
|
+
rentity_id: OMIT,
|
|
44
|
+
rentity_branch: OMIT,
|
|
45
|
+
submission_code: OMIT,
|
|
46
|
+
entity_reference: OMIT,
|
|
47
|
+
fiu_ref_number: OMIT,
|
|
48
|
+
currency_code_local: OMIT,
|
|
49
|
+
submission_date: OMIT,
|
|
50
|
+
reporting_person: OMIT,
|
|
51
|
+
location: OMIT,
|
|
52
|
+
reason: OMIT,
|
|
53
|
+
action: OMIT,
|
|
54
|
+
activity: OMIT,
|
|
55
|
+
narrative: OMIT,
|
|
56
|
+
report_indicators: OMIT,
|
|
57
|
+
included_fields: OMIT,
|
|
58
|
+
request_options: nil
|
|
59
|
+
)
|
|
60
|
+
@client.request(
|
|
61
|
+
:post,
|
|
62
|
+
"/v3/organization/{organization_id}/application/{application_id}/regulatory-reports/",
|
|
63
|
+
body: {
|
|
64
|
+
"case" => binding.local_variable_get(:case),
|
|
65
|
+
"template" => template,
|
|
66
|
+
"report_type" => report_type,
|
|
67
|
+
"jurisdiction" => jurisdiction,
|
|
68
|
+
"transactions" => transactions,
|
|
69
|
+
"rentity_id" => rentity_id,
|
|
70
|
+
"rentity_branch" => rentity_branch,
|
|
71
|
+
"submission_code" => submission_code,
|
|
72
|
+
"entity_reference" => entity_reference,
|
|
73
|
+
"fiu_ref_number" => fiu_ref_number,
|
|
74
|
+
"currency_code_local" => currency_code_local,
|
|
75
|
+
"submission_date" => submission_date,
|
|
76
|
+
"reporting_person" => reporting_person,
|
|
77
|
+
"location" => location,
|
|
78
|
+
"reason" => reason,
|
|
79
|
+
"action" => action,
|
|
80
|
+
"activity" => activity,
|
|
81
|
+
"narrative" => narrative,
|
|
82
|
+
"report_indicators" => report_indicators,
|
|
83
|
+
"included_fields" => included_fields
|
|
84
|
+
},
|
|
85
|
+
scope: :application,
|
|
86
|
+
response: Types::RegulatoryReportDetail,
|
|
87
|
+
request_options: request_options
|
|
88
|
+
)
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Delete report
|
|
92
|
+
#
|
|
93
|
+
# Delete a regulatory report permanently. The report, its copied narrative and reasons, its transaction links,
|
|
94
|
+
# and its generated goAML XML and PDF are erased, including every stored version of those files. The report
|
|
95
|
+
# disappears from lists and download URLs stop working. Other records, including the case, transactions, people
|
|
96
|
+
# and companies, are not deleted. There is no undo.
|
|
97
|
+
#
|
|
98
|
+
# A draft or validated report can be deleted without a request body. Deleting a finalized report requires
|
|
99
|
+
# `confirm_delete: true` in the request body. If the report is missing, the request returns `404`; if a
|
|
100
|
+
# finalized report is sent without confirmation, it returns `400` and nothing is deleted.
|
|
101
|
+
#
|
|
102
|
+
# +DELETE /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/+
|
|
103
|
+
#
|
|
104
|
+
# @param report_uuid [String] Report UUID.
|
|
105
|
+
# @param confirm_delete [Boolean] Set to true to confirm that a finalized report and its generated files are
|
|
106
|
+
# deleted permanently.
|
|
107
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
108
|
+
# @return [nil]
|
|
109
|
+
def delete(report_uuid, confirm_delete: OMIT, request_options: nil)
|
|
110
|
+
@client.request(
|
|
111
|
+
:delete,
|
|
112
|
+
"/v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/",
|
|
113
|
+
path_params: { "report_uuid" => report_uuid },
|
|
114
|
+
body: {
|
|
115
|
+
"confirm_delete" => confirm_delete
|
|
116
|
+
},
|
|
117
|
+
scope: :application,
|
|
118
|
+
request_options: request_options
|
|
119
|
+
)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Finalize report
|
|
123
|
+
#
|
|
124
|
+
# Re-validate, then render the goAML XML and PDF and upload both to S3. On SAR/STR/TFR reports, this also moves
|
|
125
|
+
# the case's transaction alerts from Pending SAR to SAR filed.
|
|
126
|
+
#
|
|
127
|
+
# +POST /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/finalize/+
|
|
128
|
+
#
|
|
129
|
+
# @param report_uuid [String] Report UUID.
|
|
130
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
131
|
+
# @return [Didit::Types::RegulatoryReportDetail]
|
|
132
|
+
def finalize(report_uuid, request_options: nil)
|
|
133
|
+
@client.request(
|
|
134
|
+
:post,
|
|
135
|
+
"/v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/finalize/",
|
|
136
|
+
path_params: { "report_uuid" => report_uuid },
|
|
137
|
+
scope: :application,
|
|
138
|
+
response: Types::RegulatoryReportDetail,
|
|
139
|
+
request_options: request_options
|
|
140
|
+
)
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# List reports
|
|
144
|
+
#
|
|
145
|
+
# Application-wide FIU report list, optionally filtered by status, report_type, or case.
|
|
146
|
+
#
|
|
147
|
+
# +GET /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/+
|
|
148
|
+
#
|
|
149
|
+
# @param limit [Integer] Page size.
|
|
150
|
+
# @param offset [Integer] Zero-based offset.
|
|
151
|
+
# @param status [String] Filter by status.
|
|
152
|
+
# @param report_type [String] Filter by report type.
|
|
153
|
+
# @param case [String] Filter to reports on this case.
|
|
154
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
155
|
+
# @return [Didit::Page<Didit::Types::RegulatoryReportDetail>]
|
|
156
|
+
def list(limit: OMIT, offset: OMIT, status: OMIT, report_type: OMIT, case: OMIT, request_options: nil)
|
|
157
|
+
@client.request(
|
|
158
|
+
:get,
|
|
159
|
+
"/v3/organization/{organization_id}/application/{application_id}/regulatory-reports/",
|
|
160
|
+
query: {
|
|
161
|
+
"limit" => limit,
|
|
162
|
+
"offset" => offset,
|
|
163
|
+
"status" => status,
|
|
164
|
+
"report_type" => report_type,
|
|
165
|
+
"case" => binding.local_variable_get(:case)
|
|
166
|
+
},
|
|
167
|
+
scope: :application,
|
|
168
|
+
page: Types::RegulatoryReportDetail,
|
|
169
|
+
request_options: request_options
|
|
170
|
+
)
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
# Get report
|
|
174
|
+
#
|
|
175
|
+
# Retrieve a regulatory report.
|
|
176
|
+
#
|
|
177
|
+
# +GET /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/+
|
|
178
|
+
#
|
|
179
|
+
# @param report_uuid [String] Report UUID.
|
|
180
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
181
|
+
# @return [Didit::Types::RegulatoryReportDetail]
|
|
182
|
+
def retrieve(report_uuid, request_options: nil)
|
|
183
|
+
@client.request(
|
|
184
|
+
:get,
|
|
185
|
+
"/v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/",
|
|
186
|
+
path_params: { "report_uuid" => report_uuid },
|
|
187
|
+
scope: :application,
|
|
188
|
+
response: Types::RegulatoryReportDetail,
|
|
189
|
+
request_options: request_options
|
|
190
|
+
)
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
# Get report download URL
|
|
194
|
+
#
|
|
195
|
+
# Mint a presigned URL for a finalized report's goAML XML or PDF.
|
|
196
|
+
#
|
|
197
|
+
# +GET /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/download-url/+
|
|
198
|
+
#
|
|
199
|
+
# @param report_uuid [String] Report UUID.
|
|
200
|
+
# @param file [String] Which file to download.
|
|
201
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
202
|
+
# @return [Didit::Types::RegulatoryReportsRetrieveDownloadUrlResponse]
|
|
203
|
+
def retrieve_download_url(report_uuid, file: OMIT, request_options: nil)
|
|
204
|
+
@client.request(
|
|
205
|
+
:get,
|
|
206
|
+
"/v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/download-url/",
|
|
207
|
+
path_params: { "report_uuid" => report_uuid },
|
|
208
|
+
query: {
|
|
209
|
+
"file" => file
|
|
210
|
+
},
|
|
211
|
+
scope: :application,
|
|
212
|
+
response: Types::RegulatoryReportsRetrieveDownloadUrlResponse,
|
|
213
|
+
request_options: request_options
|
|
214
|
+
)
|
|
215
|
+
end
|
|
216
|
+
|
|
217
|
+
# Update report
|
|
218
|
+
#
|
|
219
|
+
# Edit a draft or validated report's fields. Finalized reports cannot be edited (409).
|
|
220
|
+
#
|
|
221
|
+
# +PATCH /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/+
|
|
222
|
+
#
|
|
223
|
+
# @param report_uuid [String] Report UUID.
|
|
224
|
+
# @param jurisdiction [String]
|
|
225
|
+
# @param rentity_id [String, nil]
|
|
226
|
+
# @param rentity_branch [String, nil]
|
|
227
|
+
# @param submission_code [String]
|
|
228
|
+
# @param entity_reference [String, nil]
|
|
229
|
+
# @param fiu_ref_number [String, nil]
|
|
230
|
+
# @param currency_code_local [String, nil]
|
|
231
|
+
# @param submission_date [Time, String, nil]
|
|
232
|
+
# @param reporting_person [Hash]
|
|
233
|
+
# @param location [Hash]
|
|
234
|
+
# @param reason [String, nil]
|
|
235
|
+
# @param action [String, nil]
|
|
236
|
+
# @param activity [String, nil]
|
|
237
|
+
# @param narrative [Hash]
|
|
238
|
+
# @param report_indicators [Array<String>]
|
|
239
|
+
# @param included_fields [Array<String>]
|
|
240
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
241
|
+
# @return [Didit::Types::RegulatoryReportDetail]
|
|
242
|
+
def update(
|
|
243
|
+
report_uuid,
|
|
244
|
+
jurisdiction: OMIT,
|
|
245
|
+
rentity_id: OMIT,
|
|
246
|
+
rentity_branch: OMIT,
|
|
247
|
+
submission_code: OMIT,
|
|
248
|
+
entity_reference: OMIT,
|
|
249
|
+
fiu_ref_number: OMIT,
|
|
250
|
+
currency_code_local: OMIT,
|
|
251
|
+
submission_date: OMIT,
|
|
252
|
+
reporting_person: OMIT,
|
|
253
|
+
location: OMIT,
|
|
254
|
+
reason: OMIT,
|
|
255
|
+
action: OMIT,
|
|
256
|
+
activity: OMIT,
|
|
257
|
+
narrative: OMIT,
|
|
258
|
+
report_indicators: OMIT,
|
|
259
|
+
included_fields: OMIT,
|
|
260
|
+
request_options: nil
|
|
261
|
+
)
|
|
262
|
+
@client.request(
|
|
263
|
+
:patch,
|
|
264
|
+
"/v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/",
|
|
265
|
+
path_params: { "report_uuid" => report_uuid },
|
|
266
|
+
body: {
|
|
267
|
+
"jurisdiction" => jurisdiction,
|
|
268
|
+
"rentity_id" => rentity_id,
|
|
269
|
+
"rentity_branch" => rentity_branch,
|
|
270
|
+
"submission_code" => submission_code,
|
|
271
|
+
"entity_reference" => entity_reference,
|
|
272
|
+
"fiu_ref_number" => fiu_ref_number,
|
|
273
|
+
"currency_code_local" => currency_code_local,
|
|
274
|
+
"submission_date" => submission_date,
|
|
275
|
+
"reporting_person" => reporting_person,
|
|
276
|
+
"location" => location,
|
|
277
|
+
"reason" => reason,
|
|
278
|
+
"action" => action,
|
|
279
|
+
"activity" => activity,
|
|
280
|
+
"narrative" => narrative,
|
|
281
|
+
"report_indicators" => report_indicators,
|
|
282
|
+
"included_fields" => included_fields
|
|
283
|
+
},
|
|
284
|
+
scope: :application,
|
|
285
|
+
response: Types::RegulatoryReportDetail,
|
|
286
|
+
request_options: request_options
|
|
287
|
+
)
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
# Validate report
|
|
291
|
+
#
|
|
292
|
+
# Check the report against the obligatory goAML header fields (reporting entity ID, submission code, local
|
|
293
|
+
# currency, action taken, submission date), plus at least one attached transaction and a 2-letter jurisdiction,
|
|
294
|
+
# without generating any files. Also stores the result on the report: validation_errors and validated_at are
|
|
295
|
+
# updated, and a non-finalized report's status moves to VALIDATED (no errors) or back to DRAFT (errors).
|
|
296
|
+
#
|
|
297
|
+
# +POST /v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/validate/+
|
|
298
|
+
#
|
|
299
|
+
# @param report_uuid [String] Report UUID.
|
|
300
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
301
|
+
# @return [Didit::Types::RegulatoryReportsValidateResponse]
|
|
302
|
+
def validate(report_uuid, request_options: nil)
|
|
303
|
+
@client.request(
|
|
304
|
+
:post,
|
|
305
|
+
"/v3/organization/{organization_id}/application/{application_id}/regulatory-reports/{report_uuid}/validate/",
|
|
306
|
+
path_params: { "report_uuid" => report_uuid },
|
|
307
|
+
scope: :application,
|
|
308
|
+
response: Types::RegulatoryReportsValidateResponse,
|
|
309
|
+
request_options: request_options
|
|
310
|
+
)
|
|
311
|
+
end
|
|
312
|
+
end
|
|
313
|
+
end
|
|
314
|
+
end
|
|
@@ -0,0 +1,146 @@
|
|
|
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 +report_templates+ resource.
|
|
7
|
+
class ReportTemplates < Didit::Resource
|
|
8
|
+
# Create report template
|
|
9
|
+
#
|
|
10
|
+
# Create a reusable per-jurisdiction, per-report-type goAML header template. Rejected with 400 if any of the
|
|
11
|
+
# template-level obligatory fields (rentity_id, submission_code, currency_code_local) is missing from
|
|
12
|
+
# field_config; an invalid template cannot be saved or used to create a report. Per-filing header fields
|
|
13
|
+
# (action, submission_date, transactions) are enforced at report validate/finalize time instead.
|
|
14
|
+
#
|
|
15
|
+
# +POST /v3/organization/{organization_id}/application/{application_id}/report-templates/+
|
|
16
|
+
#
|
|
17
|
+
# @param name [String]
|
|
18
|
+
# @param jurisdiction [String] ISO 3166-1 alpha-2 country code, upper-cased on save.
|
|
19
|
+
# @param report_type [String]
|
|
20
|
+
# @param field_config [Hash] Reusable goAML header defaults. Template-level obligatory fields: rentity_id,
|
|
21
|
+
# submission_code, and currency_code_local (3-letter). Optional: enabled_fields (which optional report blocks to
|
|
22
|
+
# include) plus reporting_person, location, reason, and action defaults. Per-filing header fields (action,
|
|
23
|
+
# submission_date, transactions, jurisdiction) are enforced when the report is validated or finalized, not...
|
|
24
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
25
|
+
# @return [Didit::Types::ReportTemplateDetail]
|
|
26
|
+
def create(name:, jurisdiction:, report_type:, field_config: OMIT, request_options: nil)
|
|
27
|
+
@client.request(
|
|
28
|
+
:post,
|
|
29
|
+
"/v3/organization/{organization_id}/application/{application_id}/report-templates/",
|
|
30
|
+
body: {
|
|
31
|
+
"name" => name,
|
|
32
|
+
"jurisdiction" => jurisdiction,
|
|
33
|
+
"report_type" => report_type,
|
|
34
|
+
"field_config" => field_config
|
|
35
|
+
},
|
|
36
|
+
scope: :application,
|
|
37
|
+
response: Types::ReportTemplateDetail,
|
|
38
|
+
request_options: request_options
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Delete report template
|
|
43
|
+
#
|
|
44
|
+
# Delete a report template. Reports already created from it are unaffected.
|
|
45
|
+
#
|
|
46
|
+
# +DELETE /v3/organization/{organization_id}/application/{application_id}/report-templates/{template_uuid}/+
|
|
47
|
+
#
|
|
48
|
+
# @param template_uuid [String] Report template UUID.
|
|
49
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
50
|
+
# @return [nil]
|
|
51
|
+
def delete(template_uuid, request_options: nil)
|
|
52
|
+
@client.request(
|
|
53
|
+
:delete,
|
|
54
|
+
"/v3/organization/{organization_id}/application/{application_id}/report-templates/{template_uuid}/",
|
|
55
|
+
path_params: { "template_uuid" => template_uuid },
|
|
56
|
+
scope: :application,
|
|
57
|
+
request_options: request_options
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# List report templates
|
|
62
|
+
#
|
|
63
|
+
# List FIU report templates for the application.
|
|
64
|
+
#
|
|
65
|
+
# +GET /v3/organization/{organization_id}/application/{application_id}/report-templates/+
|
|
66
|
+
#
|
|
67
|
+
# @param limit [Integer] Page size.
|
|
68
|
+
# @param offset [Integer] Zero-based offset.
|
|
69
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
70
|
+
# @return [Didit::Page<Didit::Types::ReportTemplateDetail>]
|
|
71
|
+
def list(limit: OMIT, offset: OMIT, request_options: nil)
|
|
72
|
+
@client.request(
|
|
73
|
+
:get,
|
|
74
|
+
"/v3/organization/{organization_id}/application/{application_id}/report-templates/",
|
|
75
|
+
query: {
|
|
76
|
+
"limit" => limit,
|
|
77
|
+
"offset" => offset
|
|
78
|
+
},
|
|
79
|
+
scope: :application,
|
|
80
|
+
page: Types::ReportTemplateDetail,
|
|
81
|
+
request_options: request_options
|
|
82
|
+
)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# Get report template
|
|
86
|
+
#
|
|
87
|
+
# Retrieve a report template.
|
|
88
|
+
#
|
|
89
|
+
# +GET /v3/organization/{organization_id}/application/{application_id}/report-templates/{template_uuid}/+
|
|
90
|
+
#
|
|
91
|
+
# @param template_uuid [String] Report template UUID.
|
|
92
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
93
|
+
# @return [Didit::Types::ReportTemplateDetail]
|
|
94
|
+
def retrieve(template_uuid, request_options: nil)
|
|
95
|
+
@client.request(
|
|
96
|
+
:get,
|
|
97
|
+
"/v3/organization/{organization_id}/application/{application_id}/report-templates/{template_uuid}/",
|
|
98
|
+
path_params: { "template_uuid" => template_uuid },
|
|
99
|
+
scope: :application,
|
|
100
|
+
response: Types::ReportTemplateDetail,
|
|
101
|
+
request_options: request_options
|
|
102
|
+
)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# Update report template
|
|
106
|
+
#
|
|
107
|
+
# Partially update a report template. Re-validates obligatory goAML fields on save.
|
|
108
|
+
#
|
|
109
|
+
# +PATCH /v3/organization/{organization_id}/application/{application_id}/report-templates/{template_uuid}/+
|
|
110
|
+
#
|
|
111
|
+
# @param template_uuid [String] Report template UUID.
|
|
112
|
+
# @param name [String]
|
|
113
|
+
# @param jurisdiction [String] ISO 3166-1 alpha-2 country code, upper-cased on save.
|
|
114
|
+
# @param report_type [String]
|
|
115
|
+
# @param field_config [Hash] Reusable goAML header defaults. Template-level obligatory fields: rentity_id,
|
|
116
|
+
# submission_code, and currency_code_local (3-letter). Optional: enabled_fields (which optional report blocks to
|
|
117
|
+
# include) plus reporting_person, location, reason, and action defaults. Per-filing header fields (action,
|
|
118
|
+
# submission_date, transactions, jurisdiction) are enforced when the report is validated or finalized, not...
|
|
119
|
+
# @param request_options [Hash, nil] :timeout, :max_retries, :extra_headers, :extra_query, :extra_body
|
|
120
|
+
# @return [Didit::Types::ReportTemplateDetail]
|
|
121
|
+
def update(
|
|
122
|
+
template_uuid,
|
|
123
|
+
name: OMIT,
|
|
124
|
+
jurisdiction: OMIT,
|
|
125
|
+
report_type: OMIT,
|
|
126
|
+
field_config: OMIT,
|
|
127
|
+
request_options: nil
|
|
128
|
+
)
|
|
129
|
+
@client.request(
|
|
130
|
+
:patch,
|
|
131
|
+
"/v3/organization/{organization_id}/application/{application_id}/report-templates/{template_uuid}/",
|
|
132
|
+
path_params: { "template_uuid" => template_uuid },
|
|
133
|
+
body: {
|
|
134
|
+
"name" => name,
|
|
135
|
+
"jurisdiction" => jurisdiction,
|
|
136
|
+
"report_type" => report_type,
|
|
137
|
+
"field_config" => field_config
|
|
138
|
+
},
|
|
139
|
+
scope: :application,
|
|
140
|
+
response: Types::ReportTemplateDetail,
|
|
141
|
+
request_options: request_options
|
|
142
|
+
)
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
end
|