listo-delivery 0.1.1

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 (77) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +152 -0
  4. data/lib/listo_delivery/client.rb +170 -0
  5. data/lib/listo_delivery/errors.rb +53 -0
  6. data/lib/listo_delivery/generated/api_version.rb +12 -0
  7. data/lib/listo_delivery/generated/client_operations.rb +82 -0
  8. data/lib/listo_delivery/generated/loader.rb +69 -0
  9. data/lib/listo_delivery/generated/models/balance.rb +48 -0
  10. data/lib/listo_delivery/generated/models/cancel_delivery_request.rb +29 -0
  11. data/lib/listo_delivery/generated/models/card_onboarding_link.rb +21 -0
  12. data/lib/listo_delivery/generated/models/card_status.rb +22 -0
  13. data/lib/listo_delivery/generated/models/connect_request.rb +28 -0
  14. data/lib/listo_delivery/generated/models/courier_ping.rb +58 -0
  15. data/lib/listo_delivery/generated/models/create_connect_request_request.rb +35 -0
  16. data/lib/listo_delivery/generated/models/create_connection_request.rb +21 -0
  17. data/lib/listo_delivery/generated/models/create_delivery_request.rb +189 -0
  18. data/lib/listo_delivery/generated/models/create_quote_request.rb +111 -0
  19. data/lib/listo_delivery/generated/models/create_store_owner_request.rb +26 -0
  20. data/lib/listo_delivery/generated/models/create_store_request.rb +104 -0
  21. data/lib/listo_delivery/generated/models/create_withdrawal_request.rb +29 -0
  22. data/lib/listo_delivery/generated/models/delivery.rb +879 -0
  23. data/lib/listo_delivery/generated/models/delivery_courier_location_event.rb +23 -0
  24. data/lib/listo_delivery/generated/models/delivery_list.rb +34 -0
  25. data/lib/listo_delivery/generated/models/delivery_message_skipped.rb +37 -0
  26. data/lib/listo_delivery/generated/models/delivery_message_skipped_event.rb +23 -0
  27. data/lib/listo_delivery/generated/models/delivery_status_changed_event.rb +23 -0
  28. data/lib/listo_delivery/generated/models/delivery_updated_event.rb +23 -0
  29. data/lib/listo_delivery/generated/models/error.rb +56 -0
  30. data/lib/listo_delivery/generated/models/error_response.rb +20 -0
  31. data/lib/listo_delivery/generated/models/event_list.rb +34 -0
  32. data/lib/listo_delivery/generated/models/ledger_entry.rb +62 -0
  33. data/lib/listo_delivery/generated/models/ledger_entry_list.rb +34 -0
  34. data/lib/listo_delivery/generated/models/manifest.rb +20 -0
  35. data/lib/listo_delivery/generated/models/manifest_item.rb +36 -0
  36. data/lib/listo_delivery/generated/models/owner_invitation.rb +27 -0
  37. data/lib/listo_delivery/generated/models/ping.rb +56 -0
  38. data/lib/listo_delivery/generated/models/quote.rb +99 -0
  39. data/lib/listo_delivery/generated/models/refund_delivery_request.rb +28 -0
  40. data/lib/listo_delivery/generated/models/request_log.rb +91 -0
  41. data/lib/listo_delivery/generated/models/request_log_detail.rb +105 -0
  42. data/lib/listo_delivery/generated/models/request_log_list.rb +34 -0
  43. data/lib/listo_delivery/generated/models/reschedule_delivery_request.rb +41 -0
  44. data/lib/listo_delivery/generated/models/same_day_terms.rb +106 -0
  45. data/lib/listo_delivery/generated/models/send_test_webhook_request.rb +22 -0
  46. data/lib/listo_delivery/generated/models/store.rb +235 -0
  47. data/lib/listo_delivery/generated/models/store_balance.rb +48 -0
  48. data/lib/listo_delivery/generated/models/store_connected_event.rb +23 -0
  49. data/lib/listo_delivery/generated/models/store_list.rb +34 -0
  50. data/lib/listo_delivery/generated/models/store_updated_event.rb +23 -0
  51. data/lib/listo_delivery/generated/models/update_store_request.rb +94 -0
  52. data/lib/listo_delivery/generated/models/webhook_delivery.rb +99 -0
  53. data/lib/listo_delivery/generated/models/webhook_delivery_list.rb +34 -0
  54. data/lib/listo_delivery/generated/models/webhook_event.rb +69 -0
  55. data/lib/listo_delivery/generated/models/webhook_event_envelope.rb +35 -0
  56. data/lib/listo_delivery/generated/models/withdrawal.rb +91 -0
  57. data/lib/listo_delivery/generated/models/withdrawal_list.rb +34 -0
  58. data/lib/listo_delivery/generated/models/withdrawal_updated_event.rb +23 -0
  59. data/lib/listo_delivery/generated/resources/balance.rb +43 -0
  60. data/lib/listo_delivery/generated/resources/card_onboarding.rb +70 -0
  61. data/lib/listo_delivery/generated/resources/connect_requests.rb +31 -0
  62. data/lib/listo_delivery/generated/resources/connections.rb +31 -0
  63. data/lib/listo_delivery/generated/resources/deliveries.rb +128 -0
  64. data/lib/listo_delivery/generated/resources/events.rb +59 -0
  65. data/lib/listo_delivery/generated/resources/ledger.rb +47 -0
  66. data/lib/listo_delivery/generated/resources/quotes.rb +31 -0
  67. data/lib/listo_delivery/generated/resources/request_logs.rb +45 -0
  68. data/lib/listo_delivery/generated/resources/stores.rb +143 -0
  69. data/lib/listo_delivery/generated/resources/webhooks.rb +46 -0
  70. data/lib/listo_delivery/generated/resources/withdrawals.rb +60 -0
  71. data/lib/listo_delivery/model.rb +69 -0
  72. data/lib/listo_delivery/util.rb +76 -0
  73. data/lib/listo_delivery/version.rb +7 -0
  74. data/lib/listo_delivery/webhooks.rb +98 -0
  75. data/lib/listo_delivery.rb +16 -0
  76. data/listo_delivery.gemspec +27 -0
  77. metadata +120 -0
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ # GENERATED from Listo's API definition (API 1.37.0). Do not edit by hand:
4
+ # this file is rewritten whenever the SDK is regenerated.
5
+
6
+ module ListoDelivery
7
+ module Models
8
+ # Whether card payments can be taken yet.
9
+ class CardStatus < Model
10
+ TYPES = {
11
+ "status" => nil
12
+ }.freeze
13
+
14
+ # `not_started` means onboarding has not been opened, `verifying` that the details are in and under review, `action_required` that more...
15
+ # One of: "not_started", "verifying", "action_required", "connected".
16
+ # @return [String]
17
+ def status
18
+ read("status")
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ # GENERATED from Listo's API definition (API 1.37.0). Do not edit by hand:
4
+ # this file is rewritten whenever the SDK is regenerated.
5
+
6
+ module ListoDelivery
7
+ module Models
8
+ # A connection request waiting for the restaurant owner to approve it.
9
+ class ConnectRequest < Model
10
+ TYPES = {
11
+ "url" => nil,
12
+ "expires_at" => nil
13
+ }.freeze
14
+
15
+ # The consent page to send the owner to.
16
+ # @return [String]
17
+ def url
18
+ read("url")
19
+ end
20
+
21
+ # When the link stops working.
22
+ # @return [String]
23
+ def expires_at
24
+ read("expires_at")
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ # GENERATED from Listo's API definition (API 1.37.0). Do not edit by hand:
4
+ # this file is rewritten whenever the SDK is regenerated.
5
+
6
+ module ListoDelivery
7
+ module Models
8
+ # The reduced body of a `delivery.courier_location` event.
9
+ class CourierPing < Model
10
+ TYPES = {
11
+ "delivery_id" => nil,
12
+ "external_id" => nil,
13
+ "location" => ["model", "CourierPing::Location"],
14
+ "updated_at" => nil
15
+ }.freeze
16
+
17
+ # The `dlv_` id of the delivery the courier is carrying.
18
+ # @return [String]
19
+ def delivery_id
20
+ read("delivery_id")
21
+ end
22
+
23
+ # Your own reference for that delivery, so you need not store ours.
24
+ # @return [String, nil]
25
+ def external_id
26
+ read("external_id")
27
+ end
28
+
29
+ # @return [Models::CourierPing::Location]
30
+ def location
31
+ read("location")
32
+ end
33
+
34
+ # When this position was last confirmed, which is not the same as when the event was sent.
35
+ # @return [String, nil]
36
+ def updated_at
37
+ read("updated_at")
38
+ end
39
+
40
+ class Location < Model
41
+ TYPES = {
42
+ "lat" => nil,
43
+ "lng" => nil
44
+ }.freeze
45
+
46
+ # @return [Numeric]
47
+ def lat
48
+ read("lat")
49
+ end
50
+
51
+ # @return [Numeric]
52
+ def lng
53
+ read("lng")
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ # GENERATED from Listo's API definition (API 1.37.0). Do not edit by hand:
4
+ # this file is rewritten whenever the SDK is regenerated.
5
+
6
+ module ListoDelivery
7
+ module Models
8
+ # The restaurant owner to ask, and where to send them back.
9
+ class CreateConnectRequestRequest < Model
10
+ TYPES = {
11
+ "owner_email" => nil,
12
+ "redirect_uri" => nil,
13
+ "state" => nil
14
+ }.freeze
15
+
16
+ # The email of the person who signs in to the restaurant's Listo account.
17
+ # @return [String]
18
+ def owner_email
19
+ read("owner_email")
20
+ end
21
+
22
+ # Where the owner's browser returns after approving.
23
+ # @return [String]
24
+ def redirect_uri
25
+ read("redirect_uri")
26
+ end
27
+
28
+ # An opaque value returned to `redirect_uri` unchanged, up to 255 characters.
29
+ # @return [String, nil]
30
+ def state
31
+ read("state")
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # GENERATED from Listo's API definition (API 1.37.0). Do not edit by hand:
4
+ # this file is rewritten whenever the SDK is regenerated.
5
+
6
+ module ListoDelivery
7
+ module Models
8
+ # The one-time code from an approved connect request.
9
+ class CreateConnectionRequest < Model
10
+ TYPES = {
11
+ "code" => nil
12
+ }.freeze
13
+
14
+ # The `pcc_` code that arrived at your `redirect_uri`.
15
+ # @return [String]
16
+ def code
17
+ read("code")
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,189 @@
1
+ # frozen_string_literal: true
2
+
3
+ # GENERATED from Listo's API definition (API 1.37.0). Do not edit by hand:
4
+ # this file is rewritten whenever the SDK is regenerated.
5
+
6
+ module ListoDelivery
7
+ module Models
8
+ # The order to dispatch.
9
+ class CreateDeliveryRequest < Model
10
+ TYPES = {
11
+ "store_id" => nil,
12
+ "quote_id" => nil,
13
+ "external_id" => nil,
14
+ "payment_method" => nil,
15
+ "order_value_cents" => nil,
16
+ "business_fee_share" => nil,
17
+ "business_fee_cap_cents" => nil,
18
+ "tip_cents" => nil,
19
+ "dropoff" => ["model", "CreateDeliveryRequest::Dropoff"],
20
+ "handoff" => nil,
21
+ "manifest" => ["model", "Manifest"],
22
+ "verification" => ["model", "CreateDeliveryRequest::Verification"],
23
+ "pickup_ready_at" => nil,
24
+ "vehicle" => nil,
25
+ "simulate" => nil
26
+ }.freeze
27
+
28
+ # The `st_` id of the store the courier collects from.
29
+ # @return [String]
30
+ def store_id
31
+ read("store_id")
32
+ end
33
+
34
+ # The `qt_` id of a quote to book at exactly its price.
35
+ # @return [String, nil]
36
+ def quote_id
37
+ read("quote_id")
38
+ end
39
+
40
+ # Your own reference for this order.
41
+ # @return [String]
42
+ def external_id
43
+ read("external_id")
44
+ end
45
+
46
+ # How the customer pays.
47
+ # One of: "prepaid", "cash", "card".
48
+ # @return [String]
49
+ def payment_method
50
+ read("payment_method")
51
+ end
52
+
53
+ # The value of the order, in centavos.
54
+ # @return [Integer]
55
+ def order_value_cents
56
+ read("order_value_cents")
57
+ end
58
+
59
+ # The percent of the delivery fee the store pays.
60
+ # @return [Integer, nil]
61
+ def business_fee_share
62
+ read("business_fee_share")
63
+ end
64
+
65
+ # The most the store pays toward the fee, in centavos.
66
+ # @return [Integer, nil]
67
+ def business_fee_cap_cents
68
+ read("business_fee_cap_cents")
69
+ end
70
+
71
+ # A tip for the courier, in centavos, up to 100000.
72
+ # @return [Integer, nil]
73
+ def tip_cents
74
+ read("tip_cents")
75
+ end
76
+
77
+ # Where the order goes, and who receives it.
78
+ # @return [Models::CreateDeliveryRequest::Dropoff]
79
+ def dropoff
80
+ read("dropoff")
81
+ end
82
+
83
+ # Where the courier hands the order over.
84
+ # One of: "meet_at_door", "leave_at_door", "meet_outside".
85
+ # @return [String, nil]
86
+ def handoff
87
+ read("handoff")
88
+ end
89
+
90
+ # @return [Models::Manifest, nil]
91
+ def manifest
92
+ read("manifest")
93
+ end
94
+
95
+ # Proof the customer must give the courier.
96
+ # @return [Models::CreateDeliveryRequest::Verification, nil]
97
+ def verification
98
+ read("verification")
99
+ end
100
+
101
+ # When the order will be ready, ISO-8601 in UTC, between 10 minutes and 29 days from now.
102
+ # @return [String, nil]
103
+ def pickup_ready_at
104
+ read("pickup_ready_at")
105
+ end
106
+
107
+ # Defaults to `moto`, or to the quote's when you book one.
108
+ # One of: "moto", "car".
109
+ # @return [String, nil]
110
+ def vehicle
111
+ read("vehicle")
112
+ end
113
+
114
+ # Test keys only: the scenario the simulated courier plays.
115
+ # One of: "returned", "no_courier", "delayed_pickup", "courier_reassigned".
116
+ # @return [String, nil]
117
+ def simulate
118
+ read("simulate")
119
+ end
120
+
121
+ # Where the order goes, and who receives it.
122
+ class Dropoff < Model
123
+ TYPES = {
124
+ "name" => nil,
125
+ "phone" => nil,
126
+ "street" => nil,
127
+ "apt_unit" => nil,
128
+ "lat" => nil,
129
+ "lng" => nil,
130
+ "notes" => nil
131
+ }.freeze
132
+
133
+ # Who receives the order.
134
+ # @return [String]
135
+ def name
136
+ read("name")
137
+ end
138
+
139
+ # A phone the courier can call, any format that resolves to an E.164 number.
140
+ # @return [String]
141
+ def phone
142
+ read("phone")
143
+ end
144
+
145
+ # The full street address, in one string.
146
+ # @return [String]
147
+ def street
148
+ read("street")
149
+ end
150
+
151
+ # @return [String, nil]
152
+ def apt_unit
153
+ read("apt_unit")
154
+ end
155
+
156
+ # Latitude.
157
+ # @return [Numeric, nil]
158
+ def lat
159
+ read("lat")
160
+ end
161
+
162
+ # Longitude.
163
+ # @return [Numeric, nil]
164
+ def lng
165
+ read("lng")
166
+ end
167
+
168
+ # Instructions for the courier at the door, up to 280 characters.
169
+ # @return [String, nil]
170
+ def notes
171
+ read("notes")
172
+ end
173
+ end
174
+
175
+ # Proof the customer must give the courier.
176
+ class Verification < Model
177
+ TYPES = {
178
+ "dropoff_pincode" => nil
179
+ }.freeze
180
+
181
+ # True to require a code at the door.
182
+ # @return [Boolean, nil]
183
+ def dropoff_pincode
184
+ read("dropoff_pincode")
185
+ end
186
+ end
187
+ end
188
+ end
189
+ end
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ # GENERATED from Listo's API definition (API 1.37.0). Do not edit by hand:
4
+ # this file is rewritten whenever the SDK is regenerated.
5
+
6
+ module ListoDelivery
7
+ module Models
8
+ # The trip to price.
9
+ class CreateQuoteRequest < Model
10
+ TYPES = {
11
+ "store_id" => nil,
12
+ "dropoff" => ["model", "CreateQuoteRequest::Dropoff"],
13
+ "payment_method" => nil,
14
+ "order_value_cents" => nil,
15
+ "business_fee_share" => nil,
16
+ "business_fee_cap_cents" => nil,
17
+ "pickup_ready_at" => nil,
18
+ "vehicle" => nil,
19
+ "manifest" => ["model", "Manifest"]
20
+ }.freeze
21
+
22
+ # The `st_` id of the store the courier collects from.
23
+ # @return [String]
24
+ def store_id
25
+ read("store_id")
26
+ end
27
+
28
+ # Where the order goes.
29
+ # @return [Models::CreateQuoteRequest::Dropoff]
30
+ def dropoff
31
+ read("dropoff")
32
+ end
33
+
34
+ # How the customer pays.
35
+ # One of: "prepaid", "cash", "card".
36
+ # @return [String, nil]
37
+ def payment_method
38
+ read("payment_method")
39
+ end
40
+
41
+ # The value of the order, in centavos.
42
+ # @return [Integer, nil]
43
+ def order_value_cents
44
+ read("order_value_cents")
45
+ end
46
+
47
+ # The percent of the delivery fee the store pays.
48
+ # @return [Integer, nil]
49
+ def business_fee_share
50
+ read("business_fee_share")
51
+ end
52
+
53
+ # The most the store pays toward the fee, in centavos.
54
+ # @return [Integer, nil]
55
+ def business_fee_cap_cents
56
+ read("business_fee_cap_cents")
57
+ end
58
+
59
+ # When the order will be ready, ISO-8601 in UTC.
60
+ # @return [String, nil]
61
+ def pickup_ready_at
62
+ read("pickup_ready_at")
63
+ end
64
+
65
+ # Defaults to `moto`.
66
+ # One of: "moto", "car".
67
+ # @return [String, nil]
68
+ def vehicle
69
+ read("vehicle")
70
+ end
71
+
72
+ # @return [Models::Manifest, nil]
73
+ def manifest
74
+ read("manifest")
75
+ end
76
+
77
+ # Where the order goes.
78
+ class Dropoff < Model
79
+ TYPES = {
80
+ "street" => nil,
81
+ "apt_unit" => nil,
82
+ "lat" => nil,
83
+ "lng" => nil
84
+ }.freeze
85
+
86
+ # The full street address, in one string.
87
+ # @return [String]
88
+ def street
89
+ read("street")
90
+ end
91
+
92
+ # @return [String, nil]
93
+ def apt_unit
94
+ read("apt_unit")
95
+ end
96
+
97
+ # Latitude.
98
+ # @return [Numeric, nil]
99
+ def lat
100
+ read("lat")
101
+ end
102
+
103
+ # Longitude.
104
+ # @return [Numeric, nil]
105
+ def lng
106
+ read("lng")
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ # GENERATED from Listo's API definition (API 1.37.0). Do not edit by hand:
4
+ # this file is rewritten whenever the SDK is regenerated.
5
+
6
+ module ListoDelivery
7
+ module Models
8
+ # The person to invite as the store's owner.
9
+ class CreateStoreOwnerRequest < Model
10
+ TYPES = {
11
+ "name" => nil,
12
+ "email" => nil
13
+ }.freeze
14
+
15
+ # @return [String]
16
+ def name
17
+ read("name")
18
+ end
19
+
20
+ # @return [String]
21
+ def email
22
+ read("email")
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ # GENERATED from Listo's API definition (API 1.37.0). Do not edit by hand:
4
+ # this file is rewritten whenever the SDK is regenerated.
5
+
6
+ module ListoDelivery
7
+ module Models
8
+ # The pickup location to create.
9
+ class CreateStoreRequest < Model
10
+ TYPES = {
11
+ "name" => nil,
12
+ "phone" => nil,
13
+ "street" => nil,
14
+ "apt_unit" => nil,
15
+ "lat" => nil,
16
+ "lng" => nil,
17
+ "pickup_notes" => nil,
18
+ "timezone" => nil,
19
+ "default_business_fee_share" => nil,
20
+ "access_tier" => nil,
21
+ "markup_cents" => nil,
22
+ "external_id" => nil,
23
+ "owner_email" => nil
24
+ }.freeze
25
+
26
+ # @return [String]
27
+ def name
28
+ read("name")
29
+ end
30
+
31
+ # A phone that resolves to an E.164 number.
32
+ # @return [String]
33
+ def phone
34
+ read("phone")
35
+ end
36
+
37
+ # The full street address, in one string.
38
+ # @return [String]
39
+ def street
40
+ read("street")
41
+ end
42
+
43
+ # @return [String, nil]
44
+ def apt_unit
45
+ read("apt_unit")
46
+ end
47
+
48
+ # Latitude.
49
+ # @return [Numeric, nil]
50
+ def lat
51
+ read("lat")
52
+ end
53
+
54
+ # Longitude.
55
+ # @return [Numeric, nil]
56
+ def lng
57
+ read("lng")
58
+ end
59
+
60
+ # Instructions for the courier at the store, up to 280 characters.
61
+ # @return [String, nil]
62
+ def pickup_notes
63
+ read("pickup_notes")
64
+ end
65
+
66
+ # An IANA time zone name.
67
+ # @return [String, nil]
68
+ def timezone
69
+ read("timezone")
70
+ end
71
+
72
+ # The percent of the delivery fee the store pays by default.
73
+ # @return [Integer, nil]
74
+ def default_business_fee_share
75
+ read("default_business_fee_share")
76
+ end
77
+
78
+ # What the store gets besides the API.
79
+ # One of: "api_only", "wallet", "full".
80
+ # @return [String, nil]
81
+ def access_tier
82
+ read("access_tier")
83
+ end
84
+
85
+ # Your markup on each delivery, in centavos, up to 1000000.
86
+ # @return [Integer, nil]
87
+ def markup_cents
88
+ read("markup_cents")
89
+ end
90
+
91
+ # Your own reference for this location.
92
+ # @return [String, nil]
93
+ def external_id
94
+ read("external_id")
95
+ end
96
+
97
+ # The restaurant owner to invite, for a store with a console.
98
+ # @return [String, nil]
99
+ def owner_email
100
+ read("owner_email")
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ # GENERATED from Listo's API definition (API 1.37.0). Do not edit by hand:
4
+ # this file is rewritten whenever the SDK is regenerated.
5
+
6
+ module ListoDelivery
7
+ module Models
8
+ # How much to move out of your balance.
9
+ class CreateWithdrawalRequest < Model
10
+ TYPES = {
11
+ "amount_cents" => nil,
12
+ "kind" => nil
13
+ }.freeze
14
+
15
+ # What your bank receives, in centavos.
16
+ # @return [Integer]
17
+ def amount_cents
18
+ read("amount_cents")
19
+ end
20
+
21
+ # Defaults to `standard`.
22
+ # One of: "standard", "same_day", nil.
23
+ # @return [String, nil]
24
+ def kind
25
+ read("kind")
26
+ end
27
+ end
28
+ end
29
+ end