digital-payments-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.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +85 -0
  4. data/lib/shell_ev/api_helper.rb +10 -0
  5. data/lib/shell_ev/client.rb +86 -0
  6. data/lib/shell_ev/configuration.rb +104 -0
  7. data/lib/shell_ev/controllers/base_controller.rb +66 -0
  8. data/lib/shell_ev/controllers/digital_payment_enablement_controller.rb +56 -0
  9. data/lib/shell_ev/controllers/fueling_controller.rb +126 -0
  10. data/lib/shell_ev/controllers/partner_notification_controller.rb +95 -0
  11. data/lib/shell_ev/controllers/shell_api_platform_security_authentication_controller.rb +44 -0
  12. data/lib/shell_ev/controllers/station_locator_controller.rb +76 -0
  13. data/lib/shell_ev/exceptions/access_token_error_exception.rb +37 -0
  14. data/lib/shell_ev/exceptions/api_exception.rb +10 -0
  15. data/lib/shell_ev/exceptions/cancel_fueling_error_response_error_exception.rb +64 -0
  16. data/lib/shell_ev/exceptions/mpp_acces_token_error_response_exception.rb +44 -0
  17. data/lib/shell_ev/exceptions/payment_enablement_error_response_exception.rb +37 -0
  18. data/lib/shell_ev/exceptions/station_locator_bad_request_exception.rb +38 -0
  19. data/lib/shell_ev/exceptions/station_locator_forbidden_exception.rb +38 -0
  20. data/lib/shell_ev/exceptions/station_locator_internal_server_error_exception.rb +38 -0
  21. data/lib/shell_ev/exceptions/station_locator_not_found_exception.rb +38 -0
  22. data/lib/shell_ev/exceptions/station_locator_unauthorized_exception.rb +38 -0
  23. data/lib/shell_ev/http/auth/mpp_token.rb +42 -0
  24. data/lib/shell_ev/http/auth/o_auth_token_post.rb +44 -0
  25. data/lib/shell_ev/http/http_call_back.rb +10 -0
  26. data/lib/shell_ev/http/http_method_enum.rb +10 -0
  27. data/lib/shell_ev/http/http_request.rb +10 -0
  28. data/lib/shell_ev/http/http_response.rb +10 -0
  29. data/lib/shell_ev/models/access_token_response.rb +71 -0
  30. data/lib/shell_ev/models/around_location_array.rb +109 -0
  31. data/lib/shell_ev/models/around_location_array_data_items.rb +242 -0
  32. data/lib/shell_ev/models/around_location_array_data_items_loc.rb +99 -0
  33. data/lib/shell_ev/models/around_location_array_data_items_opening_hours_items.rb +148 -0
  34. data/lib/shell_ev/models/base_model.rb +62 -0
  35. data/lib/shell_ev/models/cancel_fueling_error_response.rb +92 -0
  36. data/lib/shell_ev/models/cancel_fueling_request.rb +61 -0
  37. data/lib/shell_ev/models/collecting_company.rb +50 -0
  38. data/lib/shell_ev/models/fault_response.rb +50 -0
  39. data/lib/shell_ev/models/fault_response_fault.rb +60 -0
  40. data/lib/shell_ev/models/fault_response_fault_detail.rb +50 -0
  41. data/lib/shell_ev/models/finalise_fueling_request.rb +181 -0
  42. data/lib/shell_ev/models/finalise_fueling_request_payment.rb +71 -0
  43. data/lib/shell_ev/models/finalise_fueling_request_products_items.rb +70 -0
  44. data/lib/shell_ev/models/loyalty_details.rb +59 -0
  45. data/lib/shell_ev/models/mobile_payment_registration_request.rb +134 -0
  46. data/lib/shell_ev/models/mpp_acces_token_response.rb +81 -0
  47. data/lib/shell_ev/models/mpp_error.rb +94 -0
  48. data/lib/shell_ev/models/mpp_token_request_body.rb +73 -0
  49. data/lib/shell_ev/models/oauth_token_post_request_body.rb +73 -0
  50. data/lib/shell_ev/models/partner_token_request_body.rb +73 -0
  51. data/lib/shell_ev/models/payment_details_items.rb +78 -0
  52. data/lib/shell_ev/models/payment_enablement_response.rb +48 -0
  53. data/lib/shell_ev/models/payment_properties.rb +169 -0
  54. data/lib/shell_ev/models/prepare_fueling_request.rb +183 -0
  55. data/lib/shell_ev/models/prepare_fueling_request_device_details_items.rb +95 -0
  56. data/lib/shell_ev/models/prepare_fueling_response.rb +66 -0
  57. data/lib/shell_ev/utilities/date_time_helper.rb +11 -0
  58. data/lib/shell_ev/utilities/file_wrapper.rb +16 -0
  59. data/lib/shell_ev.rb +85 -0
  60. data/test/controllers/controller_test_base.rb +29 -0
  61. data/test/controllers/test_fueling_controller.rb +61 -0
  62. data/test/controllers/test_partner_notification_controller.rb +60 -0
  63. data/test/controllers/test_shell_api_platform_security_authentication_controller.rb +36 -0
  64. data/test/controllers/test_station_locator_controller.rb +44 -0
  65. data/test/http_response_catcher.rb +19 -0
  66. metadata +185 -0
@@ -0,0 +1,44 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # ShellAPIPlatformSecurityAuthenticationController
8
+ class ShellAPIPlatformSecurityAuthenticationController < BaseController
9
+ # To obtain APIGEE access token
10
+ # @param [String] grant_type Required parameter: In OAuth 2.0, the term
11
+ # grant typee refers to the way an application gets an access token. OAuth
12
+ # 2.0 defines several grant types, including the authorization code flow.
13
+ # @param [String] client_id Required parameter: After registering your app,
14
+ # you will receive a client ID and a client secret. The client ID is
15
+ # considered public information, and is used to build login URLs, or
16
+ # included in Javascript source code on a page.
17
+ # @param [String] client_secret Required parameter: After registering your
18
+ # app, you will receive a client ID and a client secret. The client ID is
19
+ # considered public information, and is used to build login URLs, or
20
+ # included in Javascript source code on a page. The client secret must be
21
+ # kept confidential.
22
+ # @return [AccessTokenResponse] response from the API call
23
+ def oauth_token_post(grant_type,
24
+ client_id,
25
+ client_secret)
26
+ new_api_call_builder
27
+ .request(new_request_builder(HttpMethodEnum::POST,
28
+ '/oauth/token',
29
+ Server::DEFAULT)
30
+ .form_param(new_parameter(grant_type, key: 'grant_type'))
31
+ .form_param(new_parameter(client_id, key: 'client_id'))
32
+ .form_param(new_parameter(client_secret, key: 'client_secret'))
33
+ .header_param(new_parameter('application/x-www-form-urlencoded', key: 'content-type'))
34
+ .header_param(new_parameter('application/json', key: 'accept')))
35
+ .response(new_response_handler
36
+ .deserializer(APIHelper.method(:custom_type_deserializer))
37
+ .deserialize_into(AccessTokenResponse.method(:from_hash))
38
+ .local_error('401',
39
+ 'Unauthorized',
40
+ AccessTokenErrorException))
41
+ .execute
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,76 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # StationLocatorController
8
+ class StationLocatorController < BaseController
9
+ # Returns all sites within specified radius of specified GPS location. Sites
10
+ # of all Types are returned. This call must be used when attempting to
11
+ # establish the station the user is located at as part of fuelling journey
12
+ # (i.e. user has to be within 300m of station to be considered located at
13
+ # the station). This API could also be used as a general query to find
14
+ # nearby Shell locations
15
+ # @param [String] m Required parameter: API Method to be executed
16
+ # @param [Float] lon Required parameter: The user’s current longitude
17
+ # @param [Float] lat Required parameter: The user’s current latitude
18
+ # @param [Float] radius Required parameter: The search radius in
19
+ # kilometers
20
+ # @param [String] offer_code Optional parameter: This enables requestor to
21
+ # specify locations that will honour the specified (advanced) offer code
22
+ # @param [Integer] n Optional parameter: This enables requestor to limit the
23
+ # number of locations that are returned and defaulted to a maximum of 250
24
+ # locations. Locations returned based on distance to User’s location
25
+ # as-the-crow-flies.
26
+ # @param [Array[String]] amenities Optional parameter: This enables
27
+ # requestor to filter locations based on one or more amenities (e.g. Filter
28
+ # locations so that only those with a Toilet are returned).
29
+ # @param [Array[String]] countries Optional parameter: This enables
30
+ # requestor to filter locations based on one or more Countries (i.e. by
31
+ # country codes).
32
+ # @return [AroundLocationArray] response from the API call
33
+ def stationlocator_v1_stations_get_around_location(m,
34
+ lon,
35
+ lat,
36
+ radius,
37
+ offer_code: nil,
38
+ n: nil,
39
+ amenities: nil,
40
+ countries: nil)
41
+ new_api_call_builder
42
+ .request(new_request_builder(HttpMethodEnum::GET,
43
+ '/SiteData/v1/stations/',
44
+ Server::DEFAULT)
45
+ .query_param(new_parameter(m, key: 'm'))
46
+ .query_param(new_parameter(lon, key: 'lon'))
47
+ .query_param(new_parameter(lat, key: 'lat'))
48
+ .query_param(new_parameter(radius, key: 'radius'))
49
+ .query_param(new_parameter(offer_code, key: 'offer_code'))
50
+ .query_param(new_parameter(n, key: 'n'))
51
+ .query_param(new_parameter(amenities, key: 'amenities'))
52
+ .query_param(new_parameter(countries, key: 'countries'))
53
+ .header_param(new_parameter('application/json', key: 'accept'))
54
+ .auth(Single.new('oAuthTokenPost')))
55
+ .response(new_response_handler
56
+ .deserializer(APIHelper.method(:custom_type_deserializer))
57
+ .deserialize_into(AroundLocationArray.method(:from_hash))
58
+ .local_error('400',
59
+ 'Bad request',
60
+ StationLocatorBadRequestException)
61
+ .local_error('401',
62
+ 'Unauthorized',
63
+ StationLocatorUnauthorizedException)
64
+ .local_error('403',
65
+ 'Forbbiden',
66
+ StationLocatorForbiddenException)
67
+ .local_error('404',
68
+ 'Not Found',
69
+ StationLocatorNotFoundException)
70
+ .local_error('500',
71
+ 'Internal Server Error',
72
+ StationLocatorInternalServerErrorException))
73
+ .execute
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,37 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # AccessTokenError class.
8
+ class AccessTokenErrorException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :error_code
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :error
19
+
20
+ # The constructor.
21
+ # @param [String] The reason for raising an exception.
22
+ # @param [HttpResponse] The HttpReponse of the API call.
23
+ def initialize(reason, response)
24
+ super(reason, response)
25
+ hash = APIHelper.json_deserialize(@response.raw_body)
26
+ unbox(hash)
27
+ end
28
+
29
+ # Populates this object by extracting properties from a hash.
30
+ # @param [Hash] The deserialized response sent by the server in the
31
+ # response body.
32
+ def unbox(hash)
33
+ @error_code = hash.key?('errorCode') ? hash['errorCode'] : SKIP
34
+ @error = hash.key?('error') ? hash['error'] : SKIP
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,10 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # Class for exceptions when there is a network error, status code error, etc.
8
+ class APIException < CoreLibrary::ApiException
9
+ end
10
+ end
@@ -0,0 +1,64 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # # Digital Payments – Errors This section details the structure of the
8
+ # response Body vs. the different types of errors that could be returned when
9
+ # Digital Payments system responds with a 400 Response Code. | Error Code
10
+ # | Error Description | Suggested message to end user | |- |- |- | |
11
+ # 9342 | Transaction not cancelled, Txn number unknown | Oops sorry! We
12
+ # are unable to cancel the transaction. Please wait for the site to cancel the
13
+ # transaction before you retry | | 50004 | Transaction not cancelled,
14
+ # dispensing is already in progress | Transaction cannot be cancelled,
15
+ # fueling already in progress | | 50059 | Transaction not cancelable (not
16
+ # in a 'Processing state') | Transaction cannot be cancelled, fuel has
17
+ # already been dispensed |
18
+ class CancelFuelingErrorResponseErrorException < APIException
19
+ SKIP = Object.new
20
+ private_constant :SKIP
21
+
22
+ # The high level error code (e.g. missing data)
23
+ # @return [String]
24
+ attr_accessor :error_code
25
+
26
+ # The high level error message (e.g. mandatory fields have not been
27
+ # specified.
28
+ # @return [String]
29
+ attr_accessor :error_description
30
+
31
+ # Array of error objects. Majority of the time the errorCode and
32
+ # errorDescription will suffice
33
+ # @return [Array[MppError]]
34
+ attr_accessor :errors
35
+
36
+ # The constructor.
37
+ # @param [String] The reason for raising an exception.
38
+ # @param [HttpResponse] The HttpReponse of the API call.
39
+ def initialize(reason, response)
40
+ super(reason, response)
41
+ hash = APIHelper.json_deserialize(@response.raw_body)
42
+ unbox(hash)
43
+ end
44
+
45
+ # Populates this object by extracting properties from a hash.
46
+ # @param [Hash] The deserialized response sent by the server in the
47
+ # response body.
48
+ def unbox(hash)
49
+ @error_code = hash.key?('errorCode') ? hash['errorCode'] : SKIP
50
+ @error_description =
51
+ hash.key?('errorDescription') ? hash['errorDescription'] : SKIP
52
+ # Parameter is an array, so we need to iterate through it
53
+ @errors = nil
54
+ unless hash['errors'].nil?
55
+ @errors = []
56
+ hash['errors'].each do |structure|
57
+ @errors << (MppError.from_hash(structure) if structure)
58
+ end
59
+ end
60
+
61
+ @errors = SKIP unless hash.key?('errors')
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,44 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # MppAccesTokenErrorResponse class.
8
+ class MppAccesTokenErrorResponseException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # error code or short description
13
+ # @return [String]
14
+ attr_accessor :error
15
+
16
+ # error code or short description due to invalid request or invalid client
17
+ # ID
18
+ # @return [String]
19
+ attr_accessor :error_code
20
+
21
+ # Description of the error
22
+ # @return [String]
23
+ attr_accessor :error_description
24
+
25
+ # The constructor.
26
+ # @param [String] The reason for raising an exception.
27
+ # @param [HttpResponse] The HttpReponse of the API call.
28
+ def initialize(reason, response)
29
+ super(reason, response)
30
+ hash = APIHelper.json_deserialize(@response.raw_body)
31
+ unbox(hash)
32
+ end
33
+
34
+ # Populates this object by extracting properties from a hash.
35
+ # @param [Hash] The deserialized response sent by the server in the
36
+ # response body.
37
+ def unbox(hash)
38
+ @error = hash.key?('error') ? hash['error'] : nil
39
+ @error_code = hash.key?('error_code') ? hash['error_code'] : nil
40
+ @error_description =
41
+ hash.key?('error_description') ? hash['error_description'] : SKIP
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,37 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # PaymentEnablementErrorResponse class.
8
+ class PaymentEnablementErrorResponseException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Integer]
14
+ attr_accessor :code
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :message
19
+
20
+ # The constructor.
21
+ # @param [String] The reason for raising an exception.
22
+ # @param [HttpResponse] The HttpReponse of the API call.
23
+ def initialize(reason, response)
24
+ super(reason, response)
25
+ hash = APIHelper.json_deserialize(@response.raw_body)
26
+ unbox(hash)
27
+ end
28
+
29
+ # Populates this object by extracting properties from a hash.
30
+ # @param [Hash] The deserialized response sent by the server in the
31
+ # response body.
32
+ def unbox(hash)
33
+ @code = hash.key?('code') ? hash['code'] : SKIP
34
+ @message = hash.key?('message') ? hash['message'] : SKIP
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,38 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # StationLocatorBadRequest class.
8
+ class StationLocatorBadRequestException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :error_code
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :error_description
19
+
20
+ # The constructor.
21
+ # @param [String] The reason for raising an exception.
22
+ # @param [HttpResponse] The HttpReponse of the API call.
23
+ def initialize(reason, response)
24
+ super(reason, response)
25
+ hash = APIHelper.json_deserialize(@response.raw_body)
26
+ unbox(hash)
27
+ end
28
+
29
+ # Populates this object by extracting properties from a hash.
30
+ # @param [Hash] The deserialized response sent by the server in the
31
+ # response body.
32
+ def unbox(hash)
33
+ @error_code = hash.key?('errorCode') ? hash['errorCode'] : SKIP
34
+ @error_description =
35
+ hash.key?('errorDescription') ? hash['errorDescription'] : SKIP
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # StationLocatorForbidden class.
8
+ class StationLocatorForbiddenException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :error_code
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :error_description
19
+
20
+ # The constructor.
21
+ # @param [String] The reason for raising an exception.
22
+ # @param [HttpResponse] The HttpReponse of the API call.
23
+ def initialize(reason, response)
24
+ super(reason, response)
25
+ hash = APIHelper.json_deserialize(@response.raw_body)
26
+ unbox(hash)
27
+ end
28
+
29
+ # Populates this object by extracting properties from a hash.
30
+ # @param [Hash] The deserialized response sent by the server in the
31
+ # response body.
32
+ def unbox(hash)
33
+ @error_code = hash.key?('errorCode') ? hash['errorCode'] : SKIP
34
+ @error_description =
35
+ hash.key?('errorDescription') ? hash['errorDescription'] : SKIP
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # StationLocatorInternalServerError class.
8
+ class StationLocatorInternalServerErrorException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :error_code
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :error_description
19
+
20
+ # The constructor.
21
+ # @param [String] The reason for raising an exception.
22
+ # @param [HttpResponse] The HttpReponse of the API call.
23
+ def initialize(reason, response)
24
+ super(reason, response)
25
+ hash = APIHelper.json_deserialize(@response.raw_body)
26
+ unbox(hash)
27
+ end
28
+
29
+ # Populates this object by extracting properties from a hash.
30
+ # @param [Hash] The deserialized response sent by the server in the
31
+ # response body.
32
+ def unbox(hash)
33
+ @error_code = hash.key?('errorCode') ? hash['errorCode'] : SKIP
34
+ @error_description =
35
+ hash.key?('errorDescription') ? hash['errorDescription'] : SKIP
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # StationLocatorNotFound class.
8
+ class StationLocatorNotFoundException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :error_code
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :error_description
19
+
20
+ # The constructor.
21
+ # @param [String] The reason for raising an exception.
22
+ # @param [HttpResponse] The HttpReponse of the API call.
23
+ def initialize(reason, response)
24
+ super(reason, response)
25
+ hash = APIHelper.json_deserialize(@response.raw_body)
26
+ unbox(hash)
27
+ end
28
+
29
+ # Populates this object by extracting properties from a hash.
30
+ # @param [Hash] The deserialized response sent by the server in the
31
+ # response body.
32
+ def unbox(hash)
33
+ @error_code = hash.key?('errorCode') ? hash['errorCode'] : SKIP
34
+ @error_description =
35
+ hash.key?('errorDescription') ? hash['errorDescription'] : SKIP
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # StationLocatorUnauthorized class.
8
+ class StationLocatorUnauthorizedException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :error_code
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :error_description
19
+
20
+ # The constructor.
21
+ # @param [String] The reason for raising an exception.
22
+ # @param [HttpResponse] The HttpReponse of the API call.
23
+ def initialize(reason, response)
24
+ super(reason, response)
25
+ hash = APIHelper.json_deserialize(@response.raw_body)
26
+ unbox(hash)
27
+ end
28
+
29
+ # Populates this object by extracting properties from a hash.
30
+ # @param [Hash] The deserialized response sent by the server in the
31
+ # response body.
32
+ def unbox(hash)
33
+ @error_code = hash.key?('errorCode') ? hash['errorCode'] : SKIP
34
+ @error_description =
35
+ hash.key?('errorDescription') ? hash['errorDescription'] : SKIP
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,42 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # Utility class for custom header authorization.
8
+ class MppToken < CoreLibrary::HeaderAuth
9
+ # Display error message on occurrence of authentication failure.
10
+ # @returns [String] The oAuth error message.
11
+ def error_message
12
+ 'MppToken: authorization is undefined.'
13
+ end
14
+
15
+ # Initialization constructor.
16
+ def initialize(mpp_token_credentials)
17
+ auth_params = {}
18
+ auth_params['Authorization'] = mpp_token_credentials.authorization unless
19
+ mpp_token_credentials.nil? || mpp_token_credentials.authorization.nil?
20
+
21
+ super auth_params
22
+ end
23
+ end
24
+
25
+ # Data class for MppTokenCredentials.
26
+ # Data class for MppTokenCredentials.
27
+ class MppTokenCredentials
28
+ attr_reader :authorization
29
+
30
+ def initialize(authorization:)
31
+ raise ArgumentError, 'authorization cannot be nil' if authorization.nil?
32
+
33
+ @authorization = authorization
34
+ end
35
+
36
+ def clone_with(authorization: nil)
37
+ authorization ||= self.authorization
38
+
39
+ MppTokenCredentials.new(authorization: authorization)
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,44 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # Utility class for custom header authorization.
8
+ class OAuthTokenPost < CoreLibrary::HeaderAuth
9
+ # Display error message on occurrence of authentication failure.
10
+ # @returns [String] The oAuth error message.
11
+ def error_message
12
+ 'OAuthTokenPost: x_apigee_authorization is undefined.'
13
+ end
14
+
15
+ # Initialization constructor.
16
+ def initialize(o_auth_token_post_credentials)
17
+ auth_params = {}
18
+ auth_params['X-Apigee-Authorization'] = o_auth_token_post_credentials.x_apigee_authorization unless
19
+ o_auth_token_post_credentials.nil? || o_auth_token_post_credentials.x_apigee_authorization.nil?
20
+
21
+ super auth_params
22
+ end
23
+ end
24
+
25
+ # Data class for OAuthTokenPostCredentials.
26
+ # Data class for OAuthTokenPostCredentials.
27
+ class OAuthTokenPostCredentials
28
+ attr_reader :x_apigee_authorization
29
+
30
+ def initialize(x_apigee_authorization:)
31
+ raise ArgumentError, 'x_apigee_authorization cannot be nil' if x_apigee_authorization.nil?
32
+
33
+ @x_apigee_authorization = x_apigee_authorization
34
+ end
35
+
36
+ def clone_with(x_apigee_authorization: nil)
37
+ x_apigee_authorization ||= self.x_apigee_authorization
38
+
39
+ OAuthTokenPostCredentials.new(
40
+ x_apigee_authorization: x_apigee_authorization
41
+ )
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,10 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # HttpCallBack allows defining callables for pre and post API calls.
8
+ class HttpCallBack < CoreLibrary::HttpCallback
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # HTTP Methods Enumeration.
8
+ class HttpMethodEnum < CoreLibrary::HttpMethod
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # Represents a single Http Request.
8
+ class HttpRequest < CoreLibrary::HttpRequest
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # shell_ev
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module ShellEv
7
+ # Http response received.
8
+ class HttpResponse < CoreLibrary::HttpResponse
9
+ end
10
+ end