ding_sdk 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/ding/lookup.rb +64 -0
- data/lib/ding/models/operations/check.rb +39 -0
- data/lib/ding/models/operations/create_autentication.rb +39 -0
- data/lib/ding/models/operations/lookup.rb +56 -0
- data/lib/ding/models/operations/retry_.rb +39 -0
- data/lib/ding/models/shared/createauthenticationrequest.rb +65 -0
- data/lib/ding/models/shared/createauthenticationresponse.rb +52 -0
- data/lib/ding/models/shared/createcheckrequest.rb +31 -0
- data/lib/ding/models/shared/createcheckresponse.rb +55 -0
- data/lib/ding/models/shared/errorresponse.rb +82 -0
- data/lib/ding/models/shared/lookupresponse.rb +61 -0
- data/lib/ding/models/shared/retryauthenticationrequest.rb +28 -0
- data/lib/ding/models/shared/retryauthenticationresponse.rb +64 -0
- data/lib/ding/models/shared/security.rb +25 -0
- data/lib/ding/otp.rb +149 -0
- data/lib/ding/sdk.rb +89 -0
- data/lib/ding/sdkconfiguration.rb +55 -0
- data/lib/ding/utils/metadata_fields.rb +154 -0
- data/lib/ding/utils/utils.rb +774 -0
- data/lib/ding_sdk.rb +27 -0
- metadata +191 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 35c7a3a4a4a383793588e2ff1948c5f568cef4e1e2a46751deab84b8db354b26
|
4
|
+
data.tar.gz: 0b1d2fe08d254a38c598da452eaac6b70c251d899bb2a0eee7cc0325ae5565d7
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 661675cdfb36042ee0f8d0d9528146ca7e97d37c33b35a43eb357e0b86820630b212f37f966cb9c57a5c4e3286df52bb1d6f151c73dd5905047883ceaea9b319
|
7
|
+
data.tar.gz: 8e6ac0b9be50b2321925e6b307caa6d1e5edcd6257cccfa38f28bd5f8c8ad14c3add7960602aba12a976b5ed36390530b64616eecfbe9538cd0ba337c1d61139
|
data/lib/ding/lookup.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'faraday'
|
7
|
+
require 'faraday/multipart'
|
8
|
+
require 'sorbet-runtime'
|
9
|
+
|
10
|
+
module DingSDK
|
11
|
+
extend T::Sig
|
12
|
+
class Lookup
|
13
|
+
# Retrieve up-to-date metadata about a specific phone number
|
14
|
+
extend T::Sig
|
15
|
+
sig { params(sdk_config: SDKConfiguration).void }
|
16
|
+
def initialize(sdk_config)
|
17
|
+
@sdk_configuration = sdk_config
|
18
|
+
end
|
19
|
+
|
20
|
+
sig { params(customer_uuid: String, phone_number: String).returns(Utils::FieldAugmented) }
|
21
|
+
def lookup(customer_uuid, phone_number)
|
22
|
+
# lookup - Perform a phone number lookup
|
23
|
+
request = Operations::LookupRequest.new(
|
24
|
+
|
25
|
+
customer_uuid: customer_uuid,
|
26
|
+
phone_number: phone_number
|
27
|
+
)
|
28
|
+
url, params = @sdk_configuration.get_server_details
|
29
|
+
base_url = Utils.template_url(url, params)
|
30
|
+
url = Utils.generate_url(
|
31
|
+
Operations::LookupRequest,
|
32
|
+
base_url,
|
33
|
+
'/lookup/{phone_number}',
|
34
|
+
request
|
35
|
+
)
|
36
|
+
headers = Utils.get_headers(request)
|
37
|
+
headers['Accept'] = 'application/json'
|
38
|
+
headers['user-agent'] = @sdk_configuration.user_agent
|
39
|
+
|
40
|
+
r = @sdk_configuration.client.get(url) do |req|
|
41
|
+
req.headers = headers
|
42
|
+
Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
|
43
|
+
end
|
44
|
+
|
45
|
+
content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
|
46
|
+
|
47
|
+
res = Operations::LookupResponse.new(
|
48
|
+
status_code: r.status, content_type: content_type, raw_response: r
|
49
|
+
)
|
50
|
+
if r.status == 200
|
51
|
+
if Utils.match_content_type(content_type, 'application/json')
|
52
|
+
out = Utils.unmarshal_complex(r.env.response_body, Shared::LookupResponse)
|
53
|
+
res.lookup_response = out
|
54
|
+
end
|
55
|
+
elsif r.status == 400
|
56
|
+
if Utils.match_content_type(content_type, 'application/json')
|
57
|
+
out = Utils.unmarshal_complex(r.env.response_body, Shared::ErrorResponse)
|
58
|
+
res.error_response = out
|
59
|
+
end
|
60
|
+
end
|
61
|
+
res
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'sorbet-runtime'
|
7
|
+
require 'faraday'
|
8
|
+
require_relative '../shared/createcheckresponse'
|
9
|
+
require_relative '../shared/errorresponse'
|
10
|
+
|
11
|
+
module DingSDK
|
12
|
+
module Operations
|
13
|
+
|
14
|
+
class CheckResponse < DingSDK::Utils::FieldAugmented
|
15
|
+
extend T::Sig
|
16
|
+
|
17
|
+
# HTTP response content type for this operation
|
18
|
+
field :content_type, String
|
19
|
+
# HTTP response status code for this operation
|
20
|
+
field :status_code, Integer
|
21
|
+
# OK
|
22
|
+
field :create_check_response, T.nilable(Shared::CreateCheckResponse)
|
23
|
+
# Bad Request
|
24
|
+
field :error_response, T.nilable(Shared::ErrorResponse)
|
25
|
+
# Raw HTTP response; suitable for custom response parsing
|
26
|
+
field :raw_response, T.nilable(Faraday::Response)
|
27
|
+
|
28
|
+
|
29
|
+
sig { params(content_type: String, status_code: Integer, create_check_response: T.nilable(Shared::CreateCheckResponse), error_response: T.nilable(Shared::ErrorResponse), raw_response: T.nilable(Faraday::Response)).void }
|
30
|
+
def initialize(content_type: nil, status_code: nil, create_check_response: nil, error_response: nil, raw_response: nil)
|
31
|
+
@content_type = content_type
|
32
|
+
@status_code = status_code
|
33
|
+
@create_check_response = create_check_response
|
34
|
+
@error_response = error_response
|
35
|
+
@raw_response = raw_response
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'sorbet-runtime'
|
7
|
+
require 'faraday'
|
8
|
+
require_relative '../shared/createauthenticationresponse'
|
9
|
+
require_relative '../shared/errorresponse'
|
10
|
+
|
11
|
+
module DingSDK
|
12
|
+
module Operations
|
13
|
+
|
14
|
+
class CreateAutenticationResponse < DingSDK::Utils::FieldAugmented
|
15
|
+
extend T::Sig
|
16
|
+
|
17
|
+
# HTTP response content type for this operation
|
18
|
+
field :content_type, String
|
19
|
+
# HTTP response status code for this operation
|
20
|
+
field :status_code, Integer
|
21
|
+
# OK
|
22
|
+
field :create_authentication_response, T.nilable(Shared::CreateAuthenticationResponse)
|
23
|
+
# Bad Request
|
24
|
+
field :error_response, T.nilable(Shared::ErrorResponse)
|
25
|
+
# Raw HTTP response; suitable for custom response parsing
|
26
|
+
field :raw_response, T.nilable(Faraday::Response)
|
27
|
+
|
28
|
+
|
29
|
+
sig { params(content_type: String, status_code: Integer, create_authentication_response: T.nilable(Shared::CreateAuthenticationResponse), error_response: T.nilable(Shared::ErrorResponse), raw_response: T.nilable(Faraday::Response)).void }
|
30
|
+
def initialize(content_type: nil, status_code: nil, create_authentication_response: nil, error_response: nil, raw_response: nil)
|
31
|
+
@content_type = content_type
|
32
|
+
@status_code = status_code
|
33
|
+
@create_authentication_response = create_authentication_response
|
34
|
+
@error_response = error_response
|
35
|
+
@raw_response = raw_response
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'sorbet-runtime'
|
7
|
+
require 'faraday'
|
8
|
+
require_relative '../shared/errorresponse'
|
9
|
+
require_relative '../shared/lookupresponse'
|
10
|
+
|
11
|
+
module DingSDK
|
12
|
+
module Operations
|
13
|
+
|
14
|
+
class LookupRequest < DingSDK::Utils::FieldAugmented
|
15
|
+
extend T::Sig
|
16
|
+
|
17
|
+
|
18
|
+
field :customer_uuid, String, { 'header': { 'field_name': 'customer-uuid', 'style': 'simple', 'explode': false } }
|
19
|
+
|
20
|
+
field :phone_number, String, { 'path_param': { 'field_name': 'phone_number', 'style': 'simple', 'explode': false } }
|
21
|
+
|
22
|
+
|
23
|
+
sig { params(customer_uuid: String, phone_number: String).void }
|
24
|
+
def initialize(customer_uuid: nil, phone_number: nil)
|
25
|
+
@customer_uuid = customer_uuid
|
26
|
+
@phone_number = phone_number
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
class LookupResponse < DingSDK::Utils::FieldAugmented
|
32
|
+
extend T::Sig
|
33
|
+
|
34
|
+
# HTTP response content type for this operation
|
35
|
+
field :content_type, String
|
36
|
+
# HTTP response status code for this operation
|
37
|
+
field :status_code, Integer
|
38
|
+
# Bad Request
|
39
|
+
field :error_response, T.nilable(Shared::ErrorResponse)
|
40
|
+
# OK
|
41
|
+
field :lookup_response, T.nilable(Shared::LookupResponse)
|
42
|
+
# Raw HTTP response; suitable for custom response parsing
|
43
|
+
field :raw_response, T.nilable(Faraday::Response)
|
44
|
+
|
45
|
+
|
46
|
+
sig { params(content_type: String, status_code: Integer, error_response: T.nilable(Shared::ErrorResponse), lookup_response: T.nilable(Shared::LookupResponse), raw_response: T.nilable(Faraday::Response)).void }
|
47
|
+
def initialize(content_type: nil, status_code: nil, error_response: nil, lookup_response: nil, raw_response: nil)
|
48
|
+
@content_type = content_type
|
49
|
+
@status_code = status_code
|
50
|
+
@error_response = error_response
|
51
|
+
@lookup_response = lookup_response
|
52
|
+
@raw_response = raw_response
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'sorbet-runtime'
|
7
|
+
require 'faraday'
|
8
|
+
require_relative '../shared/errorresponse'
|
9
|
+
require_relative '../shared/retryauthenticationresponse'
|
10
|
+
|
11
|
+
module DingSDK
|
12
|
+
module Operations
|
13
|
+
|
14
|
+
class RetryResponse < DingSDK::Utils::FieldAugmented
|
15
|
+
extend T::Sig
|
16
|
+
|
17
|
+
# HTTP response content type for this operation
|
18
|
+
field :content_type, String
|
19
|
+
# HTTP response status code for this operation
|
20
|
+
field :status_code, Integer
|
21
|
+
# Bad Request
|
22
|
+
field :error_response, T.nilable(Shared::ErrorResponse)
|
23
|
+
# Raw HTTP response; suitable for custom response parsing
|
24
|
+
field :raw_response, T.nilable(Faraday::Response)
|
25
|
+
# OK
|
26
|
+
field :retry_authentication_response, T.nilable(Shared::RetryAuthenticationResponse)
|
27
|
+
|
28
|
+
|
29
|
+
sig { params(content_type: String, status_code: Integer, error_response: T.nilable(Shared::ErrorResponse), raw_response: T.nilable(Faraday::Response), retry_authentication_response: T.nilable(Shared::RetryAuthenticationResponse)).void }
|
30
|
+
def initialize(content_type: nil, status_code: nil, error_response: nil, raw_response: nil, retry_authentication_response: nil)
|
31
|
+
@content_type = content_type
|
32
|
+
@status_code = status_code
|
33
|
+
@error_response = error_response
|
34
|
+
@raw_response = raw_response
|
35
|
+
@retry_authentication_response = retry_authentication_response
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'sorbet-runtime'
|
7
|
+
require 'faraday'
|
8
|
+
|
9
|
+
module DingSDK
|
10
|
+
module Shared
|
11
|
+
# DeviceType - The type of device the user is using.
|
12
|
+
class DeviceType < T::Enum
|
13
|
+
enums do
|
14
|
+
IOS = new('IOS')
|
15
|
+
ANDROID = new('ANDROID')
|
16
|
+
WEB = new('WEB')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
class CreateAuthenticationRequest < DingSDK::Utils::FieldAugmented
|
23
|
+
extend T::Sig
|
24
|
+
|
25
|
+
# Your customer UUID, which can be found in the API settings in the dashboard.
|
26
|
+
field :customer_uuid, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('customer_uuid') } }
|
27
|
+
# An E.164 formatted phone number to send the OTP to.
|
28
|
+
field :phone_number, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('phone_number') } }
|
29
|
+
# The Android SMS Retriever API hash code that identifies your app. This allows you to automatically retrieve and fill the OTP code on Android devices.
|
30
|
+
field :app_realm, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('app_realm') } }
|
31
|
+
# The version of your application.
|
32
|
+
field :app_version, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('app_version') } }
|
33
|
+
# A webhook URL to which delivery statuses will be sent.
|
34
|
+
field :callback_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('callback_url') } }
|
35
|
+
# Unique identifier for the user's device. For Android, this corresponds to the `ANDROID_ID` and for iOS, this corresponds to the `identifierForVendor`.
|
36
|
+
field :device_id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('device_id') } }
|
37
|
+
# The model of the user's device.
|
38
|
+
field :device_model, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('device_model') } }
|
39
|
+
# The type of device the user is using.
|
40
|
+
field :device_type, T.nilable(Shared::DeviceType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('device_type'), 'decoder': Utils.enum_from_string(Shared::DeviceType, true) } }
|
41
|
+
# The IP address of the user's device.
|
42
|
+
field :ip, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('ip') } }
|
43
|
+
# Whether the user is a returning user on your app.
|
44
|
+
field :is_returning_user, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('is_returning_user') } }
|
45
|
+
# The version of the user's device operating system.
|
46
|
+
field :os_version, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('os_version') } }
|
47
|
+
|
48
|
+
|
49
|
+
sig { params(customer_uuid: String, phone_number: String, app_realm: T.nilable(String), app_version: T.nilable(String), callback_url: T.nilable(String), device_id: T.nilable(String), device_model: T.nilable(String), device_type: T.nilable(Shared::DeviceType), ip: T.nilable(String), is_returning_user: T.nilable(T::Boolean), os_version: T.nilable(String)).void }
|
50
|
+
def initialize(customer_uuid: nil, phone_number: nil, app_realm: nil, app_version: nil, callback_url: nil, device_id: nil, device_model: nil, device_type: nil, ip: nil, is_returning_user: nil, os_version: nil)
|
51
|
+
@customer_uuid = customer_uuid
|
52
|
+
@phone_number = phone_number
|
53
|
+
@app_realm = app_realm
|
54
|
+
@app_version = app_version
|
55
|
+
@callback_url = callback_url
|
56
|
+
@device_id = device_id
|
57
|
+
@device_model = device_model
|
58
|
+
@device_type = device_type
|
59
|
+
@ip = ip
|
60
|
+
@is_returning_user = is_returning_user
|
61
|
+
@os_version = os_version
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'sorbet-runtime'
|
7
|
+
require 'faraday'
|
8
|
+
|
9
|
+
module DingSDK
|
10
|
+
module Shared
|
11
|
+
# Status - The status of the authentication. Possible values are:
|
12
|
+
# * `pending` - The OTP code is being sent.
|
13
|
+
# * `rate_limited` - This user is rate-limited and cannot receive another code.
|
14
|
+
# * `spam_detected` - This attempt is flagged as spam. Go to the dashboard for more details.
|
15
|
+
#
|
16
|
+
class Status < T::Enum
|
17
|
+
enums do
|
18
|
+
PENDING = new('pending')
|
19
|
+
RATE_LIMITED = new('rate_limited')
|
20
|
+
SPAM_DETECTED = new('spam_detected')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
# A successful response to an authentication creation request.
|
26
|
+
class CreateAuthenticationResponse < DingSDK::Utils::FieldAugmented
|
27
|
+
extend T::Sig
|
28
|
+
|
29
|
+
# A unique identifier for the authentication that you can use on the /check and /retry endpoints.
|
30
|
+
field :authentication_uuid, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('authentication_uuid') } }
|
31
|
+
|
32
|
+
field :created_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
33
|
+
# The time at which the authentication expires and can no longer be checked or retried.
|
34
|
+
field :expires_at, T.nilable(DateTime), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('expires_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
|
35
|
+
# The status of the authentication. Possible values are:
|
36
|
+
# * `pending` - The OTP code is being sent.
|
37
|
+
# * `rate_limited` - This user is rate-limited and cannot receive another code.
|
38
|
+
# * `spam_detected` - This attempt is flagged as spam. Go to the dashboard for more details.
|
39
|
+
#
|
40
|
+
field :status, T.nilable(Shared::Status), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Shared::Status, true) } }
|
41
|
+
|
42
|
+
|
43
|
+
sig { params(authentication_uuid: T.nilable(String), created_at: T.nilable(DateTime), expires_at: T.nilable(DateTime), status: T.nilable(Shared::Status)).void }
|
44
|
+
def initialize(authentication_uuid: nil, created_at: nil, expires_at: nil, status: nil)
|
45
|
+
@authentication_uuid = authentication_uuid
|
46
|
+
@created_at = created_at
|
47
|
+
@expires_at = expires_at
|
48
|
+
@status = status
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'sorbet-runtime'
|
7
|
+
require 'faraday'
|
8
|
+
|
9
|
+
module DingSDK
|
10
|
+
module Shared
|
11
|
+
|
12
|
+
class CreateCheckRequest < DingSDK::Utils::FieldAugmented
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
# The authentication UUID that was returned when you created the authentication.
|
16
|
+
field :authentication_uuid, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('authentication_uuid') } }
|
17
|
+
# The code that the user entered.
|
18
|
+
field :check_code, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('check_code') } }
|
19
|
+
# Your customer UUID, which can be found in the API settings in the dashboard.
|
20
|
+
field :customer_uuid, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('customer_uuid') } }
|
21
|
+
|
22
|
+
|
23
|
+
sig { params(authentication_uuid: String, check_code: String, customer_uuid: String).void }
|
24
|
+
def initialize(authentication_uuid: nil, check_code: nil, customer_uuid: nil)
|
25
|
+
@authentication_uuid = authentication_uuid
|
26
|
+
@check_code = check_code
|
27
|
+
@customer_uuid = customer_uuid
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'sorbet-runtime'
|
7
|
+
require 'faraday'
|
8
|
+
|
9
|
+
module DingSDK
|
10
|
+
module Shared
|
11
|
+
# CreateCheckResponseStatus - The status of the check. Possible values are:
|
12
|
+
# * `valid` - The code is valid.
|
13
|
+
# * `invalid` - The code is invalid.
|
14
|
+
# * `without_attempt` - No attempt was sent yet, so a check cannot be completed.
|
15
|
+
# * `rate_limited` - The authentication was rate limited and cannot be checked.
|
16
|
+
# * `already_validated` - The authentication has already been validated.
|
17
|
+
# * `expired_auth` - The authentication has expired and cannot be checked.
|
18
|
+
#
|
19
|
+
class CreateCheckResponseStatus < T::Enum
|
20
|
+
enums do
|
21
|
+
VALID = new('valid')
|
22
|
+
INVALID = new('invalid')
|
23
|
+
WITHOUT_ATTEMPT = new('without_attempt')
|
24
|
+
RATE_LIMITED = new('rate_limited')
|
25
|
+
ALREADY_VALIDATED = new('already_validated')
|
26
|
+
EXPIRED_AUTH = new('expired_auth')
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
class CreateCheckResponse < DingSDK::Utils::FieldAugmented
|
33
|
+
extend T::Sig
|
34
|
+
|
35
|
+
# The UUID of the corresponding authentication.
|
36
|
+
field :authentication_uuid, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('authentication_uuid') } }
|
37
|
+
# The status of the check. Possible values are:
|
38
|
+
# * `valid` - The code is valid.
|
39
|
+
# * `invalid` - The code is invalid.
|
40
|
+
# * `without_attempt` - No attempt was sent yet, so a check cannot be completed.
|
41
|
+
# * `rate_limited` - The authentication was rate limited and cannot be checked.
|
42
|
+
# * `already_validated` - The authentication has already been validated.
|
43
|
+
# * `expired_auth` - The authentication has expired and cannot be checked.
|
44
|
+
#
|
45
|
+
field :status, T.nilable(Shared::CreateCheckResponseStatus), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(Shared::CreateCheckResponseStatus, true) } }
|
46
|
+
|
47
|
+
|
48
|
+
sig { params(authentication_uuid: T.nilable(String), status: T.nilable(Shared::CreateCheckResponseStatus)).void }
|
49
|
+
def initialize(authentication_uuid: nil, status: nil)
|
50
|
+
@authentication_uuid = authentication_uuid
|
51
|
+
@status = status
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'sorbet-runtime'
|
7
|
+
require 'faraday'
|
8
|
+
|
9
|
+
module DingSDK
|
10
|
+
module Shared
|
11
|
+
# Code - A machine-readable code that describes the error. Possible values are:
|
12
|
+
# * `invalid_phone_number` - This is not a valid E.164 number.
|
13
|
+
# * `internal_server_error` - An internal server error occurred.
|
14
|
+
# * `bad_request` - The request was malformed.
|
15
|
+
# * `account_invalid` - The provided customer UUID is invalid.
|
16
|
+
# * `negative_balance` - You have a negative balance.
|
17
|
+
# * `invalid_line` - Ding does not support this type of phone number.
|
18
|
+
# * `unsupported_region` - Ding does not support this region yet.
|
19
|
+
# * `invalid_auth_uuid` - The provided authentication UUID is invalid.
|
20
|
+
# * `blocked_number` - The phone number is in the blocklist.
|
21
|
+
# * `invalid_app_version` - The provided application version is invalid.
|
22
|
+
# * `invalid_os_version` - The provided OS version is invalid.
|
23
|
+
# * `invalid_device_model` - The provided device model is invalid.
|
24
|
+
# * `invalid_device_id` - The provided device ID is invalid.
|
25
|
+
#
|
26
|
+
class Code < T::Enum
|
27
|
+
enums do
|
28
|
+
INVALID_PHONE_NUMBER = new('invalid_phone_number')
|
29
|
+
INTERNAL_SERVER_ERROR = new('internal_server_error')
|
30
|
+
BAD_REQUEST = new('bad_request')
|
31
|
+
ACCOUNT_INVALID = new('account_invalid')
|
32
|
+
NEGATIVE_BALANCE = new('negative_balance')
|
33
|
+
INVALID_LINE = new('invalid_line')
|
34
|
+
UNSUPPORTED_REGION = new('unsupported_region')
|
35
|
+
INVALID_AUTH_UUID = new('invalid_auth_uuid')
|
36
|
+
INVALID_APP_REALM = new('invalid_app_realm')
|
37
|
+
UNSUPPORTED_APP_REALM_DEVICE_TYPE = new('unsupported_app_realm_device_type')
|
38
|
+
APP_REALM_REQUIRE_DEVICE_TYPE = new('app_realm_require_device_type')
|
39
|
+
BLOCKED_NUMBER = new('blocked_number')
|
40
|
+
INVALID_APP_VERSION = new('invalid_app_version')
|
41
|
+
INVALID_OS_VERSION = new('invalid_os_version')
|
42
|
+
INVALID_DEVICE_MODEL = new('invalid_device_model')
|
43
|
+
INVALID_DEVICE_ID = new('invalid_device_id')
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
class ErrorResponse < DingSDK::Utils::FieldAugmented
|
50
|
+
extend T::Sig
|
51
|
+
|
52
|
+
# A machine-readable code that describes the error. Possible values are:
|
53
|
+
# * `invalid_phone_number` - This is not a valid E.164 number.
|
54
|
+
# * `internal_server_error` - An internal server error occurred.
|
55
|
+
# * `bad_request` - The request was malformed.
|
56
|
+
# * `account_invalid` - The provided customer UUID is invalid.
|
57
|
+
# * `negative_balance` - You have a negative balance.
|
58
|
+
# * `invalid_line` - Ding does not support this type of phone number.
|
59
|
+
# * `unsupported_region` - Ding does not support this region yet.
|
60
|
+
# * `invalid_auth_uuid` - The provided authentication UUID is invalid.
|
61
|
+
# * `blocked_number` - The phone number is in the blocklist.
|
62
|
+
# * `invalid_app_version` - The provided application version is invalid.
|
63
|
+
# * `invalid_os_version` - The provided OS version is invalid.
|
64
|
+
# * `invalid_device_model` - The provided device model is invalid.
|
65
|
+
# * `invalid_device_id` - The provided device ID is invalid.
|
66
|
+
#
|
67
|
+
field :code, T.nilable(Shared::Code), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('code'), 'decoder': Utils.enum_from_string(Shared::Code, true) } }
|
68
|
+
# A link to the documentation that describes the error.
|
69
|
+
field :doc_url, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('doc_url') } }
|
70
|
+
# A human-readable message that describes the error.
|
71
|
+
field :message, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('message') } }
|
72
|
+
|
73
|
+
|
74
|
+
sig { params(code: T.nilable(Shared::Code), doc_url: T.nilable(String), message: T.nilable(String)).void }
|
75
|
+
def initialize(code: nil, doc_url: nil, message: nil)
|
76
|
+
@code = code
|
77
|
+
@doc_url = doc_url
|
78
|
+
@message = message
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'sorbet-runtime'
|
7
|
+
require 'faraday'
|
8
|
+
|
9
|
+
module DingSDK
|
10
|
+
module Shared
|
11
|
+
# LineType - The type of phone line.
|
12
|
+
class LineType < T::Enum
|
13
|
+
enums do
|
14
|
+
FIXED_LINE = new('FixedLine')
|
15
|
+
MOBILE = new('Mobile')
|
16
|
+
TOLL_FREE = new('TollFree')
|
17
|
+
PREMIUM_RATE = new('PremiumRate')
|
18
|
+
SHARED_COST = new('SharedCost')
|
19
|
+
VOIP = new('Voip')
|
20
|
+
PAGER = new('Pager')
|
21
|
+
VOICE_MAIL = new('VoiceMail')
|
22
|
+
UNIVERSAL_ACCESS = new('UniversalAccess')
|
23
|
+
SERVICE = new('Service')
|
24
|
+
UNKNOWN = new('Unknown')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
class LookupResponse < DingSDK::Utils::FieldAugmented
|
31
|
+
extend T::Sig
|
32
|
+
|
33
|
+
# The carrier of the phone number.
|
34
|
+
field :carrier, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('carrier') } }
|
35
|
+
# The ISO 3166-1 alpha-2 country code of the phone number.
|
36
|
+
field :country_code, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('country_code') } }
|
37
|
+
# The type of phone line.
|
38
|
+
field :line_type, T.nilable(Shared::LineType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('line_type'), 'decoder': Utils.enum_from_string(Shared::LineType, true) } }
|
39
|
+
# The mobile country code of the phone number.
|
40
|
+
field :mcc, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('mcc') } }
|
41
|
+
# The mobile network code of the phone number.
|
42
|
+
field :mnc, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('mnc') } }
|
43
|
+
# Whether the phone number has been ported.
|
44
|
+
field :number_ported, T.nilable(T::Boolean), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('number_ported') } }
|
45
|
+
# An E.164 formatted phone number.
|
46
|
+
field :phone_number, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('phone_number') } }
|
47
|
+
|
48
|
+
|
49
|
+
sig { params(carrier: T.nilable(String), country_code: T.nilable(String), line_type: T.nilable(Shared::LineType), mcc: T.nilable(String), mnc: T.nilable(String), number_ported: T.nilable(T::Boolean), phone_number: T.nilable(String)).void }
|
50
|
+
def initialize(carrier: nil, country_code: nil, line_type: nil, mcc: nil, mnc: nil, number_ported: nil, phone_number: nil)
|
51
|
+
@carrier = carrier
|
52
|
+
@country_code = country_code
|
53
|
+
@line_type = line_type
|
54
|
+
@mcc = mcc
|
55
|
+
@mnc = mnc
|
56
|
+
@number_ported = number_ported
|
57
|
+
@phone_number = phone_number
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
|
2
|
+
|
3
|
+
# typed: true
|
4
|
+
# frozen_string_literal: true
|
5
|
+
|
6
|
+
require 'sorbet-runtime'
|
7
|
+
require 'faraday'
|
8
|
+
|
9
|
+
module DingSDK
|
10
|
+
module Shared
|
11
|
+
|
12
|
+
class RetryAuthenticationRequest < DingSDK::Utils::FieldAugmented
|
13
|
+
extend T::Sig
|
14
|
+
|
15
|
+
# The authentication UUID that was returned when you created the authentication.
|
16
|
+
field :authentication_uuid, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('authentication_uuid') } }
|
17
|
+
# Your customer UUID, which can be found in the API settings in the dashboard.
|
18
|
+
field :customer_uuid, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('customer_uuid') } }
|
19
|
+
|
20
|
+
|
21
|
+
sig { params(authentication_uuid: String, customer_uuid: String).void }
|
22
|
+
def initialize(authentication_uuid: nil, customer_uuid: nil)
|
23
|
+
@authentication_uuid = authentication_uuid
|
24
|
+
@customer_uuid = customer_uuid
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|