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,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