repull 0.2.33 → 0.2.35
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 +4 -4
- data/lib/repull/api/connect_api.rb +4 -4
- data/lib/repull/api/health_api.rb +3 -3
- data/lib/repull/api/promotions_api.rb +574 -0
- data/lib/repull/models/connect_session_completed_payload.rb +1 -1
- data/lib/repull/models/connect_status_accounts_inner.rb +12 -1
- data/lib/repull/models/create_connect_session_request.rb +25 -1
- data/lib/repull/models/create_connection_request.rb +2 -22
- data/lib/repull/models/list_connection_units200_response.rb +12 -1
- data/lib/repull/models/list_connection_units200_response_units_inner.rb +1 -0
- data/lib/repull/models/listing_address.rb +62 -5
- data/lib/repull/models/listing_updated_payload.rb +2 -2
- data/lib/repull/models/message.rb +24 -1
- data/lib/repull/models/postal_address.rb +216 -0
- data/lib/repull/models/promotion.rb +344 -0
- data/lib/repull/models/promotion_applies_to.rb +161 -0
- data/lib/repull/models/promotion_bulk_request.rb +236 -0
- data/lib/repull/models/{plumguide_listing_list_response.rb → promotion_bulk_response.rb} +11 -11
- data/lib/repull/models/{calendar_updated_payload.rb → promotion_bulk_response_data_inner.rb} +23 -33
- data/lib/repull/models/promotion_bulk_response_data_inner_error.rb +165 -0
- data/lib/repull/models/promotion_bulk_response_summary.rb +156 -0
- data/lib/repull/models/{plumguide_listing.rb → promotion_catalog.rb} +18 -27
- data/lib/repull/models/promotion_catalog_channels_inner.rb +222 -0
- data/lib/repull/models/promotion_catalog_entry.rb +265 -0
- data/lib/repull/models/promotion_catalog_field.rb +205 -0
- data/lib/repull/models/{calendar_updated_payload_range.rb → promotion_catalog_field_options_inner.rb} +16 -16
- data/lib/repull/models/promotion_catalog_response.rb +147 -0
- data/lib/repull/models/promotion_create_request.rb +258 -0
- data/lib/repull/models/promotion_delete_response.rb +147 -0
- data/lib/repull/models/promotion_delete_response_data.rb +156 -0
- data/lib/repull/models/promotion_discount.rb +191 -0
- data/lib/repull/models/promotion_input.rb +241 -0
- data/lib/repull/models/promotion_list_response.rb +170 -0
- data/lib/repull/models/promotion_refresh_response.rb +170 -0
- data/lib/repull/models/promotion_response.rb +147 -0
- data/lib/repull/models/{calendar_updated_event.rb → promotion_rules.rb} +113 -104
- data/lib/repull/models/promotion_rules_blackout_dates_quota.rb +156 -0
- data/lib/repull/models/promotion_rules_booking_window.rb +230 -0
- data/lib/repull/models/promotion_rules_last_minute.rb +218 -0
- data/lib/repull/models/promotion_rules_stay_window.rb +211 -0
- data/lib/repull/models/promotion_type.rb +47 -0
- data/lib/repull/models/promotion_update_request.rb +175 -0
- data/lib/repull/models/promotion_usage.rb +193 -0
- data/lib/repull/models/promotion_usage_revenue.rb +156 -0
- data/lib/repull/models/property.rb +12 -2
- data/lib/repull/models/reservation_money_line.rb +14 -4
- data/lib/repull/models/webhook_event.rb +0 -2
- data/lib/repull/models/webhook_event_type.rb +1 -2
- data/lib/repull/version.rb +1 -1
- data/lib/repull.rb +32 -6
- data/openapi/v1.json +1193 -357
- data/scripts/regen.sh +1 -1
- metadata +34 -8
- data/lib/repull/api/plumguide_api.rb +0 -552
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3dd1b14c70b71a270a2738f370441e46162ee0810eaa4ea90df885938bc6ff4f
|
|
4
|
+
data.tar.gz: 86146a261bcd64bf93ded286fd2f9d10d0515713b6eb2c6ba0c8419cf498b0bb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '093ca68ae94804a08972248fefaa9138cee9d8032cc6f9b09bd0b8b649fbb406577e439b93b07283d4b8c27db71554c1ee5acd2a3325bd9a4d12d0df7f70dd9c'
|
|
7
|
+
data.tar.gz: 9681728ae90f98c2effa583ba82a9925b920dcdfcca0e2f0daae376f0468256beacdc56806c4bdb0c5503a195bca732ff33d853e045a0ad29959473bebfb3d8e
|
|
@@ -156,7 +156,7 @@ module Repull
|
|
|
156
156
|
end
|
|
157
157
|
|
|
158
158
|
# Connect to PMS/OTA provider
|
|
159
|
-
# Establish a connection to a PMS or OTA platform. Credentials vary by provider — see docs for each provider. Airbnb-specific: pass `redirectUrl` (where to send the user after consent) and optionally `accessType`. Three tiers: `read_only` grants read-only scopes; `messaging` grants read scopes plus message read/send but NOT property management, so it can coexist with another app (e.g. an existing PMS) that already holds property management on the same Airbnb account; `full_access` — the default — grants full host scopes including the exclusive property management (only one app per Airbnb account can hold it). The response returns a hosted `url` to redirect the user to. Booking.com: pass `redirectUrl` (no `accessType`). The response returns a hosted `url` — send the user there to
|
|
159
|
+
# Establish a connection to a PMS or OTA platform. Credentials vary by provider — see docs for each provider. Airbnb-specific: pass `redirectUrl` (where to send the user after consent) and optionally `accessType`. Three tiers: `read_only` grants read-only scopes; `messaging` (shown to hosts as \"Messaging & reviews\") grants read scopes plus message read/send and review writes (reply to guest reviews, submit host reviews — Airbnb's `reviews_write`) but NOT property management, so it can coexist with another app (e.g. an existing PMS) that already holds property management on the same Airbnb account; `full_access` — the default — grants full host scopes including the exclusive property management (only one app per Airbnb account can hold it). The response returns a hosted `url` to redirect the user to. Booking.com: pass `redirectUrl` (no `accessType`). The response returns a hosted `url` — send the user there to select our connectivity provider in their Booking.com Extranet and paste their Hotel ID. Same response shape as Airbnb (`url`, `sessionId`, `expiresAt`). PMS providers are not connected by this call: send their credentials to `POST /v1/connect/{provider}/credentials`, or start a hosted session with `POST /v1/connect`.
|
|
160
160
|
# @param provider [String] PMS provider slug (e.g., hostaway, guesty, ownerrez)
|
|
161
161
|
# @param [Hash] opts the optional parameters
|
|
162
162
|
# @option opts [CreateConnectionRequest] :create_connection_request
|
|
@@ -167,7 +167,7 @@ module Repull
|
|
|
167
167
|
end
|
|
168
168
|
|
|
169
169
|
# Connect to PMS/OTA provider
|
|
170
|
-
# Establish a connection to a PMS or OTA platform. Credentials vary by provider — see docs for each provider. Airbnb-specific: pass `redirectUrl` (where to send the user after consent) and optionally `accessType`. Three tiers: `read_only` grants read-only scopes; `messaging` grants read scopes plus message read/send but NOT property management, so it can coexist with another app (e.g. an existing PMS) that already holds property management on the same Airbnb account; `full_access` — the default — grants full host scopes including the exclusive property management (only one app per Airbnb account can hold it). The response returns a hosted `url` to redirect the user to. Booking.com: pass `redirectUrl` (no `accessType`). The response returns a hosted `url` — send the user there to
|
|
170
|
+
# Establish a connection to a PMS or OTA platform. Credentials vary by provider — see docs for each provider. Airbnb-specific: pass `redirectUrl` (where to send the user after consent) and optionally `accessType`. Three tiers: `read_only` grants read-only scopes; `messaging` (shown to hosts as \"Messaging & reviews\") grants read scopes plus message read/send and review writes (reply to guest reviews, submit host reviews — Airbnb's `reviews_write`) but NOT property management, so it can coexist with another app (e.g. an existing PMS) that already holds property management on the same Airbnb account; `full_access` — the default — grants full host scopes including the exclusive property management (only one app per Airbnb account can hold it). The response returns a hosted `url` to redirect the user to. Booking.com: pass `redirectUrl` (no `accessType`). The response returns a hosted `url` — send the user there to select our connectivity provider in their Booking.com Extranet and paste their Hotel ID. Same response shape as Airbnb (`url`, `sessionId`, `expiresAt`). PMS providers are not connected by this call: send their credentials to `POST /v1/connect/{provider}/credentials`, or start a hosted session with `POST /v1/connect`.
|
|
171
171
|
# @param provider [String] PMS provider slug (e.g., hostaway, guesty, ownerrez)
|
|
172
172
|
# @param [Hash] opts the optional parameters
|
|
173
173
|
# @option opts [CreateConnectionRequest] :create_connection_request
|
|
@@ -2311,7 +2311,7 @@ module Repull
|
|
|
2311
2311
|
end
|
|
2312
2312
|
|
|
2313
2313
|
# Verify a Booking.com hotel ID for a Connect session
|
|
2314
|
-
# Manual-paste fallback that closes the Booking.com claim flow. Call this after the customer completes Stage 1 designation in their Booking Extranet (
|
|
2314
|
+
# Manual-paste fallback that closes the Booking.com claim flow. Call this after the customer completes Stage 1 designation in their Booking Extranet (selecting our connectivity provider, named on the hosted Connect page) and pastes their Hotel ID into the hosted picker. Validates the hotel against Booking's property API, persists the `pms_connections` row, kicks off the room import, and transitions the Connect session to `awaiting_room_mapping`. No API key required — the `sessionId` is the capability token. Sessions in any terminal state are rejected.
|
|
2315
2315
|
# @param booking_verify_hotel_request [BookingVerifyHotelRequest]
|
|
2316
2316
|
# @param [Hash] opts the optional parameters
|
|
2317
2317
|
# @return [BookingVerifyHotelResponse]
|
|
@@ -2321,7 +2321,7 @@ module Repull
|
|
|
2321
2321
|
end
|
|
2322
2322
|
|
|
2323
2323
|
# Verify a Booking.com hotel ID for a Connect session
|
|
2324
|
-
# Manual-paste fallback that closes the Booking.com claim flow. Call this after the customer completes Stage 1 designation in their Booking Extranet (
|
|
2324
|
+
# Manual-paste fallback that closes the Booking.com claim flow. Call this after the customer completes Stage 1 designation in their Booking Extranet (selecting our connectivity provider, named on the hosted Connect page) and pastes their Hotel ID into the hosted picker. Validates the hotel against Booking's property API, persists the `pms_connections` row, kicks off the room import, and transitions the Connect session to `awaiting_room_mapping`. No API key required — the `sessionId` is the capability token. Sessions in any terminal state are rejected.
|
|
2325
2325
|
# @param booking_verify_hotel_request [BookingVerifyHotelRequest]
|
|
2326
2326
|
# @param [Hash] opts the optional parameters
|
|
2327
2327
|
# @return [Array<(BookingVerifyHotelResponse, Integer, Hash)>] BookingVerifyHotelResponse data, response status code and response headers
|
|
@@ -77,7 +77,7 @@ module Repull
|
|
|
77
77
|
end
|
|
78
78
|
|
|
79
79
|
# Per-channel connectivity health
|
|
80
|
-
# Reports reachability and auth state for one channel (`airbnb`, `booking`, `vrbo
|
|
80
|
+
# Reports reachability and auth state for one channel (`airbnb`, `booking`, `vrbo`). Use it to tell \"the channel is down\" apart from \"this workspace's connection expired\". `200` when `status` is `ok`, `503` when `degraded` or `down` (the body's `status` and `message` say which and why). **`vrbo`** reports the connector's own signals in a `vrbo` block: connected accounts, accounts VRBO signed out (their bookings, messages and calendar stop until reconnected — `down`), accounts whose inbox sync is late (`degraded`), and the calendar push queue backlog and its oldest wait (`degraded` past 3 hours). Its rate is calendar pushes VRBO refused over finished ones in the last 3 hours; failures inside Repull's own connector are reported apart as `vrbo.connector_errors` and do not count (`vrbo.window_hours`; `refresh_attempts_24h` / `refresh_rejections_24h` count that window for VRBO), judged only once at least 50 pushes finished and at least 5 failed — VRBO pushes run in bursts, so a day-long window would keep reporting a problem already fixed.
|
|
81
81
|
# @param channel [String]
|
|
82
82
|
# @param [Hash] opts the optional parameters
|
|
83
83
|
# @return [GetChannelHealth200Response]
|
|
@@ -87,7 +87,7 @@ module Repull
|
|
|
87
87
|
end
|
|
88
88
|
|
|
89
89
|
# Per-channel connectivity health
|
|
90
|
-
# Reports reachability and auth state for one channel (`airbnb`, `booking`, `vrbo`
|
|
90
|
+
# Reports reachability and auth state for one channel (`airbnb`, `booking`, `vrbo`). Use it to tell \"the channel is down\" apart from \"this workspace's connection expired\". `200` when `status` is `ok`, `503` when `degraded` or `down` (the body's `status` and `message` say which and why). **`vrbo`** reports the connector's own signals in a `vrbo` block: connected accounts, accounts VRBO signed out (their bookings, messages and calendar stop until reconnected — `down`), accounts whose inbox sync is late (`degraded`), and the calendar push queue backlog and its oldest wait (`degraded` past 3 hours). Its rate is calendar pushes VRBO refused over finished ones in the last 3 hours; failures inside Repull's own connector are reported apart as `vrbo.connector_errors` and do not count (`vrbo.window_hours`; `refresh_attempts_24h` / `refresh_rejections_24h` count that window for VRBO), judged only once at least 50 pushes finished and at least 5 failed — VRBO pushes run in bursts, so a day-long window would keep reporting a problem already fixed.
|
|
91
91
|
# @param channel [String]
|
|
92
92
|
# @param [Hash] opts the optional parameters
|
|
93
93
|
# @return [Array<(GetChannelHealth200Response, Integer, Hash)>] GetChannelHealth200Response data, response status code and response headers
|
|
@@ -100,7 +100,7 @@ module Repull
|
|
|
100
100
|
fail ArgumentError, "Missing the required parameter 'channel' when calling HealthApi.get_channel_health"
|
|
101
101
|
end
|
|
102
102
|
# verify enum value
|
|
103
|
-
allowable_values = ["airbnb", "booking", "vrbo"
|
|
103
|
+
allowable_values = ["airbnb", "booking", "vrbo"]
|
|
104
104
|
if @api_client.config.client_side_validation && !allowable_values.include?(channel)
|
|
105
105
|
fail ArgumentError, "invalid value for \"channel\", must be one of #{allowable_values}"
|
|
106
106
|
end
|