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.
- checksums.yaml +7 -0
- data/LICENSE +21 -0
- data/README.md +152 -0
- data/lib/listo_delivery/client.rb +170 -0
- data/lib/listo_delivery/errors.rb +53 -0
- data/lib/listo_delivery/generated/api_version.rb +12 -0
- data/lib/listo_delivery/generated/client_operations.rb +82 -0
- data/lib/listo_delivery/generated/loader.rb +69 -0
- data/lib/listo_delivery/generated/models/balance.rb +48 -0
- data/lib/listo_delivery/generated/models/cancel_delivery_request.rb +29 -0
- data/lib/listo_delivery/generated/models/card_onboarding_link.rb +21 -0
- data/lib/listo_delivery/generated/models/card_status.rb +22 -0
- data/lib/listo_delivery/generated/models/connect_request.rb +28 -0
- data/lib/listo_delivery/generated/models/courier_ping.rb +58 -0
- data/lib/listo_delivery/generated/models/create_connect_request_request.rb +35 -0
- data/lib/listo_delivery/generated/models/create_connection_request.rb +21 -0
- data/lib/listo_delivery/generated/models/create_delivery_request.rb +189 -0
- data/lib/listo_delivery/generated/models/create_quote_request.rb +111 -0
- data/lib/listo_delivery/generated/models/create_store_owner_request.rb +26 -0
- data/lib/listo_delivery/generated/models/create_store_request.rb +104 -0
- data/lib/listo_delivery/generated/models/create_withdrawal_request.rb +29 -0
- data/lib/listo_delivery/generated/models/delivery.rb +879 -0
- data/lib/listo_delivery/generated/models/delivery_courier_location_event.rb +23 -0
- data/lib/listo_delivery/generated/models/delivery_list.rb +34 -0
- data/lib/listo_delivery/generated/models/delivery_message_skipped.rb +37 -0
- data/lib/listo_delivery/generated/models/delivery_message_skipped_event.rb +23 -0
- data/lib/listo_delivery/generated/models/delivery_status_changed_event.rb +23 -0
- data/lib/listo_delivery/generated/models/delivery_updated_event.rb +23 -0
- data/lib/listo_delivery/generated/models/error.rb +56 -0
- data/lib/listo_delivery/generated/models/error_response.rb +20 -0
- data/lib/listo_delivery/generated/models/event_list.rb +34 -0
- data/lib/listo_delivery/generated/models/ledger_entry.rb +62 -0
- data/lib/listo_delivery/generated/models/ledger_entry_list.rb +34 -0
- data/lib/listo_delivery/generated/models/manifest.rb +20 -0
- data/lib/listo_delivery/generated/models/manifest_item.rb +36 -0
- data/lib/listo_delivery/generated/models/owner_invitation.rb +27 -0
- data/lib/listo_delivery/generated/models/ping.rb +56 -0
- data/lib/listo_delivery/generated/models/quote.rb +99 -0
- data/lib/listo_delivery/generated/models/refund_delivery_request.rb +28 -0
- data/lib/listo_delivery/generated/models/request_log.rb +91 -0
- data/lib/listo_delivery/generated/models/request_log_detail.rb +105 -0
- data/lib/listo_delivery/generated/models/request_log_list.rb +34 -0
- data/lib/listo_delivery/generated/models/reschedule_delivery_request.rb +41 -0
- data/lib/listo_delivery/generated/models/same_day_terms.rb +106 -0
- data/lib/listo_delivery/generated/models/send_test_webhook_request.rb +22 -0
- data/lib/listo_delivery/generated/models/store.rb +235 -0
- data/lib/listo_delivery/generated/models/store_balance.rb +48 -0
- data/lib/listo_delivery/generated/models/store_connected_event.rb +23 -0
- data/lib/listo_delivery/generated/models/store_list.rb +34 -0
- data/lib/listo_delivery/generated/models/store_updated_event.rb +23 -0
- data/lib/listo_delivery/generated/models/update_store_request.rb +94 -0
- data/lib/listo_delivery/generated/models/webhook_delivery.rb +99 -0
- data/lib/listo_delivery/generated/models/webhook_delivery_list.rb +34 -0
- data/lib/listo_delivery/generated/models/webhook_event.rb +69 -0
- data/lib/listo_delivery/generated/models/webhook_event_envelope.rb +35 -0
- data/lib/listo_delivery/generated/models/withdrawal.rb +91 -0
- data/lib/listo_delivery/generated/models/withdrawal_list.rb +34 -0
- data/lib/listo_delivery/generated/models/withdrawal_updated_event.rb +23 -0
- data/lib/listo_delivery/generated/resources/balance.rb +43 -0
- data/lib/listo_delivery/generated/resources/card_onboarding.rb +70 -0
- data/lib/listo_delivery/generated/resources/connect_requests.rb +31 -0
- data/lib/listo_delivery/generated/resources/connections.rb +31 -0
- data/lib/listo_delivery/generated/resources/deliveries.rb +128 -0
- data/lib/listo_delivery/generated/resources/events.rb +59 -0
- data/lib/listo_delivery/generated/resources/ledger.rb +47 -0
- data/lib/listo_delivery/generated/resources/quotes.rb +31 -0
- data/lib/listo_delivery/generated/resources/request_logs.rb +45 -0
- data/lib/listo_delivery/generated/resources/stores.rb +143 -0
- data/lib/listo_delivery/generated/resources/webhooks.rb +46 -0
- data/lib/listo_delivery/generated/resources/withdrawals.rb +60 -0
- data/lib/listo_delivery/model.rb +69 -0
- data/lib/listo_delivery/util.rb +76 -0
- data/lib/listo_delivery/version.rb +7 -0
- data/lib/listo_delivery/webhooks.rb +98 -0
- data/lib/listo_delivery.rb +16 -0
- data/listo_delivery.gemspec +27 -0
- metadata +120 -0
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
# One page of stores, newest first.
|
|
9
|
+
class StoreList < Model
|
|
10
|
+
TYPES = {
|
|
11
|
+
"data" => ["array", ["model", "Store"]],
|
|
12
|
+
"has_more" => nil,
|
|
13
|
+
"cursor" => nil
|
|
14
|
+
}.freeze
|
|
15
|
+
|
|
16
|
+
# @return [Array<Models::Store>]
|
|
17
|
+
def data
|
|
18
|
+
read("data")
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# True when a further page exists.
|
|
22
|
+
# @return [Boolean]
|
|
23
|
+
def has_more
|
|
24
|
+
read("has_more")
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Pass as `cursor` to read the next page.
|
|
28
|
+
# @return [String, nil]
|
|
29
|
+
def cursor
|
|
30
|
+
read("cursor")
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
class StoreUpdatedEvent < WebhookEvent
|
|
9
|
+
TYPES = {
|
|
10
|
+
"id" => nil,
|
|
11
|
+
"created_at" => nil,
|
|
12
|
+
"test" => nil,
|
|
13
|
+
"type" => nil,
|
|
14
|
+
"data" => ["model", "Store"]
|
|
15
|
+
}.freeze
|
|
16
|
+
|
|
17
|
+
# @return [Models::Store]
|
|
18
|
+
def data
|
|
19
|
+
read("data")
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,94 @@
|
|
|
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 fields to change.
|
|
9
|
+
class UpdateStoreRequest < 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
|
+
}.freeze
|
|
24
|
+
|
|
25
|
+
# @return [String, nil]
|
|
26
|
+
def name
|
|
27
|
+
read("name")
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# A phone that resolves to an E.164 number.
|
|
31
|
+
# @return [String, nil]
|
|
32
|
+
def phone
|
|
33
|
+
read("phone")
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# The full street address, in one string.
|
|
37
|
+
# @return [String, nil]
|
|
38
|
+
def street
|
|
39
|
+
read("street")
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# @return [String, nil]
|
|
43
|
+
def apt_unit
|
|
44
|
+
read("apt_unit")
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Latitude.
|
|
48
|
+
# @return [Numeric, nil]
|
|
49
|
+
def lat
|
|
50
|
+
read("lat")
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# Longitude.
|
|
54
|
+
# @return [Numeric, nil]
|
|
55
|
+
def lng
|
|
56
|
+
read("lng")
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# Instructions for the courier at the store, up to 280 characters.
|
|
60
|
+
# @return [String, nil]
|
|
61
|
+
def pickup_notes
|
|
62
|
+
read("pickup_notes")
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# An IANA time zone name.
|
|
66
|
+
# @return [String, nil]
|
|
67
|
+
def timezone
|
|
68
|
+
read("timezone")
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# @return [Integer, nil]
|
|
72
|
+
def default_business_fee_share
|
|
73
|
+
read("default_business_fee_share")
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# One of: "api_only", "wallet", "full".
|
|
77
|
+
# @return [String, nil]
|
|
78
|
+
def access_tier
|
|
79
|
+
read("access_tier")
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# @return [Integer, nil]
|
|
83
|
+
def markup_cents
|
|
84
|
+
read("markup_cents")
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Your own reference for this location.
|
|
88
|
+
# @return [String, nil]
|
|
89
|
+
def external_id
|
|
90
|
+
read("external_id")
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
@@ -0,0 +1,99 @@
|
|
|
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
|
+
# One attempt to POST an event to your webhook URL, and what came back.
|
|
9
|
+
class WebhookDelivery < Model
|
|
10
|
+
TYPES = {
|
|
11
|
+
"id" => nil,
|
|
12
|
+
"event_id" => nil,
|
|
13
|
+
"event_type" => nil,
|
|
14
|
+
"attempt" => nil,
|
|
15
|
+
"resent" => nil,
|
|
16
|
+
"url" => nil,
|
|
17
|
+
"status_code" => nil,
|
|
18
|
+
"error_message" => nil,
|
|
19
|
+
"response_body" => nil,
|
|
20
|
+
"duration_ms" => nil,
|
|
21
|
+
"succeeded" => nil,
|
|
22
|
+
"created_at" => nil
|
|
23
|
+
}.freeze
|
|
24
|
+
|
|
25
|
+
# The attempt's id, `whd_` prefixed.
|
|
26
|
+
# @return [String]
|
|
27
|
+
def id
|
|
28
|
+
read("id")
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# The event this was an attempt to deliver, `evt_` prefixed.
|
|
32
|
+
# @return [String]
|
|
33
|
+
def event_id
|
|
34
|
+
read("event_id")
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# The type of that event.
|
|
38
|
+
# One of: "delivery.status_changed", "delivery.updated", "delivery.courier_location", "withdrawal.updated", "store.updated", "store.connected", "delivery.message_skipped".
|
|
39
|
+
# @return [String]
|
|
40
|
+
def event_type
|
|
41
|
+
read("event_type")
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Which attempt this is for the event, counted from 1 in the order they were made.
|
|
45
|
+
# @return [Integer]
|
|
46
|
+
def attempt
|
|
47
|
+
read("attempt")
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# True when you asked for this attempt (`POST /v1/events/{id}/resend`) rather than Listo making it on its own schedule.
|
|
51
|
+
# @return [Boolean]
|
|
52
|
+
def resent
|
|
53
|
+
read("resent")
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# The URL that was posted to, as it was when the attempt was made.
|
|
57
|
+
# @return [String]
|
|
58
|
+
def url
|
|
59
|
+
read("url")
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# The HTTP status your endpoint answered with.
|
|
63
|
+
# @return [Integer, nil]
|
|
64
|
+
def status_code
|
|
65
|
+
read("status_code")
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Why the attempt counted as failed, in words (a timeout, a refused connection, a non-2xx status).
|
|
69
|
+
# @return [String, nil]
|
|
70
|
+
def error_message
|
|
71
|
+
read("error_message")
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# The first 500 characters of the body your endpoint answered with.
|
|
75
|
+
# @return [String, nil]
|
|
76
|
+
def response_body
|
|
77
|
+
read("response_body")
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# How long the attempt took, in milliseconds.
|
|
81
|
+
# @return [Integer, nil]
|
|
82
|
+
def duration_ms
|
|
83
|
+
read("duration_ms")
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# True when your endpoint answered with a 2xx.
|
|
87
|
+
# @return [Boolean]
|
|
88
|
+
def succeeded
|
|
89
|
+
read("succeeded")
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# When the attempt was made, ISO-8601 in UTC.
|
|
93
|
+
# @return [String]
|
|
94
|
+
def created_at
|
|
95
|
+
read("created_at")
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
# One page of delivery attempts, newest first.
|
|
9
|
+
class WebhookDeliveryList < Model
|
|
10
|
+
TYPES = {
|
|
11
|
+
"data" => ["array", ["model", "WebhookDelivery"]],
|
|
12
|
+
"has_more" => nil,
|
|
13
|
+
"cursor" => nil
|
|
14
|
+
}.freeze
|
|
15
|
+
|
|
16
|
+
# @return [Array<Models::WebhookDelivery>]
|
|
17
|
+
def data
|
|
18
|
+
read("data")
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# True when a further page exists.
|
|
22
|
+
# @return [Boolean]
|
|
23
|
+
def has_more
|
|
24
|
+
read("has_more")
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Pass as `cursor` to read the next page.
|
|
28
|
+
# @return [String, nil]
|
|
29
|
+
def cursor
|
|
30
|
+
read("cursor")
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
# Every event your webhook endpoint receives, and every event the debugging reads return: one of the seven below, told apart by `type`.
|
|
9
|
+
class WebhookEvent < Model
|
|
10
|
+
TYPES = {
|
|
11
|
+
"id" => nil,
|
|
12
|
+
"created_at" => nil,
|
|
13
|
+
"test" => nil,
|
|
14
|
+
"type" => nil,
|
|
15
|
+
"data" => nil
|
|
16
|
+
}.freeze
|
|
17
|
+
|
|
18
|
+
# type value => class name.
|
|
19
|
+
VARIANTS = {
|
|
20
|
+
"delivery.courier_location" => "DeliveryCourierLocationEvent",
|
|
21
|
+
"delivery.message_skipped" => "DeliveryMessageSkippedEvent",
|
|
22
|
+
"delivery.status_changed" => "DeliveryStatusChangedEvent",
|
|
23
|
+
"delivery.updated" => "DeliveryUpdatedEvent",
|
|
24
|
+
"store.connected" => "StoreConnectedEvent",
|
|
25
|
+
"store.updated" => "StoreUpdatedEvent",
|
|
26
|
+
"withdrawal.updated" => "WithdrawalUpdatedEvent"
|
|
27
|
+
}.freeze
|
|
28
|
+
|
|
29
|
+
# Builds the variant named by "type"; a value of a kind this SDK
|
|
30
|
+
# does not know yet stays a plain WebhookEvent, never an error.
|
|
31
|
+
def self.build(value)
|
|
32
|
+
return super unless equal?(WebhookEvent)
|
|
33
|
+
return value unless value.is_a?(Hash)
|
|
34
|
+
|
|
35
|
+
name = VARIANTS[(value["type"] || value[:type]).to_s]
|
|
36
|
+
name ? Models.const_get(name).new(value) : new(value)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# The event id, `evt_` prefixed.
|
|
40
|
+
# @return [String]
|
|
41
|
+
def id
|
|
42
|
+
read("id")
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# When the event was recorded, ISO-8601 in UTC.
|
|
46
|
+
# @return [String]
|
|
47
|
+
def created_at
|
|
48
|
+
read("created_at")
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Present, and true, only on a test event you asked for with `POST /v1/test_webhooks`.
|
|
52
|
+
# @return [Boolean, nil]
|
|
53
|
+
def test
|
|
54
|
+
read("test")
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Which event this is.
|
|
58
|
+
# @return [String]
|
|
59
|
+
def type
|
|
60
|
+
read("type")
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# @return [Object]
|
|
64
|
+
def data
|
|
65
|
+
read("data")
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
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 fields every event shares.
|
|
9
|
+
class WebhookEventEnvelope < Model
|
|
10
|
+
TYPES = {
|
|
11
|
+
"id" => nil,
|
|
12
|
+
"created_at" => nil,
|
|
13
|
+
"test" => nil
|
|
14
|
+
}.freeze
|
|
15
|
+
|
|
16
|
+
# The event id, `evt_` prefixed.
|
|
17
|
+
# @return [String]
|
|
18
|
+
def id
|
|
19
|
+
read("id")
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# When the event was recorded, ISO-8601 in UTC.
|
|
23
|
+
# @return [String]
|
|
24
|
+
def created_at
|
|
25
|
+
read("created_at")
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Present, and true, only on a test event you asked for with `POST /v1/test_webhooks`.
|
|
29
|
+
# @return [Boolean, nil]
|
|
30
|
+
def test
|
|
31
|
+
read("test")
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,91 @@
|
|
|
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 request to move money out of your balance to your bank account.
|
|
9
|
+
class Withdrawal < Model
|
|
10
|
+
TYPES = {
|
|
11
|
+
"id" => nil,
|
|
12
|
+
"amount_cents" => nil,
|
|
13
|
+
"fee_cents" => nil,
|
|
14
|
+
"currency" => nil,
|
|
15
|
+
"kind" => nil,
|
|
16
|
+
"status" => nil,
|
|
17
|
+
"requested_at" => nil,
|
|
18
|
+
"due_at" => nil,
|
|
19
|
+
"resolved_at" => nil,
|
|
20
|
+
"clave_de_rastreo" => nil,
|
|
21
|
+
"test" => nil
|
|
22
|
+
}.freeze
|
|
23
|
+
|
|
24
|
+
# The withdrawal id, `wd_` prefixed.
|
|
25
|
+
# @return [String]
|
|
26
|
+
def id
|
|
27
|
+
read("id")
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# What your bank receives.
|
|
31
|
+
# @return [Integer]
|
|
32
|
+
def amount_cents
|
|
33
|
+
read("amount_cents")
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# What the withdrawal cost, IVA included.
|
|
37
|
+
# @return [Integer]
|
|
38
|
+
def fee_cents
|
|
39
|
+
read("fee_cents")
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# One of: "MXN".
|
|
43
|
+
# @return [String]
|
|
44
|
+
def currency
|
|
45
|
+
read("currency")
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# `standard` is the free path: your released balance only, sent in 1 to 3 business days.
|
|
49
|
+
# One of: "standard", "same_day".
|
|
50
|
+
# @return [String]
|
|
51
|
+
def kind
|
|
52
|
+
read("kind")
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# `pending` until a human settles it.
|
|
56
|
+
# One of: "pending", "paid", "failed".
|
|
57
|
+
# @return [String]
|
|
58
|
+
def status
|
|
59
|
+
read("status")
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# @return [String, nil]
|
|
63
|
+
def requested_at
|
|
64
|
+
read("requested_at")
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# When a `same_day` withdrawal is due to have been sent, stamped when you requested it and never recalculated afterwards.
|
|
68
|
+
# @return [String, nil]
|
|
69
|
+
def due_at
|
|
70
|
+
read("due_at")
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# Null while still pending.
|
|
74
|
+
# @return [String, nil]
|
|
75
|
+
def resolved_at
|
|
76
|
+
read("resolved_at")
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# The SPEI tracking key for the transfer: the identifier your own bank uses to locate the deposit.
|
|
80
|
+
# @return [String, nil]
|
|
81
|
+
def clave_de_rastreo
|
|
82
|
+
read("clave_de_rastreo")
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# @return [Boolean]
|
|
86
|
+
def test
|
|
87
|
+
read("test")
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
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
|
+
# One page of withdrawals, newest first.
|
|
9
|
+
class WithdrawalList < Model
|
|
10
|
+
TYPES = {
|
|
11
|
+
"data" => ["array", ["model", "Withdrawal"]],
|
|
12
|
+
"has_more" => nil,
|
|
13
|
+
"cursor" => nil
|
|
14
|
+
}.freeze
|
|
15
|
+
|
|
16
|
+
# @return [Array<Models::Withdrawal>]
|
|
17
|
+
def data
|
|
18
|
+
read("data")
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# True when a further page exists.
|
|
22
|
+
# @return [Boolean]
|
|
23
|
+
def has_more
|
|
24
|
+
read("has_more")
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Pass as `cursor` to read the next page.
|
|
28
|
+
# @return [String, nil]
|
|
29
|
+
def cursor
|
|
30
|
+
read("cursor")
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
class WithdrawalUpdatedEvent < WebhookEvent
|
|
9
|
+
TYPES = {
|
|
10
|
+
"id" => nil,
|
|
11
|
+
"created_at" => nil,
|
|
12
|
+
"test" => nil,
|
|
13
|
+
"type" => nil,
|
|
14
|
+
"data" => ["model", "Withdrawal"]
|
|
15
|
+
}.freeze
|
|
16
|
+
|
|
17
|
+
# @return [Models::Withdrawal]
|
|
18
|
+
def data
|
|
19
|
+
read("data")
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
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 Resources
|
|
8
|
+
# Operations under "balance".
|
|
9
|
+
class Balance
|
|
10
|
+
# @api private
|
|
11
|
+
def initialize(client)
|
|
12
|
+
@client = client
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Read your prepaid balance.
|
|
16
|
+
#
|
|
17
|
+
# GET /v1/balance
|
|
18
|
+
# @return [Models::Balance]
|
|
19
|
+
# @raise [ListoDelivery::Error]
|
|
20
|
+
def retrieve
|
|
21
|
+
@client.execute(
|
|
22
|
+
"GET",
|
|
23
|
+
"/v1/balance",
|
|
24
|
+
model: Models::Balance
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Read a store's balance.
|
|
29
|
+
#
|
|
30
|
+
# GET /v1/stores/{store_id}/balance
|
|
31
|
+
# @param store_id [String]
|
|
32
|
+
# @return [Models::StoreBalance]
|
|
33
|
+
# @raise [ListoDelivery::Error]
|
|
34
|
+
def retrieve_for_store(store_id)
|
|
35
|
+
@client.execute(
|
|
36
|
+
"GET",
|
|
37
|
+
"/v1/stores/#{Util.segment(store_id)}/balance",
|
|
38
|
+
model: Models::StoreBalance
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
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 Resources
|
|
8
|
+
# Operations under "card_onboarding".
|
|
9
|
+
class CardOnboarding
|
|
10
|
+
# @api private
|
|
11
|
+
def initialize(client)
|
|
12
|
+
@client = client
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Start card onboarding for your company.
|
|
16
|
+
#
|
|
17
|
+
# POST /v1/stripe_onboarding
|
|
18
|
+
# @return [Models::CardOnboardingLink]
|
|
19
|
+
# @raise [ListoDelivery::Error]
|
|
20
|
+
def create
|
|
21
|
+
@client.execute(
|
|
22
|
+
"POST",
|
|
23
|
+
"/v1/stripe_onboarding",
|
|
24
|
+
model: Models::CardOnboardingLink
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Start card onboarding for a store.
|
|
29
|
+
#
|
|
30
|
+
# POST /v1/stores/{store_id}/stripe_onboarding
|
|
31
|
+
# @param store_id [String]
|
|
32
|
+
# @return [Models::CardOnboardingLink]
|
|
33
|
+
# @raise [ListoDelivery::Error]
|
|
34
|
+
def create_for_store(store_id)
|
|
35
|
+
@client.execute(
|
|
36
|
+
"POST",
|
|
37
|
+
"/v1/stores/#{Util.segment(store_id)}/stripe_onboarding",
|
|
38
|
+
model: Models::CardOnboardingLink
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Read your company's card readiness.
|
|
43
|
+
#
|
|
44
|
+
# GET /v1/stripe_status
|
|
45
|
+
# @return [Models::CardStatus]
|
|
46
|
+
# @raise [ListoDelivery::Error]
|
|
47
|
+
def status
|
|
48
|
+
@client.execute(
|
|
49
|
+
"GET",
|
|
50
|
+
"/v1/stripe_status",
|
|
51
|
+
model: Models::CardStatus
|
|
52
|
+
)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Read a store's card readiness.
|
|
56
|
+
#
|
|
57
|
+
# GET /v1/stores/{store_id}/stripe_status
|
|
58
|
+
# @param store_id [String]
|
|
59
|
+
# @return [Models::CardStatus]
|
|
60
|
+
# @raise [ListoDelivery::Error]
|
|
61
|
+
def status_for_store(store_id)
|
|
62
|
+
@client.execute(
|
|
63
|
+
"GET",
|
|
64
|
+
"/v1/stores/#{Util.segment(store_id)}/stripe_status",
|
|
65
|
+
model: Models::CardStatus
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
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 Resources
|
|
8
|
+
# Operations under "connect_requests".
|
|
9
|
+
class ConnectRequests
|
|
10
|
+
# @api private
|
|
11
|
+
def initialize(client)
|
|
12
|
+
@client = client
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Ask a restaurant to connect its account.
|
|
16
|
+
#
|
|
17
|
+
# POST /v1/connect_requests
|
|
18
|
+
# @param body [Hash, nil] request body (also accepted as keywords)
|
|
19
|
+
# @return [Models::ConnectRequest]
|
|
20
|
+
# @raise [ListoDelivery::Error]
|
|
21
|
+
def create(body = nil, **fields)
|
|
22
|
+
@client.execute(
|
|
23
|
+
"POST",
|
|
24
|
+
"/v1/connect_requests",
|
|
25
|
+
body: Util.body(body, fields, required: "createConnectRequest"),
|
|
26
|
+
model: Models::ConnectRequest
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|