apimatic-pnl-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/LICENSE +28 -0
- data/README.md +164 -0
- data/bin/console +15 -0
- data/lib/postnl_ecommerce/api_helper.rb +10 -0
- data/lib/postnl_ecommerce/client.rb +126 -0
- data/lib/postnl_ecommerce/configuration.rb +195 -0
- data/lib/postnl_ecommerce/controllers/barcode_controller.rb +71 -0
- data/lib/postnl_ecommerce/controllers/base_controller.rb +60 -0
- data/lib/postnl_ecommerce/controllers/checkout_controller.rb +45 -0
- data/lib/postnl_ecommerce/controllers/confirming_controller.rb +45 -0
- data/lib/postnl_ecommerce/controllers/deliverydate_controller.rb +233 -0
- data/lib/postnl_ecommerce/controllers/labelling_controller.rb +52 -0
- data/lib/postnl_ecommerce/controllers/locations_controller.rb +271 -0
- data/lib/postnl_ecommerce/controllers/postalcode_check_controller.rb +60 -0
- data/lib/postnl_ecommerce/controllers/shipment_controller.rb +52 -0
- data/lib/postnl_ecommerce/controllers/shipping_status_controller.rb +222 -0
- data/lib/postnl_ecommerce/controllers/timeframes_controller.rb +90 -0
- data/lib/postnl_ecommerce/exceptions/api_exception.rb +21 -0
- data/lib/postnl_ecommerce/exceptions/barcode_response_invalid_exception.rb +57 -0
- data/lib/postnl_ecommerce/exceptions/confirming_response_error_exception.rb +55 -0
- data/lib/postnl_ecommerce/exceptions/internal_server_error_exception.rb +46 -0
- data/lib/postnl_ecommerce/exceptions/invalid_request_exception.rb +62 -0
- data/lib/postnl_ecommerce/exceptions/labelling_response_invalid_exception.rb +57 -0
- data/lib/postnl_ecommerce/exceptions/method_not_allowed_only_get_exception.rb +53 -0
- data/lib/postnl_ecommerce/exceptions/method_not_allowed_only_get_post_exception.rb +53 -0
- data/lib/postnl_ecommerce/exceptions/method_not_allowed_only_post_exception.rb +53 -0
- data/lib/postnl_ecommerce/exceptions/postalcode_check_response_invalid_exception.rb +55 -0
- data/lib/postnl_ecommerce/exceptions/too_many_requests_exception.rb +53 -0
- data/lib/postnl_ecommerce/exceptions/unauthorized_exception.rb +53 -0
- data/lib/postnl_ecommerce/http/api_response.rb +19 -0
- data/lib/postnl_ecommerce/http/auth/custom_header_authentication.rb +52 -0
- data/lib/postnl_ecommerce/http/http_call_back.rb +10 -0
- data/lib/postnl_ecommerce/http/http_method_enum.rb +10 -0
- data/lib/postnl_ecommerce/http/http_request.rb +10 -0
- data/lib/postnl_ecommerce/http/http_response.rb +10 -0
- data/lib/postnl_ecommerce/http/proxy_settings.rb +22 -0
- data/lib/postnl_ecommerce/models/address.rb +240 -0
- data/lib/postnl_ecommerce/models/address_type_enum.rb +36 -0
- data/lib/postnl_ecommerce/models/amount.rb +138 -0
- data/lib/postnl_ecommerce/models/barcode_error.rb +71 -0
- data/lib/postnl_ecommerce/models/barcode_response.rb +62 -0
- data/lib/postnl_ecommerce/models/base_model.rb +110 -0
- data/lib/postnl_ecommerce/models/checkout_address.rb +120 -0
- data/lib/postnl_ecommerce/models/checkout_cut_off_day_enum.rb +61 -0
- data/lib/postnl_ecommerce/models/checkout_cut_off_time.rb +91 -0
- data/lib/postnl_ecommerce/models/checkout_cut_off_type_enum.rb +40 -0
- data/lib/postnl_ecommerce/models/checkout_delivery_option.rb +81 -0
- data/lib/postnl_ecommerce/models/checkout_location.rb +126 -0
- data/lib/postnl_ecommerce/models/checkout_option_enum.rb +64 -0
- data/lib/postnl_ecommerce/models/checkout_pickup_address.rb +112 -0
- data/lib/postnl_ecommerce/models/checkout_pickup_option.rb +103 -0
- data/lib/postnl_ecommerce/models/checkout_request.rb +152 -0
- data/lib/postnl_ecommerce/models/checkout_response.rb +110 -0
- data/lib/postnl_ecommerce/models/checkout_time_frame.rb +108 -0
- data/lib/postnl_ecommerce/models/checkout_warning.rb +95 -0
- data/lib/postnl_ecommerce/models/checkout_warning_option_enum.rb +68 -0
- data/lib/postnl_ecommerce/models/code_enum.rb +44 -0
- data/lib/postnl_ecommerce/models/complete_status.rb +62 -0
- data/lib/postnl_ecommerce/models/complete_status_shipment.rb +270 -0
- data/lib/postnl_ecommerce/models/confirming_custom.rb +239 -0
- data/lib/postnl_ecommerce/models/confirming_custom_content.rb +113 -0
- data/lib/postnl_ecommerce/models/confirming_error.rb +71 -0
- data/lib/postnl_ecommerce/models/confirming_message.rb +70 -0
- data/lib/postnl_ecommerce/models/confirming_request.rb +86 -0
- data/lib/postnl_ecommerce/models/confirming_response.rb +71 -0
- data/lib/postnl_ecommerce/models/confirming_response_shipment.rb +103 -0
- data/lib/postnl_ecommerce/models/confirming_shipment.rb +472 -0
- data/lib/postnl_ecommerce/models/contact.rb +101 -0
- data/lib/postnl_ecommerce/models/countrycode_enum.rb +36 -0
- data/lib/postnl_ecommerce/models/currency_enum.rb +44 -0
- data/lib/postnl_ecommerce/models/currency_labelling_api_enum.rb +36 -0
- data/lib/postnl_ecommerce/models/current_status.rb +62 -0
- data/lib/postnl_ecommerce/models/current_status_shipment.rb +207 -0
- data/lib/postnl_ecommerce/models/customer.rb +123 -0
- data/lib/postnl_ecommerce/models/customer_address.rb +237 -0
- data/lib/postnl_ecommerce/models/customs.rb +238 -0
- data/lib/postnl_ecommerce/models/customs_labelling_api.rb +238 -0
- data/lib/postnl_ecommerce/models/delivery_options.rb +64 -0
- data/lib/postnl_ecommerce/models/deliverydate_delivery_response.rb +87 -0
- data/lib/postnl_ecommerce/models/deliverydate_option_enum.rb +56 -0
- data/lib/postnl_ecommerce/models/deliverydate_options.rb +65 -0
- data/lib/postnl_ecommerce/models/deliverydate_shipping_response.rb +62 -0
- data/lib/postnl_ecommerce/models/detail.rb +62 -0
- data/lib/postnl_ecommerce/models/dimension.rb +106 -0
- data/lib/postnl_ecommerce/models/error.rb +73 -0
- data/lib/postnl_ecommerce/models/event.rb +127 -0
- data/lib/postnl_ecommerce/models/expectation.rb +71 -0
- data/lib/postnl_ecommerce/models/extra_field.rb +71 -0
- data/lib/postnl_ecommerce/models/fault.rb +71 -0
- data/lib/postnl_ecommerce/models/fault_shipping_status_api.rb +71 -0
- data/lib/postnl_ecommerce/models/friday.rb +62 -0
- data/lib/postnl_ecommerce/models/get_locations_result_multiple.rb +71 -0
- data/lib/postnl_ecommerce/models/get_locations_result_single.rb +62 -0
- data/lib/postnl_ecommerce/models/group.rb +97 -0
- data/lib/postnl_ecommerce/models/hazardous_material.rb +178 -0
- data/lib/postnl_ecommerce/models/labelling_customer.rb +123 -0
- data/lib/postnl_ecommerce/models/labelling_customer_labelling_api.rb +123 -0
- data/lib/postnl_ecommerce/models/labelling_customer_message.rb +83 -0
- data/lib/postnl_ecommerce/models/labelling_customer_shipment.rb +484 -0
- data/lib/postnl_ecommerce/models/labelling_customer_shipment_labelling_api.rb +484 -0
- data/lib/postnl_ecommerce/models/labelling_customs_content.rb +111 -0
- data/lib/postnl_ecommerce/models/labelling_error.rb +81 -0
- data/lib/postnl_ecommerce/models/labelling_label.rb +84 -0
- data/lib/postnl_ecommerce/models/labelling_merged_label.rb +80 -0
- data/lib/postnl_ecommerce/models/labelling_request.rb +112 -0
- data/lib/postnl_ecommerce/models/labelling_response.rb +95 -0
- data/lib/postnl_ecommerce/models/labelling_response_shipment.rb +123 -0
- data/lib/postnl_ecommerce/models/language_enum.rb +48 -0
- data/lib/postnl_ecommerce/models/location.rb +174 -0
- data/lib/postnl_ecommerce/models/location_response_single.rb +63 -0
- data/lib/postnl_ecommerce/models/locations_address.rb +122 -0
- data/lib/postnl_ecommerce/models/locations_delivery_option_enum.rb +40 -0
- data/lib/postnl_ecommerce/models/locations_opening_hours.rb +121 -0
- data/lib/postnl_ecommerce/models/locations_response_multiple.rb +63 -0
- data/lib/postnl_ecommerce/models/monday.rb +62 -0
- data/lib/postnl_ecommerce/models/no_timeframes_options.rb +62 -0
- data/lib/postnl_ecommerce/models/old_status.rb +106 -0
- data/lib/postnl_ecommerce/models/opening_hours.rb +121 -0
- data/lib/postnl_ecommerce/models/opening_hours_per_day.rb +71 -0
- data/lib/postnl_ecommerce/models/options.rb +64 -0
- data/lib/postnl_ecommerce/models/origin_country_code_enum.rb +36 -0
- data/lib/postnl_ecommerce/models/postalcode_check_address.rb +116 -0
- data/lib/postnl_ecommerce/models/postalcode_check_error.rb +81 -0
- data/lib/postnl_ecommerce/models/product_option.rb +74 -0
- data/lib/postnl_ecommerce/models/reason_no_timeframe.rb +104 -0
- data/lib/postnl_ecommerce/models/reason_no_timeframes.rb +71 -0
- data/lib/postnl_ecommerce/models/saturday.rb +62 -0
- data/lib/postnl_ecommerce/models/shipment_type_enum.rb +50 -0
- data/lib/postnl_ecommerce/models/shippingstatus_address.rb +204 -0
- data/lib/postnl_ecommerce/models/shippingstatus_amount.rb +75 -0
- data/lib/postnl_ecommerce/models/shippingstatus_customer.rb +83 -0
- data/lib/postnl_ecommerce/models/shippingstatus_dimension.rb +101 -0
- data/lib/postnl_ecommerce/models/shippingstatus_product_option.rb +74 -0
- data/lib/postnl_ecommerce/models/shippingstatus_product_options.rb +63 -0
- data/lib/postnl_ecommerce/models/shippingstatus_response.rb +94 -0
- data/lib/postnl_ecommerce/models/shippingstatus_response_signature.rb +71 -0
- data/lib/postnl_ecommerce/models/shippingstatus_response_updated_shipment.rb +105 -0
- data/lib/postnl_ecommerce/models/shippingstatus_warning.rb +71 -0
- data/lib/postnl_ecommerce/models/signature.rb +84 -0
- data/lib/postnl_ecommerce/models/status.rb +108 -0
- data/lib/postnl_ecommerce/models/sunday.rb +62 -0
- data/lib/postnl_ecommerce/models/sustainability.rb +73 -0
- data/lib/postnl_ecommerce/models/thursday.rb +62 -0
- data/lib/postnl_ecommerce/models/timeframe.rb +71 -0
- data/lib/postnl_ecommerce/models/timeframe_options_enum.rb +60 -0
- data/lib/postnl_ecommerce/models/timeframe_response.rb +74 -0
- data/lib/postnl_ecommerce/models/timeframe_timeframe.rb +96 -0
- data/lib/postnl_ecommerce/models/timeframes.rb +71 -0
- data/lib/postnl_ecommerce/models/timeframes_response_object.rb +71 -0
- data/lib/postnl_ecommerce/models/tuesday.rb +62 -0
- data/lib/postnl_ecommerce/models/type_enum.rb +64 -0
- data/lib/postnl_ecommerce/models/updated_shipment_status.rb +108 -0
- data/lib/postnl_ecommerce/models/warning.rb +71 -0
- data/lib/postnl_ecommerce/models/warnings.rb +62 -0
- data/lib/postnl_ecommerce/models/wednesday.rb +62 -0
- data/lib/postnl_ecommerce/utilities/date_time_helper.rb +11 -0
- data/lib/postnl_ecommerce/utilities/file_wrapper.rb +28 -0
- data/lib/postnl_ecommerce.rb +188 -0
- data/test/controllers/controller_test_base.rb +23 -0
- data/test/controllers/test_barcode_controller.rb +52 -0
- data/test/controllers/test_checkout_controller.rb +63 -0
- data/test/controllers/test_confirming_controller.rb +54 -0
- data/test/controllers/test_deliverydate_controller.rb +60 -0
- data/test/controllers/test_labelling_controller.rb +57 -0
- data/test/controllers/test_locations_controller.rb +185 -0
- data/test/controllers/test_postalcode_check_controller.rb +55 -0
- data/test/controllers/test_shipment_controller.rb +57 -0
- data/test/controllers/test_shipping_status_controller.rb +209 -0
- data/test/controllers/test_timeframes_controller.rb +67 -0
- data/test/http_response_catcher.rb +19 -0
- metadata +283 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# postnl_ecommerce
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated for PostNL by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require 'date'
|
|
7
|
+
require 'json'
|
|
8
|
+
|
|
9
|
+
require 'apimatic_core_interfaces'
|
|
10
|
+
require 'apimatic_core'
|
|
11
|
+
require 'apimatic_faraday_client_adapter'
|
|
12
|
+
|
|
13
|
+
require_relative 'postnl_ecommerce/api_helper'
|
|
14
|
+
require_relative 'postnl_ecommerce/client'
|
|
15
|
+
|
|
16
|
+
# Utilities
|
|
17
|
+
require_relative 'postnl_ecommerce/utilities/file_wrapper'
|
|
18
|
+
require_relative 'postnl_ecommerce/utilities/date_time_helper'
|
|
19
|
+
|
|
20
|
+
# Http
|
|
21
|
+
require_relative 'postnl_ecommerce/http/api_response'
|
|
22
|
+
require_relative 'postnl_ecommerce/http/http_call_back'
|
|
23
|
+
require_relative 'postnl_ecommerce/http/http_method_enum'
|
|
24
|
+
require_relative 'postnl_ecommerce/http/http_request'
|
|
25
|
+
require_relative 'postnl_ecommerce/http/http_response'
|
|
26
|
+
require_relative 'postnl_ecommerce/http/proxy_settings'
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
require_relative 'postnl_ecommerce/http/auth/custom_header_authentication'
|
|
30
|
+
|
|
31
|
+
# Models
|
|
32
|
+
require_relative 'postnl_ecommerce/models/base_model'
|
|
33
|
+
require_relative 'postnl_ecommerce/models/barcode_response'
|
|
34
|
+
require_relative 'postnl_ecommerce/models/barcode_error'
|
|
35
|
+
require_relative 'postnl_ecommerce/models/detail'
|
|
36
|
+
require_relative 'postnl_ecommerce/models/fault'
|
|
37
|
+
require_relative 'postnl_ecommerce/models/checkout_request'
|
|
38
|
+
require_relative 'postnl_ecommerce/models/checkout_address'
|
|
39
|
+
require_relative 'postnl_ecommerce/models/checkout_cut_off_time'
|
|
40
|
+
require_relative 'postnl_ecommerce/models/checkout_response'
|
|
41
|
+
require_relative 'postnl_ecommerce/models/checkout_warning'
|
|
42
|
+
require_relative 'postnl_ecommerce/models/checkout_pickup_option'
|
|
43
|
+
require_relative 'postnl_ecommerce/models/checkout_location'
|
|
44
|
+
require_relative 'postnl_ecommerce/models/opening_hours_per_day'
|
|
45
|
+
require_relative 'postnl_ecommerce/models/checkout_pickup_address'
|
|
46
|
+
require_relative 'postnl_ecommerce/models/checkout_delivery_option'
|
|
47
|
+
require_relative 'postnl_ecommerce/models/checkout_time_frame'
|
|
48
|
+
require_relative 'postnl_ecommerce/models/error'
|
|
49
|
+
require_relative 'postnl_ecommerce/models/opening_hours'
|
|
50
|
+
require_relative 'postnl_ecommerce/models/sustainability'
|
|
51
|
+
require_relative 'postnl_ecommerce/models/confirming_request'
|
|
52
|
+
require_relative 'postnl_ecommerce/models/confirming_shipment'
|
|
53
|
+
require_relative 'postnl_ecommerce/models/customer_address'
|
|
54
|
+
require_relative 'postnl_ecommerce/models/confirming_message'
|
|
55
|
+
require_relative 'postnl_ecommerce/models/confirming_custom'
|
|
56
|
+
require_relative 'postnl_ecommerce/models/confirming_custom_content'
|
|
57
|
+
require_relative 'postnl_ecommerce/models/confirming_response'
|
|
58
|
+
require_relative 'postnl_ecommerce/models/confirming_response_shipment'
|
|
59
|
+
require_relative 'postnl_ecommerce/models/confirming_error'
|
|
60
|
+
require_relative 'postnl_ecommerce/models/address'
|
|
61
|
+
require_relative 'postnl_ecommerce/models/amount'
|
|
62
|
+
require_relative 'postnl_ecommerce/models/contact'
|
|
63
|
+
require_relative 'postnl_ecommerce/models/customer'
|
|
64
|
+
require_relative 'postnl_ecommerce/models/dimension'
|
|
65
|
+
require_relative 'postnl_ecommerce/models/group'
|
|
66
|
+
require_relative 'postnl_ecommerce/models/hazardous_material'
|
|
67
|
+
require_relative 'postnl_ecommerce/models/product_option'
|
|
68
|
+
require_relative 'postnl_ecommerce/models/warning'
|
|
69
|
+
require_relative 'postnl_ecommerce/models/deliverydate_options'
|
|
70
|
+
require_relative 'postnl_ecommerce/models/deliverydate_delivery_response'
|
|
71
|
+
require_relative 'postnl_ecommerce/models/deliverydate_shipping_response'
|
|
72
|
+
require_relative 'postnl_ecommerce/models/labelling_request'
|
|
73
|
+
require_relative 'postnl_ecommerce/models/labelling_customer'
|
|
74
|
+
require_relative 'postnl_ecommerce/models/labelling_customer_message'
|
|
75
|
+
require_relative 'postnl_ecommerce/models/labelling_customer_shipment'
|
|
76
|
+
require_relative 'postnl_ecommerce/models/labelling_customs_content'
|
|
77
|
+
require_relative 'postnl_ecommerce/models/labelling_response'
|
|
78
|
+
require_relative 'postnl_ecommerce/models/labelling_merged_label'
|
|
79
|
+
require_relative 'postnl_ecommerce/models/labelling_label'
|
|
80
|
+
require_relative 'postnl_ecommerce/models/labelling_response_shipment'
|
|
81
|
+
require_relative 'postnl_ecommerce/models/labelling_error'
|
|
82
|
+
require_relative 'postnl_ecommerce/models/customs'
|
|
83
|
+
require_relative 'postnl_ecommerce/models/extra_field'
|
|
84
|
+
require_relative 'postnl_ecommerce/models/locations_response_multiple'
|
|
85
|
+
require_relative 'postnl_ecommerce/models/location_response_single'
|
|
86
|
+
require_relative 'postnl_ecommerce/models/get_locations_result_multiple'
|
|
87
|
+
require_relative 'postnl_ecommerce/models/get_locations_result_single'
|
|
88
|
+
require_relative 'postnl_ecommerce/models/location'
|
|
89
|
+
require_relative 'postnl_ecommerce/models/locations_opening_hours'
|
|
90
|
+
require_relative 'postnl_ecommerce/models/locations_address'
|
|
91
|
+
require_relative 'postnl_ecommerce/models/delivery_options'
|
|
92
|
+
require_relative 'postnl_ecommerce/models/friday'
|
|
93
|
+
require_relative 'postnl_ecommerce/models/monday'
|
|
94
|
+
require_relative 'postnl_ecommerce/models/saturday'
|
|
95
|
+
require_relative 'postnl_ecommerce/models/sunday'
|
|
96
|
+
require_relative 'postnl_ecommerce/models/thursday'
|
|
97
|
+
require_relative 'postnl_ecommerce/models/tuesday'
|
|
98
|
+
require_relative 'postnl_ecommerce/models/wednesday'
|
|
99
|
+
require_relative 'postnl_ecommerce/models/postalcode_check_address'
|
|
100
|
+
require_relative 'postnl_ecommerce/models/postalcode_check_error'
|
|
101
|
+
require_relative 'postnl_ecommerce/models/labelling_customer_labelling_api'
|
|
102
|
+
require_relative 'postnl_ecommerce/models/' \
|
|
103
|
+
'labelling_customer_shipment_labelling_api'
|
|
104
|
+
require_relative 'postnl_ecommerce/models/customs_labelling_api'
|
|
105
|
+
require_relative 'postnl_ecommerce/models/shippingstatus_response'
|
|
106
|
+
require_relative 'postnl_ecommerce/models/current_status_shipment'
|
|
107
|
+
require_relative 'postnl_ecommerce/models/complete_status_shipment'
|
|
108
|
+
require_relative 'postnl_ecommerce/models/shippingstatus_product_options'
|
|
109
|
+
require_relative 'postnl_ecommerce/models/shippingstatus_product_option'
|
|
110
|
+
require_relative 'postnl_ecommerce/models/shippingstatus_address'
|
|
111
|
+
require_relative 'postnl_ecommerce/models/shippingstatus_amount'
|
|
112
|
+
require_relative 'postnl_ecommerce/models/shippingstatus_dimension'
|
|
113
|
+
require_relative 'postnl_ecommerce/models/shippingstatus_customer'
|
|
114
|
+
require_relative 'postnl_ecommerce/models/shippingstatus_response_signature'
|
|
115
|
+
require_relative 'postnl_ecommerce/models/shippingstatus_warning'
|
|
116
|
+
require_relative 'postnl_ecommerce/models/updated_shipment_status'
|
|
117
|
+
require_relative 'postnl_ecommerce/models/complete_status'
|
|
118
|
+
require_relative 'postnl_ecommerce/models/current_status'
|
|
119
|
+
require_relative 'postnl_ecommerce/models/event'
|
|
120
|
+
require_relative 'postnl_ecommerce/models/expectation'
|
|
121
|
+
require_relative 'postnl_ecommerce/models/fault_shipping_status_api'
|
|
122
|
+
require_relative 'postnl_ecommerce/models/old_status'
|
|
123
|
+
require_relative 'postnl_ecommerce/models/' \
|
|
124
|
+
'shippingstatus_response_updated_shipment'
|
|
125
|
+
require_relative 'postnl_ecommerce/models/signature'
|
|
126
|
+
require_relative 'postnl_ecommerce/models/status'
|
|
127
|
+
require_relative 'postnl_ecommerce/models/warnings'
|
|
128
|
+
require_relative 'postnl_ecommerce/models/timeframe_response'
|
|
129
|
+
require_relative 'postnl_ecommerce/models/no_timeframes_options'
|
|
130
|
+
require_relative 'postnl_ecommerce/models/timeframes_response_object'
|
|
131
|
+
require_relative 'postnl_ecommerce/models/options'
|
|
132
|
+
require_relative 'postnl_ecommerce/models/reason_no_timeframe'
|
|
133
|
+
require_relative 'postnl_ecommerce/models/reason_no_timeframes'
|
|
134
|
+
require_relative 'postnl_ecommerce/models/timeframe'
|
|
135
|
+
require_relative 'postnl_ecommerce/models/timeframes'
|
|
136
|
+
require_relative 'postnl_ecommerce/models/timeframe_timeframe'
|
|
137
|
+
require_relative 'postnl_ecommerce/models/type_enum'
|
|
138
|
+
require_relative 'postnl_ecommerce/models/checkout_option_enum'
|
|
139
|
+
require_relative 'postnl_ecommerce/models/checkout_cut_off_day_enum'
|
|
140
|
+
require_relative 'postnl_ecommerce/models/checkout_cut_off_type_enum'
|
|
141
|
+
require_relative 'postnl_ecommerce/models/checkout_warning_option_enum'
|
|
142
|
+
require_relative 'postnl_ecommerce/models/address_type_enum'
|
|
143
|
+
require_relative 'postnl_ecommerce/models/code_enum'
|
|
144
|
+
require_relative 'postnl_ecommerce/models/countrycode_enum'
|
|
145
|
+
require_relative 'postnl_ecommerce/models/currency_enum'
|
|
146
|
+
require_relative 'postnl_ecommerce/models/shipment_type_enum'
|
|
147
|
+
require_relative 'postnl_ecommerce/models/deliverydate_option_enum'
|
|
148
|
+
require_relative 'postnl_ecommerce/models/origin_country_code_enum'
|
|
149
|
+
require_relative 'postnl_ecommerce/models/currency_labelling_api_enum'
|
|
150
|
+
require_relative 'postnl_ecommerce/models/locations_delivery_option_enum'
|
|
151
|
+
require_relative 'postnl_ecommerce/models/language_enum'
|
|
152
|
+
require_relative 'postnl_ecommerce/models/timeframe_options_enum'
|
|
153
|
+
|
|
154
|
+
# Exceptions
|
|
155
|
+
require_relative 'postnl_ecommerce/exceptions/api_exception'
|
|
156
|
+
require_relative 'postnl_ecommerce/exceptions/' \
|
|
157
|
+
'barcode_response_invalid_exception'
|
|
158
|
+
require_relative 'postnl_ecommerce/exceptions/unauthorized_exception'
|
|
159
|
+
require_relative 'postnl_ecommerce/exceptions/' \
|
|
160
|
+
'method_not_allowed_only_get_post_exception'
|
|
161
|
+
require_relative 'postnl_ecommerce/exceptions/too_many_requests_exception'
|
|
162
|
+
require_relative 'postnl_ecommerce/exceptions/internal_server_error_exception'
|
|
163
|
+
require_relative 'postnl_ecommerce/exceptions/invalid_request_exception'
|
|
164
|
+
require_relative 'postnl_ecommerce/exceptions/' \
|
|
165
|
+
'method_not_allowed_only_post_exception'
|
|
166
|
+
require_relative 'postnl_ecommerce/exceptions/' \
|
|
167
|
+
'confirming_response_error_exception'
|
|
168
|
+
require_relative 'postnl_ecommerce/exceptions/' \
|
|
169
|
+
'labelling_response_invalid_exception'
|
|
170
|
+
require_relative 'postnl_ecommerce/exceptions/' \
|
|
171
|
+
'postalcode_check_response_invalid_exception'
|
|
172
|
+
require_relative 'postnl_ecommerce/exceptions/' \
|
|
173
|
+
'method_not_allowed_only_get_exception'
|
|
174
|
+
|
|
175
|
+
require_relative 'postnl_ecommerce/configuration'
|
|
176
|
+
|
|
177
|
+
# Controllers
|
|
178
|
+
require_relative 'postnl_ecommerce/controllers/base_controller'
|
|
179
|
+
require_relative 'postnl_ecommerce/controllers/barcode_controller'
|
|
180
|
+
require_relative 'postnl_ecommerce/controllers/checkout_controller'
|
|
181
|
+
require_relative 'postnl_ecommerce/controllers/confirming_controller'
|
|
182
|
+
require_relative 'postnl_ecommerce/controllers/deliverydate_controller'
|
|
183
|
+
require_relative 'postnl_ecommerce/controllers/labelling_controller'
|
|
184
|
+
require_relative 'postnl_ecommerce/controllers/locations_controller'
|
|
185
|
+
require_relative 'postnl_ecommerce/controllers/postalcode_check_controller'
|
|
186
|
+
require_relative 'postnl_ecommerce/controllers/shipment_controller'
|
|
187
|
+
require_relative 'postnl_ecommerce/controllers/shipping_status_controller'
|
|
188
|
+
require_relative 'postnl_ecommerce/controllers/timeframes_controller'
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# postnl_ecommerce
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated for PostNL by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require 'json'
|
|
7
|
+
require 'minitest/autorun'
|
|
8
|
+
require 'minitest/hell'
|
|
9
|
+
require 'minitest/pride'
|
|
10
|
+
require 'minitest/proveit'
|
|
11
|
+
require 'postnl_ecommerce'
|
|
12
|
+
require_relative '../http_response_catcher'
|
|
13
|
+
|
|
14
|
+
class ControllerTestBase < Minitest::Test
|
|
15
|
+
parallelize_me!
|
|
16
|
+
include PostnlEcommerce
|
|
17
|
+
include CoreLibrary
|
|
18
|
+
|
|
19
|
+
# Initializes the base test controller
|
|
20
|
+
def setup_class
|
|
21
|
+
@client = Client.from_env(http_callback: HttpResponseCatcher.new)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# postnl_ecommerce
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated for PostNL by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require_relative 'controller_test_base'
|
|
7
|
+
|
|
8
|
+
class BarcodeControllerTest < ControllerTestBase
|
|
9
|
+
# Called only once for the class before any test has executed
|
|
10
|
+
def setup
|
|
11
|
+
setup_class
|
|
12
|
+
@controller = @client.barcode
|
|
13
|
+
@response_catcher = @controller.http_call_back
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Request example:
|
|
17
|
+
#```
|
|
18
|
+
#curl -X GET "https://api-sandbox.postnl.nl/shipment/v1_1/barcode?CustomerCode=DEVC&CustomerNumber=11223344&Type=3S&Serie=000000000-999999999&" \
|
|
19
|
+
# -H "Accept: application/json" \
|
|
20
|
+
# -H "apikey: APIKEY-HERE"
|
|
21
|
+
#```
|
|
22
|
+
#
|
|
23
|
+
def test_generate_barcode
|
|
24
|
+
# Parameters for the API call
|
|
25
|
+
customer_code = 'DEVC'
|
|
26
|
+
customer_number = '11223344'
|
|
27
|
+
type = '3S'
|
|
28
|
+
serie = '100000000'
|
|
29
|
+
range = nil
|
|
30
|
+
|
|
31
|
+
# Perform the API call through the SDK function
|
|
32
|
+
result = @controller.generate_barcode(customer_code, customer_number, type,
|
|
33
|
+
serie: serie, range: range)
|
|
34
|
+
|
|
35
|
+
# Test response code
|
|
36
|
+
assert_equal(200, @response_catcher.response.status_code)
|
|
37
|
+
# Test headers
|
|
38
|
+
expected_headers = {}
|
|
39
|
+
expected_headers['content-type'] = 'application/json; charset=utf-8'
|
|
40
|
+
|
|
41
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
|
42
|
+
|
|
43
|
+
# Test whether the captured response is as we expected
|
|
44
|
+
refute_nil(result)
|
|
45
|
+
expected_body = JSON.parse(
|
|
46
|
+
'{"Barcode":"3SDEVC903942795"}'
|
|
47
|
+
)
|
|
48
|
+
received_body = JSON.parse(@response_catcher.response.raw_body)
|
|
49
|
+
assert(ComparisonHelper.match_body(expected_body, received_body))
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# postnl_ecommerce
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated for PostNL by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require_relative 'controller_test_base'
|
|
7
|
+
|
|
8
|
+
class CheckoutControllerTest < ControllerTestBase
|
|
9
|
+
# Called only once for the class before any test has executed
|
|
10
|
+
def setup
|
|
11
|
+
setup_class
|
|
12
|
+
@controller = @client.checkout
|
|
13
|
+
@response_catcher = @controller.http_call_back
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Checkout
|
|
17
|
+
def test_checkout
|
|
18
|
+
# Parameters for the API call
|
|
19
|
+
body = CheckoutRequest.from_hash(APIHelper.json_deserialize(
|
|
20
|
+
'{"OrderDate":"24-02-2021 12:00:00","ShippingDuration":1,"CutOffTimes":['\
|
|
21
|
+
'{"Day":"00","Available":true,"Type":"Regular","Time":"20:00:00"},{"Day"'\
|
|
22
|
+
':"00","Available":true,"Type":"Today","Time":"12:00:00"}],"HolidaySorti'\
|
|
23
|
+
'ng":true,"Options":["Daytime","Evening","Today","Sunday","Pickup"],"Loc'\
|
|
24
|
+
'ations":2,"Days":3,"Addresses":[{"AddressType":"01","Street":"Molengraa'\
|
|
25
|
+
'ffplantsoen","HouseNr":74,"Zipcode":"3571ZZ","City":"Utrecht","Countryc'\
|
|
26
|
+
'ode":"NL"}]}', false))
|
|
27
|
+
|
|
28
|
+
# Perform the API call through the SDK function
|
|
29
|
+
result = @controller.checkout(body)
|
|
30
|
+
|
|
31
|
+
# Test response code
|
|
32
|
+
assert_equal(200, @response_catcher.response.status_code)
|
|
33
|
+
# Test headers
|
|
34
|
+
expected_headers = {}
|
|
35
|
+
expected_headers['content-type'] = 'application/json; charset=utf-8'
|
|
36
|
+
|
|
37
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
|
38
|
+
|
|
39
|
+
# Test whether the captured response is as we expected
|
|
40
|
+
refute_nil(result)
|
|
41
|
+
expected_body = JSON.parse(
|
|
42
|
+
'{"DeliveryOptions":[{"DeliveryDate":"09-07-2019","Timeframe":[{"From":"'\
|
|
43
|
+
'18:00:00","To":"22:30:00","Options":["Daytime"],"ShippingDate":"08-07-2'\
|
|
44
|
+
'019","Sustainability":{"Code":"02","Description":"Sustainable option"}}'\
|
|
45
|
+
']}],"PickupOptions":[{"PickupDate":"09-07-2019","ShippingDate":"08-07-2'\
|
|
46
|
+
'019","Option":"Pickup","Locations":[{"Address":{"Street":"Siriusdreef",'\
|
|
47
|
+
'"Zipcode":"2132WT","HouseNr":42,"HouseNrExt":"-60","Countrycode":"NL","'\
|
|
48
|
+
'CompanyName":"Pickup company BV"},"PickupTime":"15:00","OpeningHours":{'\
|
|
49
|
+
'"Monday":{"From":"08:30:00","To":"22:30:00"},"Tuesday":{"From":"08:30:0'\
|
|
50
|
+
'0","To":"22:30:00"},"Wednesday":{"From":"08:30:00","To":"22:30:00"},"Th'\
|
|
51
|
+
'ursday":{"From":"08:30:00","To":"22:30:00"},"Friday":{"From":"08:30:00"'\
|
|
52
|
+
',"To":"22:30:00"},"Saturday":{"From":"08:30:00","To":"22:30:00"},"Sunda'\
|
|
53
|
+
'y":{"From":"08:30:00","To":"22:30:00"}},"Distance":234,"LocationCode":"'\
|
|
54
|
+
'8101163043","PartnerID":"PNPNL-01","Sustainability":{"Code":"02","Descr'\
|
|
55
|
+
'iption":"Sustainable option"}}]}],"Warnings":[{"DeliveryDate":"07-07-20'\
|
|
56
|
+
'19","Code":"5034","Description":"No delivery option found on date","Opt'\
|
|
57
|
+
'ions":"Daytime"}]}'
|
|
58
|
+
)
|
|
59
|
+
received_body = JSON.parse(@response_catcher.response.raw_body)
|
|
60
|
+
assert(ComparisonHelper.match_body(expected_body, received_body))
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# postnl_ecommerce
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated for PostNL by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require_relative 'controller_test_base'
|
|
7
|
+
|
|
8
|
+
class ConfirmingControllerTest < ControllerTestBase
|
|
9
|
+
# Called only once for the class before any test has executed
|
|
10
|
+
def setup
|
|
11
|
+
setup_class
|
|
12
|
+
@controller = @client.confirming
|
|
13
|
+
@response_catcher = @controller.http_call_back
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Confirm a shipment to PostNL
|
|
17
|
+
def test_confirm_shipment
|
|
18
|
+
# Parameters for the API call
|
|
19
|
+
body = ConfirmingRequest.from_hash(APIHelper.json_deserialize(
|
|
20
|
+
'{"Customer":{"Address":{"AddressType":"02","City":"Den Haag","CompanyNa'\
|
|
21
|
+
'me":"PostNL","Countrycode":"NL","HouseNr":"3","Street":"Waldorpstraat",'\
|
|
22
|
+
'"Zipcode":"2521CA"},"CollectionLocation":"123456","ContactPerson":"Jans'\
|
|
23
|
+
'sen","CustomerCode":"DEVC","CustomerNumber":"11223344","Email":"email@c'\
|
|
24
|
+
'ompany.com","Name":"Janssen"},"Message":{"MessageID":"1","MessageTimeSt'\
|
|
25
|
+
'amp":"08-09-2022 12:00:00"},"Shipments":[{"Addresses":[{"AddressType":"'\
|
|
26
|
+
'01","City":"Utrecht","Countrycode":"NL","FirstName":"Peter","HouseNr":"'\
|
|
27
|
+
'9","HouseNrExt":"a bis","Name":"de Ruiter","Street":"Bilderdijkstraat",'\
|
|
28
|
+
'"Zipcode":"3532VA"}],"Barcode":"3SDEVC748859096","Contacts":[{"ContactT'\
|
|
29
|
+
'ype":"01","Email":"receiver@email.com","SMSNr":"+31612345678","TelNr":"'\
|
|
30
|
+
'+31301234567"}],"Dimension":{"Weight":2000},"ProductCodeDelivery":"3085'\
|
|
31
|
+
'"}]}', false))
|
|
32
|
+
|
|
33
|
+
# Perform the API call through the SDK function
|
|
34
|
+
result = @controller.confirm_shipment(body)
|
|
35
|
+
|
|
36
|
+
# Test response code
|
|
37
|
+
assert_equal(200, @response_catcher.response.status_code)
|
|
38
|
+
# Test headers
|
|
39
|
+
expected_headers = {}
|
|
40
|
+
expected_headers['content-type'] = 'application/json; charset=utf-8'
|
|
41
|
+
|
|
42
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
|
43
|
+
|
|
44
|
+
# Test whether the captured response is as we expected
|
|
45
|
+
refute_nil(result)
|
|
46
|
+
expected_body = JSON.parse(
|
|
47
|
+
'{"ResponseShipments":[{"Errors":[],"Warnings":[{"Code":"1280103","Descr'\
|
|
48
|
+
'iption":"Address is unknown"}],"Barcode":"3SDEVC281677095"}]}'
|
|
49
|
+
)
|
|
50
|
+
received_body = JSON.parse(@response_catcher.response.raw_body)
|
|
51
|
+
assert(ComparisonHelper.match_body(expected_body, received_body))
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# postnl_ecommerce
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated for PostNL by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require_relative 'controller_test_base'
|
|
7
|
+
|
|
8
|
+
class DeliverydateControllerTest < ControllerTestBase
|
|
9
|
+
# Called only once for the class before any test has executed
|
|
10
|
+
def setup
|
|
11
|
+
setup_class
|
|
12
|
+
@controller = @client.deliverydate
|
|
13
|
+
@response_catcher = @controller.http_call_back
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Request example:
|
|
17
|
+
#```
|
|
18
|
+
#curl -X GET "https://api-sandbox.postnl.nl/shipment/v2_2/calculate/date/shipping?DeliveryDate=30-05-2022&ShippingDuration=1&PostalCode=2132WT&CountryCode=NL&City=Hoofddorp&Street=Siriusdreef&HouseNumber=42&HouseNrExt=A" \
|
|
19
|
+
# -H "Accept: application/json" \
|
|
20
|
+
# -H "apikey: APIKEY-HERE" \
|
|
21
|
+
#
|
|
22
|
+
#```
|
|
23
|
+
#
|
|
24
|
+
def test_calculate_shipping_date
|
|
25
|
+
# Parameters for the API call
|
|
26
|
+
delivery_date = '30-05-2022'
|
|
27
|
+
shipping_duration = 1
|
|
28
|
+
postal_code = '2132WT'
|
|
29
|
+
country_code = 'NL'
|
|
30
|
+
origin_country_code = 'NL'
|
|
31
|
+
city = 'Hoofddorp'
|
|
32
|
+
street = 'Siriusdreef'
|
|
33
|
+
house_number = 42
|
|
34
|
+
house_nr_ext = 'A'
|
|
35
|
+
|
|
36
|
+
# Perform the API call through the SDK function
|
|
37
|
+
result = @controller.calculate_shipping_date(
|
|
38
|
+
delivery_date, shipping_duration, postal_code, country_code,
|
|
39
|
+
origin_country_code: origin_country_code, city: city, street: street,
|
|
40
|
+
house_number: house_number, house_nr_ext: house_nr_ext
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
# Test response code
|
|
44
|
+
assert_equal(200, @response_catcher.response.status_code)
|
|
45
|
+
# Test headers
|
|
46
|
+
expected_headers = {}
|
|
47
|
+
expected_headers['content-type'] = 'application/json; charset=utf-8'
|
|
48
|
+
|
|
49
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
|
50
|
+
|
|
51
|
+
# Test whether the captured response is as we expected
|
|
52
|
+
refute_nil(result)
|
|
53
|
+
expected_body = JSON.parse(
|
|
54
|
+
'{"SentDate":"29-06-2022"}'
|
|
55
|
+
)
|
|
56
|
+
received_body = JSON.parse(@response_catcher.response.raw_body)
|
|
57
|
+
assert(ComparisonHelper.match_body(expected_body, received_body))
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# postnl_ecommerce
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated for PostNL by
|
|
4
|
+
# APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require_relative 'controller_test_base'
|
|
7
|
+
|
|
8
|
+
class LabellingControllerTest < ControllerTestBase
|
|
9
|
+
# Called only once for the class before any test has executed
|
|
10
|
+
def setup
|
|
11
|
+
setup_class
|
|
12
|
+
@controller = @client.labelling
|
|
13
|
+
@response_catcher = @controller.http_call_back
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Generate a label and confirmation
|
|
17
|
+
def test_generate_label
|
|
18
|
+
# Parameters for the API call
|
|
19
|
+
body = LabellingRequest.from_hash(APIHelper.json_deserialize(
|
|
20
|
+
'{"Customer":{"Address":{"AddressType":"02","City":"Den Haag","CompanyNa'\
|
|
21
|
+
'me":"PostNL","Countrycode":"NL","HouseNr":"3","Street":"Waldorpstraat",'\
|
|
22
|
+
'"Zipcode":"2521CA"},"CollectionLocation":"123456","ContactPerson":"Jans'\
|
|
23
|
+
'sen","CustomerCode":"DEVC","CustomerNumber":"11223344","Email":"email@c'\
|
|
24
|
+
'ompany.com","Name":"Janssen"},"Message":{"MessageID":"1","MessageTimeSt'\
|
|
25
|
+
'amp":"08-09-2022 12:00:00","Printertype":"GraphicFile|PDF"},"Shipments"'\
|
|
26
|
+
':[{"Addresses":[{"AddressType":"01","City":"Utrecht","Countrycode":"NL"'\
|
|
27
|
+
',"FirstName":"Peter","HouseNr":"9","HouseNrExt":"a bis","Name":"de Ruit'\
|
|
28
|
+
'er","Street":"Bilderdijkstraat","Zipcode":"3532VA"}],"Barcode":"3SDEVC7'\
|
|
29
|
+
'48859096","Contacts":[{"ContactType":"01","Email":"receiver@email.com",'\
|
|
30
|
+
'"SMSNr":"+31612345678","TelNr":"+31301234567"}],"Dimension":{"Weight":2'\
|
|
31
|
+
'000},"ProductCodeDelivery":"3085"}]}', false))
|
|
32
|
+
confirm = true
|
|
33
|
+
|
|
34
|
+
# Perform the API call through the SDK function
|
|
35
|
+
result = @controller.generate_label(body, confirm: confirm)
|
|
36
|
+
|
|
37
|
+
# Test response code
|
|
38
|
+
assert_equal(200, @response_catcher.response.status_code)
|
|
39
|
+
# Test headers
|
|
40
|
+
expected_headers = {}
|
|
41
|
+
expected_headers['content-type'] = 'application/json; charset=utf-8'
|
|
42
|
+
|
|
43
|
+
assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
|
|
44
|
+
|
|
45
|
+
# Test whether the captured response is as we expected
|
|
46
|
+
refute_nil(result)
|
|
47
|
+
expected_body = JSON.parse(
|
|
48
|
+
'{"MergedLabels":[],"ResponseShipments":[{"Barcode":"3SDEVC272730803","E'\
|
|
49
|
+
'rrors":[],"Warnings":[],"Labels":[{"Content":"JVBERi0xLjMKJeLjz9MKNSAwI'\
|
|
50
|
+
'G9iago8PAovQ29udGVudHMg[TRUNCATED]","Labeltype":"Label","OutputType":"P'\
|
|
51
|
+
'DF"}],"ProductCodeDelivery":"3085"}]}'
|
|
52
|
+
)
|
|
53
|
+
received_body = JSON.parse(@response_catcher.response.raw_body)
|
|
54
|
+
assert(ComparisonHelper.match_body(expected_body, received_body))
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
end
|