repull 0.2.15 → 0.2.16
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/airbnb_api.rb +147 -52
- data/lib/repull/api/billing_api.rb +4 -4
- data/lib/repull/api/booking_com_api.rb +36 -27
- data/lib/repull/api/conversations_api.rb +398 -4
- data/lib/repull/api/guests_api.rb +2 -2
- data/lib/repull/api/listings_api.rb +4 -4
- data/lib/repull/api/reservations_api.rb +157 -6
- data/lib/repull/api/webhooks_api.rb +10 -3
- data/lib/repull/models/accept_reservation_request200_response.rb +321 -0
- data/lib/repull/models/account_created_event.rb +95 -31
- data/lib/repull/models/account_disconnected_event.rb +95 -31
- data/lib/repull/models/ai_operation_completed_event.rb +95 -31
- data/lib/repull/models/ai_operation_failed_event.rb +95 -31
- data/lib/repull/models/airbnb_reservation_action200_response.rb +157 -0
- data/lib/repull/models/airbnb_reservation_action_request.rb +248 -0
- data/lib/repull/models/booking_availability_update.rb +4 -20
- data/lib/repull/models/booking_availability_update_date_range.rb +193 -0
- data/lib/repull/models/booking_availability_update_request.rb +14 -3
- data/lib/repull/models/booking_pricing_rate_update.rb +32 -4
- data/lib/repull/models/booking_pricing_rate_update_date_range.rb +3 -0
- data/lib/repull/models/booking_pricing_rate_update_restrictions.rb +10 -10
- data/lib/repull/models/booking_pricing_response.rb +16 -4
- data/lib/repull/models/booking_pricing_update_response.rb +82 -18
- data/lib/repull/models/booking_property.rb +107 -36
- data/lib/repull/models/booking_property_listings_inner.rb +244 -0
- data/lib/repull/models/booking_rate_write_occupancy.rb +187 -0
- data/lib/repull/models/booking_rate_write_price_half.rb +188 -0
- data/lib/repull/models/booking_rate_write_restriction_half.rb +212 -0
- data/lib/repull/models/booking_rate_write_verification.rb +200 -0
- data/lib/repull/models/booking_rate_write_verification_row.rb +196 -0
- data/lib/repull/models/booking_restriction_request_row.rb +199 -0
- data/lib/repull/models/booking_restriction_verification.rb +208 -0
- data/lib/repull/models/booking_restriction_verification_row.rb +203 -0
- data/lib/repull/models/booking_restriction_verification_row_booking_value.rb +105 -0
- data/lib/repull/models/booking_restriction_verification_row_expected.rb +105 -0
- data/lib/repull/models/booking_rooms_rates_response.rb +41 -7
- data/lib/repull/models/booking_rooms_rates_response_rooms_inner.rb +12 -1
- data/lib/repull/models/booking_rooms_rates_response_rooms_inner_rates_inner.rb +1 -0
- data/lib/repull/models/booking_upstream_failure.rb +204 -0
- data/lib/repull/models/calendar_updated_event.rb +95 -31
- data/lib/repull/models/conversation_message_attachment.rb +28 -1
- data/lib/repull/models/create_airbnb_offer_request.rb +93 -8
- data/lib/repull/models/create_airbnb_offer_request_guest_details.rb +279 -0
- data/lib/repull/models/create_conversation_special_offer201_response.rb +293 -0
- data/lib/repull/models/create_conversation_special_offer201_response_guests.rb +189 -0
- data/lib/repull/models/create_conversation_special_offer_request.rb +263 -0
- data/lib/repull/models/create_conversation_special_offer_request_guests.rb +263 -0
- data/lib/repull/models/decline_reservation_request_request.rb +234 -0
- data/lib/repull/models/get_airbnb_offer200_response.rb +289 -0
- data/lib/repull/models/get_usage_summary200_response.rb +10 -1
- data/lib/repull/models/get_usage_summary200_response_limits.rb +11 -1
- data/lib/repull/models/get_usage_summary200_response_remaining.rb +11 -1
- data/lib/repull/models/get_usage_summary200_response_used.rb +10 -1
- data/lib/repull/models/get_usage_tier200_response.rb +10 -1
- data/lib/repull/models/get_usage_tier200_response_limits.rb +11 -1
- data/lib/repull/models/get_usage_tier200_response_remaining.rb +11 -1
- data/lib/repull/models/get_usage_tier200_response_used.rb +10 -1
- data/lib/repull/models/inquiry_created_event.rb +281 -0
- data/lib/repull/models/inquiry_created_payload.rb +185 -0
- data/lib/repull/models/inquiry_updated_event.rb +281 -0
- data/lib/repull/models/inquiry_updated_payload.rb +213 -0
- data/lib/repull/models/inquiry_webhook_object.rb +323 -0
- data/lib/repull/models/inquiry_webhook_object_expected_payout.rb +158 -0
- data/lib/repull/models/inquiry_webhook_object_guests.rb +188 -0
- data/lib/repull/models/list_airbnb_thread_messages200_response.rb +170 -0
- data/lib/repull/models/list_airbnb_thread_messages200_response_data_inner.rb +274 -0
- data/lib/repull/models/list_airbnb_thread_messages200_response_pagination.rb +158 -0
- data/lib/repull/models/list_inquiries200_response.rb +192 -0
- data/lib/repull/models/list_inquiries200_response_data_inner.rb +418 -0
- data/lib/repull/models/list_inquiries200_response_data_inner_expected_payout.rb +159 -0
- data/lib/repull/models/list_inquiries200_response_data_inner_guests.rb +188 -0
- data/lib/repull/models/listing_created_event.rb +95 -31
- data/lib/repull/models/listing_deleted_event.rb +95 -31
- data/lib/repull/models/listing_deleted_payload.rb +55 -21
- data/lib/repull/models/listing_reactivated_event.rb +281 -0
- data/lib/repull/models/listing_suspended_event.rb +281 -0
- data/lib/repull/models/listing_suspension_payload.rb +202 -0
- data/lib/repull/models/listing_updated_event.rb +95 -31
- data/lib/repull/models/listing_updated_payload.rb +50 -22
- data/lib/repull/models/listing_webhook_object.rb +291 -0
- data/lib/repull/models/listing_webhook_object_address.rb +168 -0
- data/lib/repull/models/listing_webhook_object_channels_inner.rb +184 -0
- data/lib/repull/models/message.rb +1 -0
- data/lib/repull/models/payment_completed_event.rb +95 -31
- data/lib/repull/models/payment_completed_payload.rb +46 -44
- data/lib/repull/models/payment_refunded_event.rb +95 -31
- data/lib/repull/models/payment_refunded_payload.rb +46 -44
- data/lib/repull/models/payment_webhook_object.rb +351 -0
- data/lib/repull/models/preapprove_conversation201_response.rb +253 -0
- data/lib/repull/models/preapprove_conversation_request.rb +150 -0
- data/lib/repull/models/replay_webhook_delivery_request.rb +150 -0
- data/lib/repull/models/repull_ping_event.rb +95 -31
- data/lib/repull/models/reservation.rb +22 -2
- data/lib/repull/models/reservation_alteration_created_event.rb +95 -31
- data/lib/repull/models/reservation_alteration_responded_event.rb +95 -31
- data/lib/repull/models/reservation_cancelled_event.rb +95 -31
- data/lib/repull/models/reservation_created_event.rb +95 -32
- data/lib/repull/models/reservation_message_received_event.rb +95 -31
- data/lib/repull/models/reservation_message_received_payload.rb +17 -4
- data/lib/repull/models/reservation_request_created_event.rb +281 -0
- data/lib/repull/models/reservation_request_created_payload.rb +224 -0
- data/lib/repull/models/reservation_request_updated_event.rb +281 -0
- data/lib/repull/models/reservation_request_updated_payload.rb +251 -0
- data/lib/repull/models/reservation_updated_event.rb +95 -31
- data/lib/repull/models/review_created_event.rb +95 -31
- data/lib/repull/models/review_responded_event.rb +95 -31
- data/lib/repull/models/send_airbnb_message201_response.rb +104 -0
- data/lib/repull/models/send_airbnb_message_request.rb +4 -20
- data/lib/repull/models/send_message_attachment.rb +225 -0
- data/lib/repull/models/send_message_part.rb +201 -0
- data/lib/repull/models/send_message_request.rb +44 -19
- data/lib/repull/models/send_message_response.rb +29 -5
- data/lib/repull/models/sent_attachment.rb +196 -0
- data/lib/repull/models/usage_quota_warning_event.rb +281 -0
- data/lib/repull/models/usage_quota_warning_payload.rb +224 -0
- data/lib/repull/models/usage_quota_warning_payload_top_operation.rb +167 -0
- data/lib/repull/models/webhook_event.rb +17 -3
- data/lib/repull/models/webhook_event_account.rb +171 -0
- data/lib/repull/models/webhook_event_type.rb +8 -1
- data/lib/repull/models/withdraw_conversation_special_offer200_response.rb +240 -0
- data/lib/repull/version.rb +1 -1
- data/lib/repull.rb +60 -0
- data/openapi/v1.json +19295 -13620
- data/scripts/regen.sh +1 -1
- metadata +62 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 175702d237d27f33b9679fba7983ccc079f32506c3c41db55d17a86cbddc8890
|
|
4
|
+
data.tar.gz: 4496a29f40b16219d780f5d43a80066dfd000fd6da894d02a678b3eb8b7821ef
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 315b9b4c7a8f0c641b16d2f6d025eed5dba1206afd6a2d43be4f234ef1636eaafb5470a5e09d96d30cd2dea9a23a3db4f95b84486055d94ecb326bd3032ec279
|
|
7
|
+
data.tar.gz: 92116617f35df2bf5ee0961b8e1a623e072367cd737568a1b4ce6d98a32c32d40e1b4b393380b279be8957c31f636ccba1d7289ed63510ceff37f2fdc6449fea
|
|
@@ -93,7 +93,7 @@ module Repull
|
|
|
93
93
|
# Apply a state action to a listing by id. The path `id` is the canonical Repull listing id. **Deactivating in Repull and unlisting on Airbnb are different operations.** `delete` is a **deactivate of the Repull record only** — it sets the listing inactive and KEEPS the row; it does NOT touch the Airbnb listing, which stays live and keeps taking bookings. Use it to exclude a listing from the API / trim back under the plan-listings cap; reactivate via `PATCH /v1/listings/{id}` with `{ \"active\": true }`. Idempotent. `unlist` calls Airbnb and **takes the live listing down**: it is deactivated with a valid deactivation reason and then READ BACK, so \"Airbnb accepted the call but the listing is still live\" is reported as a failure rather than a success. Requires `airbnbConnectionId` — a listing can be connected to more than one Airbnb listing, and taking down the wrong one is not undoable through this API. `relist` puts it back up (re-enables sync and makes the listing available again); it does not push content. `push` / `publish` push the listing's content to Airbnb via the same host-side sync orchestrator as `POST /v1/listings/{id}/publish/airbnb` — pass `airbnbConnectionId` to update an already-mapped Airbnb listing, or `hostId` to create + publish a new one under that host. `force` re-pushes every field, ignoring dirty-field tracking. The result is per-section: see `AirbnbPublishResult`. Any other action (e.g. `pull`) returns a structured 422 naming the supported actions. Returns `403 listing_inactive` for `push`/`publish`/`unlist`/`relist` when the listing is inactive. `delete` (deactivation) is always accepted.
|
|
94
94
|
# @param id [String]
|
|
95
95
|
# @param [Hash] opts the optional parameters
|
|
96
|
-
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. -
|
|
96
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
97
97
|
# @option opts [AirbnbListingActionRequest] :airbnb_listing_action_request
|
|
98
98
|
# @return [AirbnbListingAction200Response]
|
|
99
99
|
def airbnb_listing_action(id, opts = {})
|
|
@@ -105,7 +105,7 @@ module Repull
|
|
|
105
105
|
# Apply a state action to a listing by id. The path `id` is the canonical Repull listing id. **Deactivating in Repull and unlisting on Airbnb are different operations.** `delete` is a **deactivate of the Repull record only** — it sets the listing inactive and KEEPS the row; it does NOT touch the Airbnb listing, which stays live and keeps taking bookings. Use it to exclude a listing from the API / trim back under the plan-listings cap; reactivate via `PATCH /v1/listings/{id}` with `{ \"active\": true }`. Idempotent. `unlist` calls Airbnb and **takes the live listing down**: it is deactivated with a valid deactivation reason and then READ BACK, so \"Airbnb accepted the call but the listing is still live\" is reported as a failure rather than a success. Requires `airbnbConnectionId` — a listing can be connected to more than one Airbnb listing, and taking down the wrong one is not undoable through this API. `relist` puts it back up (re-enables sync and makes the listing available again); it does not push content. `push` / `publish` push the listing's content to Airbnb via the same host-side sync orchestrator as `POST /v1/listings/{id}/publish/airbnb` — pass `airbnbConnectionId` to update an already-mapped Airbnb listing, or `hostId` to create + publish a new one under that host. `force` re-pushes every field, ignoring dirty-field tracking. The result is per-section: see `AirbnbPublishResult`. Any other action (e.g. `pull`) returns a structured 422 naming the supported actions. Returns `403 listing_inactive` for `push`/`publish`/`unlist`/`relist` when the listing is inactive. `delete` (deactivation) is always accepted.
|
|
106
106
|
# @param id [String]
|
|
107
107
|
# @param [Hash] opts the optional parameters
|
|
108
|
-
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. -
|
|
108
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
109
109
|
# @option opts [AirbnbListingActionRequest] :airbnb_listing_action_request
|
|
110
110
|
# @return [Array<(AirbnbListingAction200Response, Integer, Hash)>] AirbnbListingAction200Response data, response status code and response headers
|
|
111
111
|
def airbnb_listing_action_with_http_info(id, opts = {})
|
|
@@ -166,22 +166,26 @@ module Repull
|
|
|
166
166
|
return data, status_code, headers
|
|
167
167
|
end
|
|
168
168
|
|
|
169
|
-
# Accept
|
|
170
|
-
#
|
|
171
|
-
# @param code [String]
|
|
169
|
+
# Accept, decline or cancel an Airbnb reservation
|
|
170
|
+
# Act on an Airbnb reservation by its Airbnb confirmation code. **Write-side** — calls Airbnb upstream, as the Airbnb account that owns the booking. - `accept` — accept a pending booking request. - `decline` — decline a pending booking request. Requires `reason` (one of Airbnb's decline reasons) and `message` (sent to the guest, at most 500 characters). - `cancel` — cancel a confirmed booking as the host. Requires `reason` (one of Airbnb's host-cancellation reasons). **Host cancellations carry Airbnb penalties.** The body is validated before anything reaches Airbnb; unknown fields are refused. There is no `pre-approve` action: a pre-approval answers an inquiry, which has no confirmation code — use `POST /v1/conversations/{id}/pre-approval`. For accept/decline, `POST /v1/reservations/{id}/accept` and `/decline` do the same by Repull id and also update Vanio. Airbnb refusals are mapped rather than returned as a 500: a request that already moved on is `409 request_no_longer_pending` (do not retry), an expired one `409 request_expired`, any other refusal `422 airbnb_rejected` with Airbnb's reason. Returns `403 listing_inactive` when the listing this resolves to is inactive. An inactive listing keeps syncing, but cannot be read or changed through the API until it is activated. Send `Idempotency-Key` to make a retry safe.
|
|
171
|
+
# @param code [String] Airbnb confirmation code, e.g. `HM9J2MFR3W`.
|
|
172
|
+
# @param airbnb_reservation_action_request [AirbnbReservationActionRequest]
|
|
172
173
|
# @param [Hash] opts the optional parameters
|
|
173
|
-
# @
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
174
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
175
|
+
# @return [AirbnbReservationAction200Response]
|
|
176
|
+
def airbnb_reservation_action(code, airbnb_reservation_action_request, opts = {})
|
|
177
|
+
data, _status_code, _headers = airbnb_reservation_action_with_http_info(code, airbnb_reservation_action_request, opts)
|
|
178
|
+
data
|
|
177
179
|
end
|
|
178
180
|
|
|
179
|
-
# Accept
|
|
180
|
-
#
|
|
181
|
-
# @param code [String]
|
|
181
|
+
# Accept, decline or cancel an Airbnb reservation
|
|
182
|
+
# Act on an Airbnb reservation by its Airbnb confirmation code. **Write-side** — calls Airbnb upstream, as the Airbnb account that owns the booking. - `accept` — accept a pending booking request. - `decline` — decline a pending booking request. Requires `reason` (one of Airbnb's decline reasons) and `message` (sent to the guest, at most 500 characters). - `cancel` — cancel a confirmed booking as the host. Requires `reason` (one of Airbnb's host-cancellation reasons). **Host cancellations carry Airbnb penalties.** The body is validated before anything reaches Airbnb; unknown fields are refused. There is no `pre-approve` action: a pre-approval answers an inquiry, which has no confirmation code — use `POST /v1/conversations/{id}/pre-approval`. For accept/decline, `POST /v1/reservations/{id}/accept` and `/decline` do the same by Repull id and also update Vanio. Airbnb refusals are mapped rather than returned as a 500: a request that already moved on is `409 request_no_longer_pending` (do not retry), an expired one `409 request_expired`, any other refusal `422 airbnb_rejected` with Airbnb's reason. Returns `403 listing_inactive` when the listing this resolves to is inactive. An inactive listing keeps syncing, but cannot be read or changed through the API until it is activated. Send `Idempotency-Key` to make a retry safe.
|
|
183
|
+
# @param code [String] Airbnb confirmation code, e.g. `HM9J2MFR3W`.
|
|
184
|
+
# @param airbnb_reservation_action_request [AirbnbReservationActionRequest]
|
|
182
185
|
# @param [Hash] opts the optional parameters
|
|
183
|
-
# @
|
|
184
|
-
|
|
186
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
187
|
+
# @return [Array<(AirbnbReservationAction200Response, Integer, Hash)>] AirbnbReservationAction200Response data, response status code and response headers
|
|
188
|
+
def airbnb_reservation_action_with_http_info(code, airbnb_reservation_action_request, opts = {})
|
|
185
189
|
if @api_client.config.debugging
|
|
186
190
|
@api_client.config.logger.debug 'Calling API: AirbnbApi.airbnb_reservation_action ...'
|
|
187
191
|
end
|
|
@@ -189,6 +193,14 @@ module Repull
|
|
|
189
193
|
if @api_client.config.client_side_validation && code.nil?
|
|
190
194
|
fail ArgumentError, "Missing the required parameter 'code' when calling AirbnbApi.airbnb_reservation_action"
|
|
191
195
|
end
|
|
196
|
+
# verify the required parameter 'airbnb_reservation_action_request' is set
|
|
197
|
+
if @api_client.config.client_side_validation && airbnb_reservation_action_request.nil?
|
|
198
|
+
fail ArgumentError, "Missing the required parameter 'airbnb_reservation_action_request' when calling AirbnbApi.airbnb_reservation_action"
|
|
199
|
+
end
|
|
200
|
+
if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length > 255
|
|
201
|
+
fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling AirbnbApi.airbnb_reservation_action, the character length must be smaller than or equal to 255.'
|
|
202
|
+
end
|
|
203
|
+
|
|
192
204
|
# resource path
|
|
193
205
|
local_var_path = '/v1/channels/airbnb/reservations/{code}'.sub('{code}', CGI.escape(code.to_s))
|
|
194
206
|
|
|
@@ -199,15 +211,21 @@ module Repull
|
|
|
199
211
|
header_params = opts[:header_params] || {}
|
|
200
212
|
# HTTP header 'Accept' (if needed)
|
|
201
213
|
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
214
|
+
# HTTP header 'Content-Type'
|
|
215
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
216
|
+
if !content_type.nil?
|
|
217
|
+
header_params['Content-Type'] = content_type
|
|
218
|
+
end
|
|
219
|
+
header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
|
202
220
|
|
|
203
221
|
# form parameters
|
|
204
222
|
form_params = opts[:form_params] || {}
|
|
205
223
|
|
|
206
224
|
# http body (model)
|
|
207
|
-
post_body = opts[:debug_body]
|
|
225
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(airbnb_reservation_action_request)
|
|
208
226
|
|
|
209
227
|
# return_type
|
|
210
|
-
return_type = opts[:debug_return_type]
|
|
228
|
+
return_type = opts[:debug_return_type] || 'AirbnbReservationAction200Response'
|
|
211
229
|
|
|
212
230
|
# auth_names
|
|
213
231
|
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
@@ -442,20 +460,22 @@ module Repull
|
|
|
442
460
|
end
|
|
443
461
|
|
|
444
462
|
# Create Airbnb special offer or pre-approval
|
|
445
|
-
# Create a
|
|
463
|
+
# Create a pre-approval or a special offer on an Airbnb thread, addressed by **Airbnb** ids. **Write-side** — calls Airbnb upstream. The Repull-id equivalents, which also update the inquiry in Vanio, are `POST /v1/conversations/{id}/pre-approval` and `POST /v1/conversations/{id}/special-offers` — prefer those unless you only hold Airbnb ids. - `type: \"preapproval\"` — let the guest book the dates and price they asked about. Requires `thread_id`; optional `block_instant_booking`. - `type: \"offer\"` — your own terms. Requires `thread_id`, `listing_id` (the **Airbnb** listing id, as a string), `start_date`, `nights`, `total_price` (whole stay, listing currency) and `guest_details` with `number_of_guests` (or `number_of_adults`; Airbnb counts adults + children). The body is validated before anything reaches Airbnb (a `422 invalid_params` names the field), and unknown fields are refused. The legacy spellings `threadId` and `blockInstantBooking` still work. The request is sent as the Airbnb account that owns the thread or listing. Airbnb refusals are mapped rather than returned as a 500: `409 inquiry_no_longer_open` / `inquiry_expired` when the inquiry moved on, `422 airbnb_rejected` with Airbnb’s reason otherwise, `403 connection_reauth_required` when the grant does not allow it. Returns `403 listing_inactive` when the listing this resolves to is inactive. An inactive listing keeps syncing, but cannot be read or changed through the API until it is activated. Send `Idempotency-Key`: a repeat with the same key replays the first response instead of acting twice (a `409 idempotency_key_in_use` while the first is still running). A 5xx, a `429 airbnb_rate_limited` or a `403 connection_reauth_required` is not stored — nothing was done — so retrying with the same key reaches Airbnb again.
|
|
446
464
|
# @param create_airbnb_offer_request [CreateAirbnbOfferRequest]
|
|
447
465
|
# @param [Hash] opts the optional parameters
|
|
448
|
-
# @
|
|
466
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
467
|
+
# @return [GetAirbnbOffer200Response]
|
|
449
468
|
def create_airbnb_offer(create_airbnb_offer_request, opts = {})
|
|
450
|
-
create_airbnb_offer_with_http_info(create_airbnb_offer_request, opts)
|
|
451
|
-
|
|
469
|
+
data, _status_code, _headers = create_airbnb_offer_with_http_info(create_airbnb_offer_request, opts)
|
|
470
|
+
data
|
|
452
471
|
end
|
|
453
472
|
|
|
454
473
|
# Create Airbnb special offer or pre-approval
|
|
455
|
-
# Create a
|
|
474
|
+
# Create a pre-approval or a special offer on an Airbnb thread, addressed by **Airbnb** ids. **Write-side** — calls Airbnb upstream. The Repull-id equivalents, which also update the inquiry in Vanio, are `POST /v1/conversations/{id}/pre-approval` and `POST /v1/conversations/{id}/special-offers` — prefer those unless you only hold Airbnb ids. - `type: \"preapproval\"` — let the guest book the dates and price they asked about. Requires `thread_id`; optional `block_instant_booking`. - `type: \"offer\"` — your own terms. Requires `thread_id`, `listing_id` (the **Airbnb** listing id, as a string), `start_date`, `nights`, `total_price` (whole stay, listing currency) and `guest_details` with `number_of_guests` (or `number_of_adults`; Airbnb counts adults + children). The body is validated before anything reaches Airbnb (a `422 invalid_params` names the field), and unknown fields are refused. The legacy spellings `threadId` and `blockInstantBooking` still work. The request is sent as the Airbnb account that owns the thread or listing. Airbnb refusals are mapped rather than returned as a 500: `409 inquiry_no_longer_open` / `inquiry_expired` when the inquiry moved on, `422 airbnb_rejected` with Airbnb’s reason otherwise, `403 connection_reauth_required` when the grant does not allow it. Returns `403 listing_inactive` when the listing this resolves to is inactive. An inactive listing keeps syncing, but cannot be read or changed through the API until it is activated. Send `Idempotency-Key`: a repeat with the same key replays the first response instead of acting twice (a `409 idempotency_key_in_use` while the first is still running). A 5xx, a `429 airbnb_rate_limited` or a `403 connection_reauth_required` is not stored — nothing was done — so retrying with the same key reaches Airbnb again.
|
|
456
475
|
# @param create_airbnb_offer_request [CreateAirbnbOfferRequest]
|
|
457
476
|
# @param [Hash] opts the optional parameters
|
|
458
|
-
# @
|
|
477
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
478
|
+
# @return [Array<(GetAirbnbOffer200Response, Integer, Hash)>] GetAirbnbOffer200Response data, response status code and response headers
|
|
459
479
|
def create_airbnb_offer_with_http_info(create_airbnb_offer_request, opts = {})
|
|
460
480
|
if @api_client.config.debugging
|
|
461
481
|
@api_client.config.logger.debug 'Calling API: AirbnbApi.create_airbnb_offer ...'
|
|
@@ -464,6 +484,10 @@ module Repull
|
|
|
464
484
|
if @api_client.config.client_side_validation && create_airbnb_offer_request.nil?
|
|
465
485
|
fail ArgumentError, "Missing the required parameter 'create_airbnb_offer_request' when calling AirbnbApi.create_airbnb_offer"
|
|
466
486
|
end
|
|
487
|
+
if @api_client.config.client_side_validation && !opts[:'idempotency_key'].nil? && opts[:'idempotency_key'].to_s.length > 255
|
|
488
|
+
fail ArgumentError, 'invalid value for "opts[:"idempotency_key"]" when calling AirbnbApi.create_airbnb_offer, the character length must be smaller than or equal to 255.'
|
|
489
|
+
end
|
|
490
|
+
|
|
467
491
|
# resource path
|
|
468
492
|
local_var_path = '/v1/channels/airbnb/offers'
|
|
469
493
|
|
|
@@ -479,6 +503,7 @@ module Repull
|
|
|
479
503
|
if !content_type.nil?
|
|
480
504
|
header_params['Content-Type'] = content_type
|
|
481
505
|
end
|
|
506
|
+
header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
|
|
482
507
|
|
|
483
508
|
# form parameters
|
|
484
509
|
form_params = opts[:form_params] || {}
|
|
@@ -487,7 +512,7 @@ module Repull
|
|
|
487
512
|
post_body = opts[:debug_body] || @api_client.object_to_http_body(create_airbnb_offer_request)
|
|
488
513
|
|
|
489
514
|
# return_type
|
|
490
|
-
return_type = opts[:debug_return_type]
|
|
515
|
+
return_type = opts[:debug_return_type] || 'GetAirbnbOffer200Response'
|
|
491
516
|
|
|
492
517
|
# auth_names
|
|
493
518
|
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
@@ -1500,6 +1525,70 @@ module Repull
|
|
|
1500
1525
|
return data, status_code, headers
|
|
1501
1526
|
end
|
|
1502
1527
|
|
|
1528
|
+
# Get Airbnb special offer
|
|
1529
|
+
# Read a pre-approval or special offer from Airbnb by its Airbnb id. **Live read** — calls Airbnb upstream. Pass the id as `?offerId=`. The Repull-id equivalent is `GET /v1/conversations/{id}/special-offers/{offerId}`, which also confirms the offer belongs to that conversation.
|
|
1530
|
+
# @param offer_id [String] Airbnb special-offer id (the `id` Airbnb returned when the offer was created).
|
|
1531
|
+
# @param [Hash] opts the optional parameters
|
|
1532
|
+
# @return [GetAirbnbOffer200Response]
|
|
1533
|
+
def get_airbnb_offer(offer_id, opts = {})
|
|
1534
|
+
data, _status_code, _headers = get_airbnb_offer_with_http_info(offer_id, opts)
|
|
1535
|
+
data
|
|
1536
|
+
end
|
|
1537
|
+
|
|
1538
|
+
# Get Airbnb special offer
|
|
1539
|
+
# Read a pre-approval or special offer from Airbnb by its Airbnb id. **Live read** — calls Airbnb upstream. Pass the id as `?offerId=`. The Repull-id equivalent is `GET /v1/conversations/{id}/special-offers/{offerId}`, which also confirms the offer belongs to that conversation.
|
|
1540
|
+
# @param offer_id [String] Airbnb special-offer id (the `id` Airbnb returned when the offer was created).
|
|
1541
|
+
# @param [Hash] opts the optional parameters
|
|
1542
|
+
# @return [Array<(GetAirbnbOffer200Response, Integer, Hash)>] GetAirbnbOffer200Response data, response status code and response headers
|
|
1543
|
+
def get_airbnb_offer_with_http_info(offer_id, opts = {})
|
|
1544
|
+
if @api_client.config.debugging
|
|
1545
|
+
@api_client.config.logger.debug 'Calling API: AirbnbApi.get_airbnb_offer ...'
|
|
1546
|
+
end
|
|
1547
|
+
# verify the required parameter 'offer_id' is set
|
|
1548
|
+
if @api_client.config.client_side_validation && offer_id.nil?
|
|
1549
|
+
fail ArgumentError, "Missing the required parameter 'offer_id' when calling AirbnbApi.get_airbnb_offer"
|
|
1550
|
+
end
|
|
1551
|
+
# resource path
|
|
1552
|
+
local_var_path = '/v1/channels/airbnb/offers'
|
|
1553
|
+
|
|
1554
|
+
# query parameters
|
|
1555
|
+
query_params = opts[:query_params] || {}
|
|
1556
|
+
query_params[:'offerId'] = offer_id
|
|
1557
|
+
|
|
1558
|
+
# header parameters
|
|
1559
|
+
header_params = opts[:header_params] || {}
|
|
1560
|
+
# HTTP header 'Accept' (if needed)
|
|
1561
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
1562
|
+
|
|
1563
|
+
# form parameters
|
|
1564
|
+
form_params = opts[:form_params] || {}
|
|
1565
|
+
|
|
1566
|
+
# http body (model)
|
|
1567
|
+
post_body = opts[:debug_body]
|
|
1568
|
+
|
|
1569
|
+
# return_type
|
|
1570
|
+
return_type = opts[:debug_return_type] || 'GetAirbnbOffer200Response'
|
|
1571
|
+
|
|
1572
|
+
# auth_names
|
|
1573
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
1574
|
+
|
|
1575
|
+
new_options = opts.merge(
|
|
1576
|
+
:operation => :"AirbnbApi.get_airbnb_offer",
|
|
1577
|
+
:header_params => header_params,
|
|
1578
|
+
:query_params => query_params,
|
|
1579
|
+
:form_params => form_params,
|
|
1580
|
+
:body => post_body,
|
|
1581
|
+
:auth_names => auth_names,
|
|
1582
|
+
:return_type => return_type
|
|
1583
|
+
)
|
|
1584
|
+
|
|
1585
|
+
data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
|
|
1586
|
+
if @api_client.config.debugging
|
|
1587
|
+
@api_client.config.logger.debug "API called: AirbnbApi#get_airbnb_offer\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
1588
|
+
end
|
|
1589
|
+
return data, status_code, headers
|
|
1590
|
+
end
|
|
1591
|
+
|
|
1503
1592
|
# Get Airbnb reservation
|
|
1504
1593
|
# Fetch a single Airbnb reservation by Airbnb confirmation code (e.g. `HMABCDEF12`). Returns `403 listing_inactive` when the listing this resolves to is inactive. An inactive listing keeps syncing, but cannot be read or changed through the API until it is activated.
|
|
1505
1594
|
# @param code [String]
|
|
@@ -2315,20 +2404,24 @@ module Repull
|
|
|
2315
2404
|
end
|
|
2316
2405
|
|
|
2317
2406
|
# Get Airbnb messages
|
|
2318
|
-
#
|
|
2407
|
+
# Messages stored for an Airbnb thread, as recorded rows (not the unified `Message` shape — use `GET /v1/conversations/{id}/messages` for that). By default returns 50 per page, newest first; walk older pages with `?cursor=` (the `pagination.nextCursor` of the previous page) until `pagination.hasMore` is `false`. `?all=true` returns up to 1000 rows oldest-first in one response, with no `pagination`. Each row carries `attachments` — photos and other files on that message, inbound or outbound — in the same shape as the unified endpoint. Returns `403 listing_inactive` when the listing this resolves to is inactive. An inactive listing keeps syncing, but cannot be read or changed through the API until it is activated.
|
|
2319
2408
|
# @param thread_id [String]
|
|
2320
2409
|
# @param [Hash] opts the optional parameters
|
|
2321
|
-
# @
|
|
2410
|
+
# @option opts [String] :cursor `pagination.nextCursor` from the previous page.
|
|
2411
|
+
# @option opts [Boolean] :all `true` returns up to 1000 messages oldest-first in one response, without `pagination`.
|
|
2412
|
+
# @return [ListAirbnbThreadMessages200Response]
|
|
2322
2413
|
def list_airbnb_thread_messages(thread_id, opts = {})
|
|
2323
2414
|
data, _status_code, _headers = list_airbnb_thread_messages_with_http_info(thread_id, opts)
|
|
2324
2415
|
data
|
|
2325
2416
|
end
|
|
2326
2417
|
|
|
2327
2418
|
# Get Airbnb messages
|
|
2328
|
-
#
|
|
2419
|
+
# Messages stored for an Airbnb thread, as recorded rows (not the unified `Message` shape — use `GET /v1/conversations/{id}/messages` for that). By default returns 50 per page, newest first; walk older pages with `?cursor=` (the `pagination.nextCursor` of the previous page) until `pagination.hasMore` is `false`. `?all=true` returns up to 1000 rows oldest-first in one response, with no `pagination`. Each row carries `attachments` — photos and other files on that message, inbound or outbound — in the same shape as the unified endpoint. Returns `403 listing_inactive` when the listing this resolves to is inactive. An inactive listing keeps syncing, but cannot be read or changed through the API until it is activated.
|
|
2329
2420
|
# @param thread_id [String]
|
|
2330
2421
|
# @param [Hash] opts the optional parameters
|
|
2331
|
-
# @
|
|
2422
|
+
# @option opts [String] :cursor `pagination.nextCursor` from the previous page.
|
|
2423
|
+
# @option opts [Boolean] :all `true` returns up to 1000 messages oldest-first in one response, without `pagination`.
|
|
2424
|
+
# @return [Array<(ListAirbnbThreadMessages200Response, Integer, Hash)>] ListAirbnbThreadMessages200Response data, response status code and response headers
|
|
2332
2425
|
def list_airbnb_thread_messages_with_http_info(thread_id, opts = {})
|
|
2333
2426
|
if @api_client.config.debugging
|
|
2334
2427
|
@api_client.config.logger.debug 'Calling API: AirbnbApi.list_airbnb_thread_messages ...'
|
|
@@ -2342,6 +2435,8 @@ module Repull
|
|
|
2342
2435
|
|
|
2343
2436
|
# query parameters
|
|
2344
2437
|
query_params = opts[:query_params] || {}
|
|
2438
|
+
query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
|
|
2439
|
+
query_params[:'all'] = opts[:'all'] if !opts[:'all'].nil?
|
|
2345
2440
|
|
|
2346
2441
|
# header parameters
|
|
2347
2442
|
header_params = opts[:header_params] || {}
|
|
@@ -2355,7 +2450,7 @@ module Repull
|
|
|
2355
2450
|
post_body = opts[:debug_body]
|
|
2356
2451
|
|
|
2357
2452
|
# return_type
|
|
2358
|
-
return_type = opts[:debug_return_type] || '
|
|
2453
|
+
return_type = opts[:debug_return_type] || 'ListAirbnbThreadMessages200Response'
|
|
2359
2454
|
|
|
2360
2455
|
# auth_names
|
|
2361
2456
|
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
@@ -2771,22 +2866,22 @@ module Repull
|
|
|
2771
2866
|
end
|
|
2772
2867
|
|
|
2773
2868
|
# Send Airbnb message
|
|
2774
|
-
# Send a message in an Airbnb thread as the host. Airbnb enforces content rules (no off-platform contact info, no external URLs) — violating messages are rejected upstream and surface as `airbnb_error`. The `{threadId}` is the Airbnb thread id — the `externalThreadId` field on a unified `Conversation` (`GET /v1/conversations`). Returns `403 listing_inactive` when the listing this resolves to is inactive. An inactive listing keeps syncing, but cannot be read or changed through the API until it is activated.
|
|
2869
|
+
# Send a message in an Airbnb thread as the host. Airbnb enforces content rules (no off-platform contact info, no external URLs) — violating messages are rejected upstream and surface as `airbnb_error`. ### Sending a photo or video (`mediaUrl`) Airbnb only accepts media uploaded to a signed URL it issues, one file per message and no text on the same message. With `mediaUrl`, Repull downloads the file (public `https://` only, 10 MB max), reads its real type from the bytes (JPEG, PNG, GIF, WebP — converted to JPEG — or MP4/QuickTime), uploads it to Airbnb and sends it; `message`, if given, follows as a separate message. This is the same flow as `POST /v1/conversations/{id}/messages` with `attachments` — prefer that endpoint, which also takes several files per request. The response is a `SendMessageResponse`, the send is recorded in the conversation, and failures are the 422 codes documented there (`attachment_type_not_supported`, `attachment_too_large`, `message_not_sent` for a pre-booking thread, …). The thread must already be synced to Repull (`GET /v1/conversations` lists them), otherwise `404`. Text-only sends (no `mediaUrl`) go straight to Airbnb and return Airbnb's message object. The `{threadId}` is the Airbnb thread id — the `externalThreadId` field on a unified `Conversation` (`GET /v1/conversations`). Returns `403 listing_inactive` when the listing this resolves to is inactive. An inactive listing keeps syncing, but cannot be read or changed through the API until it is activated.
|
|
2775
2870
|
# @param thread_id [String] Airbnb thread id (the `externalThreadId` on a unified `Conversation`).
|
|
2776
2871
|
# @param send_airbnb_message_request [SendAirbnbMessageRequest]
|
|
2777
2872
|
# @param [Hash] opts the optional parameters
|
|
2778
|
-
# @return [
|
|
2873
|
+
# @return [SendAirbnbMessage201Response]
|
|
2779
2874
|
def send_airbnb_message(thread_id, send_airbnb_message_request, opts = {})
|
|
2780
|
-
send_airbnb_message_with_http_info(thread_id, send_airbnb_message_request, opts)
|
|
2781
|
-
|
|
2875
|
+
data, _status_code, _headers = send_airbnb_message_with_http_info(thread_id, send_airbnb_message_request, opts)
|
|
2876
|
+
data
|
|
2782
2877
|
end
|
|
2783
2878
|
|
|
2784
2879
|
# Send Airbnb message
|
|
2785
|
-
# Send a message in an Airbnb thread as the host. Airbnb enforces content rules (no off-platform contact info, no external URLs) — violating messages are rejected upstream and surface as `airbnb_error`. The `{threadId}` is the Airbnb thread id — the `externalThreadId` field on a unified `Conversation` (`GET /v1/conversations`). Returns `403 listing_inactive` when the listing this resolves to is inactive. An inactive listing keeps syncing, but cannot be read or changed through the API until it is activated.
|
|
2880
|
+
# Send a message in an Airbnb thread as the host. Airbnb enforces content rules (no off-platform contact info, no external URLs) — violating messages are rejected upstream and surface as `airbnb_error`. ### Sending a photo or video (`mediaUrl`) Airbnb only accepts media uploaded to a signed URL it issues, one file per message and no text on the same message. With `mediaUrl`, Repull downloads the file (public `https://` only, 10 MB max), reads its real type from the bytes (JPEG, PNG, GIF, WebP — converted to JPEG — or MP4/QuickTime), uploads it to Airbnb and sends it; `message`, if given, follows as a separate message. This is the same flow as `POST /v1/conversations/{id}/messages` with `attachments` — prefer that endpoint, which also takes several files per request. The response is a `SendMessageResponse`, the send is recorded in the conversation, and failures are the 422 codes documented there (`attachment_type_not_supported`, `attachment_too_large`, `message_not_sent` for a pre-booking thread, …). The thread must already be synced to Repull (`GET /v1/conversations` lists them), otherwise `404`. Text-only sends (no `mediaUrl`) go straight to Airbnb and return Airbnb's message object. The `{threadId}` is the Airbnb thread id — the `externalThreadId` field on a unified `Conversation` (`GET /v1/conversations`). Returns `403 listing_inactive` when the listing this resolves to is inactive. An inactive listing keeps syncing, but cannot be read or changed through the API until it is activated.
|
|
2786
2881
|
# @param thread_id [String] Airbnb thread id (the `externalThreadId` on a unified `Conversation`).
|
|
2787
2882
|
# @param send_airbnb_message_request [SendAirbnbMessageRequest]
|
|
2788
2883
|
# @param [Hash] opts the optional parameters
|
|
2789
|
-
# @return [Array<(
|
|
2884
|
+
# @return [Array<(SendAirbnbMessage201Response, Integer, Hash)>] SendAirbnbMessage201Response data, response status code and response headers
|
|
2790
2885
|
def send_airbnb_message_with_http_info(thread_id, send_airbnb_message_request, opts = {})
|
|
2791
2886
|
if @api_client.config.debugging
|
|
2792
2887
|
@api_client.config.logger.debug 'Calling API: AirbnbApi.send_airbnb_message ...'
|
|
@@ -2822,7 +2917,7 @@ module Repull
|
|
|
2822
2917
|
post_body = opts[:debug_body] || @api_client.object_to_http_body(send_airbnb_message_request)
|
|
2823
2918
|
|
|
2824
2919
|
# return_type
|
|
2825
|
-
return_type = opts[:debug_return_type]
|
|
2920
|
+
return_type = opts[:debug_return_type] || 'SendAirbnbMessage201Response'
|
|
2826
2921
|
|
|
2827
2922
|
# auth_names
|
|
2828
2923
|
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
@@ -3275,7 +3370,7 @@ module Repull
|
|
|
3275
3370
|
# @param id [String] Repull listing id (numeric string).
|
|
3276
3371
|
# @param airbnb_description_write_request [AirbnbDescriptionWriteRequest]
|
|
3277
3372
|
# @param [Hash] opts the optional parameters
|
|
3278
|
-
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. -
|
|
3373
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
3279
3374
|
# @return [AirbnbContentWriteResponse]
|
|
3280
3375
|
def update_airbnb_listing_description(id, airbnb_description_write_request, opts = {})
|
|
3281
3376
|
data, _status_code, _headers = update_airbnb_listing_description_with_http_info(id, airbnb_description_write_request, opts)
|
|
@@ -3287,7 +3382,7 @@ module Repull
|
|
|
3287
3382
|
# @param id [String] Repull listing id (numeric string).
|
|
3288
3383
|
# @param airbnb_description_write_request [AirbnbDescriptionWriteRequest]
|
|
3289
3384
|
# @param [Hash] opts the optional parameters
|
|
3290
|
-
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. -
|
|
3385
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
3291
3386
|
# @return [Array<(AirbnbContentWriteResponse, Integer, Hash)>] AirbnbContentWriteResponse data, response status code and response headers
|
|
3292
3387
|
def update_airbnb_listing_description_with_http_info(id, airbnb_description_write_request, opts = {})
|
|
3293
3388
|
if @api_client.config.debugging
|
|
@@ -3356,7 +3451,7 @@ module Repull
|
|
|
3356
3451
|
# @param id [String] Repull listing id (numeric string).
|
|
3357
3452
|
# @param airbnb_listing_details_write_request [AirbnbListingDetailsWriteRequest]
|
|
3358
3453
|
# @param [Hash] opts the optional parameters
|
|
3359
|
-
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. -
|
|
3454
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
3360
3455
|
# @return [AirbnbContentWriteResponse]
|
|
3361
3456
|
def update_airbnb_listing_details(id, airbnb_listing_details_write_request, opts = {})
|
|
3362
3457
|
data, _status_code, _headers = update_airbnb_listing_details_with_http_info(id, airbnb_listing_details_write_request, opts)
|
|
@@ -3368,7 +3463,7 @@ module Repull
|
|
|
3368
3463
|
# @param id [String] Repull listing id (numeric string).
|
|
3369
3464
|
# @param airbnb_listing_details_write_request [AirbnbListingDetailsWriteRequest]
|
|
3370
3465
|
# @param [Hash] opts the optional parameters
|
|
3371
|
-
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. -
|
|
3466
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
3372
3467
|
# @return [Array<(AirbnbContentWriteResponse, Integer, Hash)>] AirbnbContentWriteResponse data, response status code and response headers
|
|
3373
3468
|
def update_airbnb_listing_details_with_http_info(id, airbnb_listing_details_write_request, opts = {})
|
|
3374
3469
|
if @api_client.config.debugging
|
|
@@ -3437,7 +3532,7 @@ module Repull
|
|
|
3437
3532
|
# @param id [String] Repull listing id (numeric string).
|
|
3438
3533
|
# @param airbnb_permits_write_request [AirbnbPermitsWriteRequest]
|
|
3439
3534
|
# @param [Hash] opts the optional parameters
|
|
3440
|
-
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. -
|
|
3535
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
3441
3536
|
# @return [UpdateAirbnbListingPermits200Response]
|
|
3442
3537
|
def update_airbnb_listing_permits(id, airbnb_permits_write_request, opts = {})
|
|
3443
3538
|
data, _status_code, _headers = update_airbnb_listing_permits_with_http_info(id, airbnb_permits_write_request, opts)
|
|
@@ -3449,7 +3544,7 @@ module Repull
|
|
|
3449
3544
|
# @param id [String] Repull listing id (numeric string).
|
|
3450
3545
|
# @param airbnb_permits_write_request [AirbnbPermitsWriteRequest]
|
|
3451
3546
|
# @param [Hash] opts the optional parameters
|
|
3452
|
-
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. -
|
|
3547
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
3453
3548
|
# @return [Array<(UpdateAirbnbListingPermits200Response, Integer, Hash)>] UpdateAirbnbListingPermits200Response data, response status code and response headers
|
|
3454
3549
|
def update_airbnb_listing_permits_with_http_info(id, airbnb_permits_write_request, opts = {})
|
|
3455
3550
|
if @api_client.config.debugging
|
|
@@ -3747,7 +3842,7 @@ module Repull
|
|
|
3747
3842
|
# @param id [String] Repull listing id (numeric string).
|
|
3748
3843
|
# @param airbnb_safety_disclosures_write_request [AirbnbSafetyDisclosuresWriteRequest]
|
|
3749
3844
|
# @param [Hash] opts the optional parameters
|
|
3750
|
-
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. -
|
|
3845
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
3751
3846
|
# @return [UpdateAirbnbListingSafetyDisclosures200Response]
|
|
3752
3847
|
def update_airbnb_listing_safety_disclosures(id, airbnb_safety_disclosures_write_request, opts = {})
|
|
3753
3848
|
data, _status_code, _headers = update_airbnb_listing_safety_disclosures_with_http_info(id, airbnb_safety_disclosures_write_request, opts)
|
|
@@ -3759,7 +3854,7 @@ module Repull
|
|
|
3759
3854
|
# @param id [String] Repull listing id (numeric string).
|
|
3760
3855
|
# @param airbnb_safety_disclosures_write_request [AirbnbSafetyDisclosuresWriteRequest]
|
|
3761
3856
|
# @param [Hash] opts the optional parameters
|
|
3762
|
-
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. -
|
|
3857
|
+
# @option opts [String] :idempotency_key Makes a retry of this request safe. Send a unique string (a UUID generated at the point you build the request) and the response is stored for 24 hours: a repeat with the SAME key replays that stored response — tagged `Idempotency-Status: cached` — without running the operation again, so no duplicate reservation, guest or guest message is created. - Same key while the first request is still in flight → `409 idempotency_key_in_use`. - Same key with a DIFFERENT payload → `422 idempotency_key_reused`. Generate a new key per distinct request; reuse one only when retrying that exact request. - Retryable outcomes are deliberately not stored, so a retry with the same key runs for real: any status >= 500, `408`, `425` and `429`, and the refusals that happen before anything is done and tell you to fix something outside the request first — `connection_reauth_required`, `listing_inactive`, and the rate/daily limits. Every other answer, including a final refusal such as `422 airbnb_rejected`, is stored and replayed.
|
|
3763
3858
|
# @return [Array<(UpdateAirbnbListingSafetyDisclosures200Response, Integer, Hash)>] UpdateAirbnbListingSafetyDisclosures200Response data, response status code and response headers
|
|
3764
3859
|
def update_airbnb_listing_safety_disclosures_with_http_info(id, airbnb_safety_disclosures_write_request, opts = {})
|
|
3765
3860
|
if @api_client.config.debugging
|
|
@@ -3978,20 +4073,20 @@ module Repull
|
|
|
3978
4073
|
end
|
|
3979
4074
|
|
|
3980
4075
|
# Withdraw Airbnb special offer
|
|
3981
|
-
# Withdraw a
|
|
3982
|
-
# @param offer_id [String] Airbnb special-offer id
|
|
4076
|
+
# Withdraw a special offer the guest has not booked. **Write-side** — calls Airbnb upstream. Pass the Airbnb offer id as `?offerId=`. The Repull-id equivalent is `DELETE /v1/conversations/{id}/special-offers/{offerId}`.
|
|
4077
|
+
# @param offer_id [String] Airbnb special-offer id (the `id` Airbnb returned when the offer was created).
|
|
3983
4078
|
# @param [Hash] opts the optional parameters
|
|
3984
|
-
# @return [
|
|
4079
|
+
# @return [GetAirbnbOffer200Response]
|
|
3985
4080
|
def withdraw_airbnb_offer(offer_id, opts = {})
|
|
3986
|
-
withdraw_airbnb_offer_with_http_info(offer_id, opts)
|
|
3987
|
-
|
|
4081
|
+
data, _status_code, _headers = withdraw_airbnb_offer_with_http_info(offer_id, opts)
|
|
4082
|
+
data
|
|
3988
4083
|
end
|
|
3989
4084
|
|
|
3990
4085
|
# Withdraw Airbnb special offer
|
|
3991
|
-
# Withdraw a
|
|
3992
|
-
# @param offer_id [String] Airbnb special-offer id
|
|
4086
|
+
# Withdraw a special offer the guest has not booked. **Write-side** — calls Airbnb upstream. Pass the Airbnb offer id as `?offerId=`. The Repull-id equivalent is `DELETE /v1/conversations/{id}/special-offers/{offerId}`.
|
|
4087
|
+
# @param offer_id [String] Airbnb special-offer id (the `id` Airbnb returned when the offer was created).
|
|
3993
4088
|
# @param [Hash] opts the optional parameters
|
|
3994
|
-
# @return [Array<(
|
|
4089
|
+
# @return [Array<(GetAirbnbOffer200Response, Integer, Hash)>] GetAirbnbOffer200Response data, response status code and response headers
|
|
3995
4090
|
def withdraw_airbnb_offer_with_http_info(offer_id, opts = {})
|
|
3996
4091
|
if @api_client.config.debugging
|
|
3997
4092
|
@api_client.config.logger.debug 'Calling API: AirbnbApi.withdraw_airbnb_offer ...'
|
|
@@ -4019,7 +4114,7 @@ module Repull
|
|
|
4019
4114
|
post_body = opts[:debug_body]
|
|
4020
4115
|
|
|
4021
4116
|
# return_type
|
|
4022
|
-
return_type = opts[:debug_return_type]
|
|
4117
|
+
return_type = opts[:debug_return_type] || 'GetAirbnbOffer200Response'
|
|
4023
4118
|
|
|
4024
4119
|
# auth_names
|
|
4025
4120
|
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
@@ -187,7 +187,7 @@ module Repull
|
|
|
187
187
|
end
|
|
188
188
|
|
|
189
189
|
# Get usage summary
|
|
190
|
-
# Aggregated usage over the requested `range` — tier + plan limits, quota used/remaining, next reset, a per-operation breakdown (request/error counts, error rate, avg latency), a daily timeline, status-class distribution, and range totals.
|
|
190
|
+
# Aggregated usage over the requested `range` — tier + plan limits, quota used/remaining, next reset, a per-operation breakdown (request/error counts, error rate, avg latency), a daily timeline, status-class distribution, and range totals. Two request quotas are reported and they reset at different times: `dailyRequests` is the daily circuit breaker that stops runaway client loops (resets at `dailyResetsAt`, the next UTC midnight) and `monthlyRequests` is the billing quota (resets at `resetsAt`). `null` limits mean unlimited on that dimension.
|
|
191
191
|
# @param [Hash] opts the optional parameters
|
|
192
192
|
# @option opts [String] :range Aggregation window ending now. (default to '30d')
|
|
193
193
|
# @return [GetUsageSummary200Response]
|
|
@@ -197,7 +197,7 @@ module Repull
|
|
|
197
197
|
end
|
|
198
198
|
|
|
199
199
|
# Get usage summary
|
|
200
|
-
# Aggregated usage over the requested `range` — tier + plan limits, quota used/remaining, next reset, a per-operation breakdown (request/error counts, error rate, avg latency), a daily timeline, status-class distribution, and range totals.
|
|
200
|
+
# Aggregated usage over the requested `range` — tier + plan limits, quota used/remaining, next reset, a per-operation breakdown (request/error counts, error rate, avg latency), a daily timeline, status-class distribution, and range totals. Two request quotas are reported and they reset at different times: `dailyRequests` is the daily circuit breaker that stops runaway client loops (resets at `dailyResetsAt`, the next UTC midnight) and `monthlyRequests` is the billing quota (resets at `resetsAt`). `null` limits mean unlimited on that dimension.
|
|
201
201
|
# @param [Hash] opts the optional parameters
|
|
202
202
|
# @option opts [String] :range Aggregation window ending now. (default to '30d')
|
|
203
203
|
# @return [Array<(GetUsageSummary200Response, Integer, Hash)>] GetUsageSummary200Response data, response status code and response headers
|
|
@@ -251,7 +251,7 @@ module Repull
|
|
|
251
251
|
end
|
|
252
252
|
|
|
253
253
|
# Get tier and quota
|
|
254
|
-
# Lightweight current-tier snapshot for status badges and quota meters — plan limits (monthly requests, daily AI requests, dynamic-pricing listings), the amount used, the amount remaining, and the next reset. `null` limits mean unlimited on that dimension.
|
|
254
|
+
# Lightweight current-tier snapshot for status badges and quota meters — plan limits (daily requests, monthly requests, daily AI requests, dynamic-pricing listings), the amount used, the amount remaining, and the next reset. Two request quotas are reported and they reset at different times: `dailyRequests` is the daily circuit breaker that stops runaway client loops (resets at `dailyResetsAt`, the next UTC midnight) and `monthlyRequests` is the billing quota (resets at `resetsAt`). Exceeding the daily cap returns 429 `daily_limit_exceeded`; exceeding the monthly one returns 429 `rate_limit_exceeded`. `null` limits mean unlimited on that dimension.
|
|
255
255
|
# @param [Hash] opts the optional parameters
|
|
256
256
|
# @return [GetUsageTier200Response]
|
|
257
257
|
def get_usage_tier(opts = {})
|
|
@@ -260,7 +260,7 @@ module Repull
|
|
|
260
260
|
end
|
|
261
261
|
|
|
262
262
|
# Get tier and quota
|
|
263
|
-
# Lightweight current-tier snapshot for status badges and quota meters — plan limits (monthly requests, daily AI requests, dynamic-pricing listings), the amount used, the amount remaining, and the next reset. `null` limits mean unlimited on that dimension.
|
|
263
|
+
# Lightweight current-tier snapshot for status badges and quota meters — plan limits (daily requests, monthly requests, daily AI requests, dynamic-pricing listings), the amount used, the amount remaining, and the next reset. Two request quotas are reported and they reset at different times: `dailyRequests` is the daily circuit breaker that stops runaway client loops (resets at `dailyResetsAt`, the next UTC midnight) and `monthlyRequests` is the billing quota (resets at `resetsAt`). Exceeding the daily cap returns 429 `daily_limit_exceeded`; exceeding the monthly one returns 429 `rate_limit_exceeded`. `null` limits mean unlimited on that dimension.
|
|
264
264
|
# @param [Hash] opts the optional parameters
|
|
265
265
|
# @return [Array<(GetUsageTier200Response, Integer, Hash)>] GetUsageTier200Response data, response status code and response headers
|
|
266
266
|
def get_usage_tier_with_http_info(opts = {})
|