repull 0.2.10 → 0.2.14
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/README.md +2 -2
- data/lib/repull/api/airbnb_api.rb +332 -99
- data/lib/repull/api/atlas_api.rb +5 -5
- data/lib/repull/api/availability_api.rb +145 -3
- data/lib/repull/api/billing_api.rb +7 -7
- data/lib/repull/api/booking_com_api.rb +210 -54
- data/lib/repull/api/connect_api.rb +761 -8
- data/lib/repull/api/conversations_api.rb +92 -11
- data/lib/repull/api/guests_api.rb +82 -7
- data/lib/repull/api/health_api.rb +318 -0
- data/lib/repull/api/kv_api.rb +1 -1
- data/lib/repull/api/listings_api.rb +303 -24
- data/lib/repull/api/markets_api.rb +3 -3
- data/lib/repull/api/plumguide_api.rb +19 -11
- data/lib/repull/api/pricing_api.rb +15 -15
- data/lib/repull/api/properties_api.rb +12 -9
- data/lib/repull/api/quotes_api.rb +109 -0
- data/lib/repull/api/reservations_api.rb +166 -7
- data/lib/repull/api/reviews_api.rb +81 -7
- data/lib/repull/api/schema_api.rb +1 -1
- data/lib/repull/api/system_api.rb +1 -1
- data/lib/repull/api/vrbo_api.rb +10 -10
- data/lib/repull/api/webhooks_api.rb +11 -9
- data/lib/repull/api_client.rb +1 -1
- data/lib/repull/api_error.rb +1 -1
- data/lib/repull/api_model_base.rb +1 -1
- data/lib/repull/configuration.rb +1 -1
- data/lib/repull/models/account_created_event.rb +1 -1
- data/lib/repull/models/account_created_payload.rb +1 -1
- data/lib/repull/models/account_disconnected_event.rb +1 -1
- data/lib/repull/models/account_disconnected_payload.rb +1 -1
- data/lib/repull/models/acknowledge_booking_reservations_request.rb +1 -1
- data/lib/repull/models/ai_operation.rb +1 -1
- data/lib/repull/models/ai_operation_completed_event.rb +1 -1
- data/lib/repull/models/ai_operation_completed_payload.rb +1 -1
- data/lib/repull/models/ai_operation_failed_event.rb +1 -1
- data/lib/repull/models/ai_operation_failed_payload.rb +1 -1
- data/lib/repull/models/ai_operation_failed_payload_error.rb +1 -1
- data/lib/repull/models/airbnb_alteration.rb +154 -10
- data/lib/repull/models/airbnb_amenity.rb +1 -1
- data/lib/repull/models/airbnb_availability_write_request.rb +20 -1
- data/lib/repull/models/airbnb_calendar_operation.rb +97 -8
- data/lib/repull/models/airbnb_connection.rb +4 -4
- data/lib/repull/models/airbnb_connection_accessibility_amenities_inner.rb +1 -1
- data/lib/repull/models/airbnb_connection_amenities_inner.rb +1 -1
- data/lib/repull/models/airbnb_connection_host.rb +1 -1
- data/lib/repull/models/airbnb_connection_response.rb +1 -1
- data/lib/repull/models/airbnb_connection_summary.rb +1 -1
- data/lib/repull/models/airbnb_data_freshness.rb +3 -3
- data/lib/repull/models/airbnb_listing.rb +2 -2
- data/lib/repull/models/airbnb_listing_action_request.rb +1 -1
- data/lib/repull/models/airbnb_listing_list_response.rb +2 -2
- data/lib/repull/models/airbnb_pricing_write_request.rb +54 -3
- data/lib/repull/models/airbnb_pricing_write_request_records_inner.rb +236 -0
- data/lib/repull/models/airbnb_reservation.rb +1 -1
- data/lib/repull/models/airbnb_reservation_list_response.rb +2 -2
- data/lib/repull/models/airbnb_review.rb +1 -1
- data/lib/repull/models/airbnb_review_list_response.rb +1 -1
- data/lib/repull/models/airbnb_thread.rb +1 -1
- data/lib/repull/models/airbnb_thread_list_response.rb +1 -1
- data/lib/repull/models/airbnb_transaction.rb +502 -0
- data/lib/repull/models/airbnb_transaction_guest_breakdown.rb +171 -0
- data/lib/repull/models/airbnb_transaction_host_breakdown.rb +246 -0
- data/lib/repull/models/airbnb_transaction_payout.rb +175 -0
- data/lib/repull/models/{booking_conversation_list_response.rb → alteration_change.rb} +22 -19
- data/lib/repull/models/alteration_webhook_object.rb +296 -0
- data/lib/repull/models/availability_batch_write_request.rb +296 -0
- data/lib/repull/models/availability_write_request.rb +259 -0
- data/lib/repull/models/availability_write_result.rb +178 -0
- data/lib/repull/models/availability_write_result_synced.rb +176 -0
- data/lib/repull/models/availability_write_settings.rb +215 -0
- data/lib/repull/models/booking_availability_state_response.rb +149 -0
- data/lib/repull/models/booking_availability_update.rb +1 -1
- data/lib/repull/models/booking_availability_update_request.rb +1 -1
- data/lib/repull/models/booking_availability_update_request_property_id.rb +1 -1
- data/lib/repull/models/booking_availability_update_request_updates_inner.rb +1 -1
- data/lib/repull/models/booking_connect_listing_option.rb +1 -1
- data/lib/repull/models/booking_connect_room.rb +1 -1
- data/lib/repull/models/booking_connect_rooms_response.rb +39 -5
- data/lib/repull/models/booking_conversation.rb +1 -1
- data/lib/repull/models/booking_pricing_rate_update.rb +1 -1
- data/lib/repull/models/booking_pricing_rate_update_date_range.rb +1 -1
- data/lib/repull/models/booking_pricing_rate_update_restrictions.rb +1 -1
- data/lib/repull/models/booking_pricing_response.rb +1 -1
- data/lib/repull/models/booking_pricing_update_request.rb +1 -1
- data/lib/repull/models/booking_pricing_update_response.rb +1 -1
- data/lib/repull/models/booking_property.rb +1 -1
- data/lib/repull/models/booking_reservation.rb +277 -0
- data/lib/repull/models/booking_reservation_room.rb +271 -0
- data/lib/repull/models/booking_room_mapping.rb +18 -8
- data/lib/repull/models/booking_rooms_rates_response.rb +170 -0
- data/lib/repull/models/booking_rooms_rates_response_rooms_inner.rb +170 -0
- data/lib/repull/models/booking_rooms_rates_response_rooms_inner_rates_inner.rb +212 -0
- data/lib/repull/models/booking_setup_request.rb +1 -1
- data/lib/repull/models/booking_verify_hotel_request.rb +1 -1
- data/lib/repull/models/booking_verify_hotel_response.rb +40 -6
- data/lib/repull/models/bulk_pricing_failure.rb +1 -1
- data/lib/repull/models/bulk_pricing_item.rb +1 -1
- data/lib/repull/models/bulk_pricing_request.rb +1 -1
- data/lib/repull/models/bulk_pricing_response.rb +1 -1
- data/lib/repull/models/calendar_day.rb +1 -1
- data/lib/repull/models/calendar_response.rb +1 -1
- data/lib/repull/models/calendar_updated_event.rb +1 -1
- data/lib/repull/models/calendar_updated_payload.rb +1 -1
- data/lib/repull/models/calendar_updated_payload_range.rb +1 -1
- data/lib/repull/models/clear_kv200_response.rb +1 -1
- data/lib/repull/models/connect_host.rb +1 -1
- data/lib/repull/models/connect_provider.rb +1 -1
- data/lib/repull/models/connect_provider_list_response.rb +1 -1
- data/lib/repull/models/connect_session.rb +1 -1
- data/lib/repull/models/connect_status.rb +18 -6
- data/lib/repull/models/connect_status_accounts_inner.rb +188 -0
- data/lib/repull/models/connection.rb +1 -1
- data/lib/repull/models/connection_list_response.rb +1 -1
- data/lib/repull/models/conversation.rb +13 -2
- data/lib/repull/models/conversation_detail.rb +13 -2
- data/lib/repull/models/conversation_guest.rb +1 -1
- data/lib/repull/models/conversation_guest_contact.rb +1 -1
- data/lib/repull/models/conversation_host.rb +1 -1
- data/lib/repull/models/conversation_list_response.rb +1 -1
- data/lib/repull/models/conversation_message_attachment.rb +1 -1
- data/lib/repull/models/create_airbnb_alteration_request.rb +1 -1
- data/lib/repull/models/create_airbnb_offer_request.rb +1 -1
- data/lib/repull/models/create_billing_checkout_request.rb +1 -1
- data/lib/repull/models/create_booking_webhook_request.rb +1 -1
- data/lib/repull/models/create_connect_session_request.rb +1 -1
- data/lib/repull/models/create_connection_request.rb +2 -2
- data/lib/repull/models/create_webhook_request.rb +1 -1
- data/lib/repull/models/custom_schema.rb +1 -1
- data/lib/repull/models/custom_schema_create.rb +1 -1
- data/lib/repull/models/custom_schema_create_response.rb +1 -1
- data/lib/repull/models/custom_schema_delete_response.rb +1 -1
- data/lib/repull/models/custom_schema_list_response.rb +1 -1
- data/lib/repull/models/custom_schema_summary.rb +1 -1
- data/lib/repull/models/custom_schema_update.rb +1 -1
- data/lib/repull/models/delete_airbnb_listing_photo200_response.rb +1 -1
- data/lib/repull/models/delete_connection200_response.rb +234 -0
- data/lib/repull/models/delete_kv200_response.rb +1 -1
- data/lib/repull/models/error.rb +1 -1
- data/lib/repull/models/error_error.rb +14 -2
- data/lib/repull/models/error_error_support.rb +1 -1
- data/lib/repull/models/get_airbnb_alteration200_response.rb +2 -2
- data/lib/repull/models/get_airbnb_checkin_guide200_response.rb +192 -0
- data/lib/repull/models/get_airbnb_listing_quality200_response.rb +2 -2
- data/lib/repull/models/get_airbnb_listing_settings200_response.rb +2 -2
- data/lib/repull/models/get_airbnb_thread200_response.rb +2 -2
- data/lib/repull/models/get_health200_response.rb +1 -1
- data/lib/repull/models/get_usage_logs200_response.rb +1 -1
- data/lib/repull/models/get_usage_logs200_response_data_inner.rb +1 -1
- data/lib/repull/models/get_usage_logs200_response_pagination.rb +3 -3
- data/lib/repull/models/get_usage_summary200_response.rb +2 -2
- data/lib/repull/models/get_usage_summary200_response_breakdown_inner.rb +1 -1
- data/lib/repull/models/get_usage_summary200_response_limits.rb +3 -3
- data/lib/repull/models/get_usage_summary200_response_remaining.rb +2 -2
- data/lib/repull/models/get_usage_summary200_response_status_distribution.rb +1 -1
- data/lib/repull/models/get_usage_summary200_response_timeline_inner.rb +1 -1
- data/lib/repull/models/get_usage_summary200_response_totals.rb +1 -1
- data/lib/repull/models/get_usage_summary200_response_used.rb +2 -2
- data/lib/repull/models/get_usage_tier200_response.rb +2 -2
- data/lib/repull/models/get_usage_tier200_response_limits.rb +4 -4
- data/lib/repull/models/get_usage_tier200_response_remaining.rb +3 -3
- data/lib/repull/models/get_usage_tier200_response_used.rb +3 -3
- data/lib/repull/models/guest.rb +1 -1
- data/lib/repull/models/guest_contact.rb +1 -1
- data/lib/repull/models/guest_create_request.rb +250 -0
- data/lib/repull/models/guest_create_response.rb +227 -0
- data/lib/repull/models/guest_create_response_contacts_inner.rb +199 -0
- data/lib/repull/models/guest_flag.rb +1 -1
- data/lib/repull/models/guest_list_response.rb +1 -1
- data/lib/repull/models/guest_note.rb +1 -1
- data/lib/repull/models/guest_profile.rb +1 -1
- data/lib/repull/models/guest_reservations_summary.rb +1 -1
- data/lib/repull/models/list_airbnb_alterations200_response.rb +2 -2
- data/lib/repull/models/list_airbnb_listing_amenities200_response.rb +2 -2
- data/lib/repull/models/list_airbnb_listing_amenities200_response_data.rb +1 -1
- data/lib/repull/models/list_airbnb_transactions200_response.rb +3 -3
- data/lib/repull/models/list_booking_reservations200_response.rb +104 -0
- data/lib/repull/models/list_kv200_response.rb +1 -1
- data/lib/repull/models/list_kv200_response_data_inner.rb +1 -1
- data/lib/repull/models/list_kv200_response_pagination.rb +2 -2
- data/lib/repull/models/listing.rb +2 -2
- data/lib/repull/models/listing_active_request.rb +2 -2
- data/lib/repull/models/listing_active_response.rb +1 -1
- data/lib/repull/models/listing_address.rb +1 -1
- data/lib/repull/models/listing_amenity.rb +1 -1
- data/lib/repull/models/listing_channel.rb +1 -1
- data/lib/repull/models/listing_comp.rb +1 -1
- data/lib/repull/models/listing_comp_nightly.rb +1 -1
- data/lib/repull/models/listing_comp_ratings.rb +1 -1
- data/lib/repull/models/listing_comps_response.rb +1 -1
- data/lib/repull/models/listing_content.rb +1 -1
- data/lib/repull/models/listing_content_update_request.rb +1 -1
- data/lib/repull/models/listing_content_update_request_address.rb +1 -1
- data/lib/repull/models/listing_content_update_request_amenities.rb +1 -1
- data/lib/repull/models/listing_content_update_request_amenities_one_of_inner.rb +1 -1
- data/lib/repull/models/listing_content_update_request_occupancy.rb +1 -1
- data/lib/repull/models/listing_content_update_request_photos_inner.rb +1 -1
- data/lib/repull/models/listing_content_update_request_photos_inner_one_of.rb +1 -1
- data/lib/repull/models/listing_content_update_request_policies.rb +1 -1
- data/lib/repull/models/listing_content_update_response.rb +1 -1
- data/lib/repull/models/listing_create_request.rb +1 -1
- data/lib/repull/models/listing_create_response.rb +1 -1
- data/lib/repull/models/listing_created_event.rb +1 -1
- data/lib/repull/models/listing_created_payload.rb +1 -1
- data/lib/repull/models/listing_created_payload_address.rb +1 -1
- data/lib/repull/models/listing_deleted_event.rb +1 -1
- data/lib/repull/models/listing_deleted_payload.rb +1 -1
- data/lib/repull/models/listing_details.rb +1 -1
- data/lib/repull/models/listing_generate_content_request.rb +1 -1
- data/lib/repull/models/listing_generate_content_response.rb +1 -1
- data/lib/repull/models/listing_list_response.rb +1 -1
- data/lib/repull/models/{studio_file.rb → listing_photo.rb} +23 -34
- data/lib/repull/models/listing_photo_delete_request.rb +165 -0
- data/lib/repull/models/{studio_error.rb → listing_photo_delete_response.rb} +20 -12
- data/lib/repull/models/listing_photo_upload_url_request.rb +203 -0
- data/lib/repull/models/listing_photo_upload_url_response.rb +198 -0
- data/lib/repull/models/{vrbo_listing_list_response.rb → listing_photos_response.rb} +19 -19
- data/lib/repull/models/listing_pricing_apply_request.rb +1 -1
- data/lib/repull/models/listing_pricing_apply_response.rb +1 -1
- data/lib/repull/models/listing_pricing_history_entry.rb +2 -2
- data/lib/repull/models/listing_pricing_history_response.rb +1 -1
- data/lib/repull/models/listing_pricing_recommendation.rb +1 -1
- data/lib/repull/models/listing_pricing_response.rb +1 -1
- data/lib/repull/models/listing_pricing_response_comp_summary.rb +1 -1
- data/lib/repull/models/listing_pricing_response_date_range.rb +1 -1
- data/lib/repull/models/listing_pricing_response_listing.rb +1 -1
- data/lib/repull/models/listing_pricing_strategy.rb +1 -1
- data/lib/repull/models/listing_pricing_strategy_input.rb +1 -1
- data/lib/repull/models/listing_publish_airbnb_request.rb +1 -1
- data/lib/repull/models/listing_publish_response.rb +1 -1
- data/lib/repull/models/listing_publish_status_channel.rb +1 -1
- data/lib/repull/models/listing_publish_status_connection.rb +1 -1
- data/lib/repull/models/listing_publish_status_response.rb +1 -1
- data/lib/repull/models/listing_quality_tier.rb +1 -1
- data/lib/repull/models/listing_segment.rb +1 -1
- data/lib/repull/models/listing_segment_recommendation.rb +1 -1
- data/lib/repull/models/listing_segments_response.rb +1 -1
- data/lib/repull/models/listing_segments_response_scope.rb +1 -1
- data/lib/repull/models/listing_status_batch_request.rb +212 -0
- data/lib/repull/models/listing_status_batch_response.rb +223 -0
- data/lib/repull/models/listing_updated_event.rb +1 -1
- data/lib/repull/models/listing_updated_payload.rb +1 -1
- data/lib/repull/models/map_airbnb_listing_request.rb +1 -1
- data/lib/repull/models/map_airbnb_listing_response.rb +1 -1
- data/lib/repull/models/map_connect_booking_rooms_request.rb +1 -1
- data/lib/repull/models/map_connect_booking_rooms_response.rb +16 -5
- data/lib/repull/models/market_browse_category.rb +1 -1
- data/lib/repull/models/market_browse_entry.rb +1 -1
- data/lib/repull/models/market_browse_featured.rb +1 -1
- data/lib/repull/models/market_browse_response.rb +1 -1
- data/lib/repull/models/market_calendar_day.rb +1 -1
- data/lib/repull/models/market_calendar_day_events_inner.rb +1 -1
- data/lib/repull/models/market_calendar_response.rb +1 -1
- data/lib/repull/models/market_detail_response.rb +1 -1
- data/lib/repull/models/market_detail_response_price_distribution_inner.rb +1 -1
- data/lib/repull/models/market_detail_response_property_type_mix_inner.rb +1 -1
- data/lib/repull/models/market_detail_response_supply_trend_inner.rb +1 -1
- data/lib/repull/models/market_detail_response_top_comps.rb +1 -1
- data/lib/repull/models/market_event.rb +1 -1
- data/lib/repull/models/market_my_listing.rb +1 -1
- data/lib/repull/models/market_summary.rb +1 -1
- data/lib/repull/models/market_top_comp.rb +1 -1
- data/lib/repull/models/markets_overview_response.rb +1 -1
- data/lib/repull/models/markets_overview_response_browse.rb +1 -1
- data/lib/repull/models/markets_overview_response_subscriptions.rb +1 -1
- data/lib/repull/models/markets_overview_response_totals.rb +1 -1
- data/lib/repull/models/message.rb +1 -1
- data/lib/repull/models/message_list_response.rb +1 -1
- data/lib/repull/models/pagination.rb +1 -1
- data/lib/repull/models/payment_completed_event.rb +1 -1
- data/lib/repull/models/payment_completed_payload.rb +1 -1
- data/lib/repull/models/payment_refunded_event.rb +1 -1
- data/lib/repull/models/payment_refunded_payload.rb +1 -1
- data/lib/repull/models/plumguide_listing.rb +1 -1
- data/lib/repull/models/plumguide_listing_list_response.rb +1 -1
- data/lib/repull/models/property.rb +17 -7
- data/lib/repull/models/property_availability.rb +33 -7
- data/lib/repull/models/property_availability_coverage.rb +222 -0
- data/lib/repull/models/property_availability_day.rb +4 -4
- data/lib/repull/models/property_list_response.rb +1 -1
- data/lib/repull/models/quote.rb +240 -0
- data/lib/repull/models/quote_pricing.rb +218 -0
- data/lib/repull/models/reply_booking_review200_response.rb +1 -1
- data/lib/repull/models/reply_booking_review_request.rb +1 -1
- data/lib/repull/models/reply_to_review201_response.rb +165 -0
- data/lib/repull/models/reply_to_review_request.rb +165 -0
- data/lib/repull/models/repull_ping_event.rb +1 -1
- data/lib/repull/models/repull_ping_payload.rb +1 -1
- data/lib/repull/models/reservation.rb +1 -1
- data/lib/repull/models/{studio_deployment.rb → reservation_alteration_created_event.rb} +67 -57
- data/lib/repull/models/reservation_alteration_created_payload.rb +177 -0
- data/lib/repull/models/reservation_alteration_responded_event.rb +217 -0
- data/lib/repull/models/reservation_alteration_responded_payload.rb +175 -0
- data/lib/repull/models/reservation_cancelled_event.rb +1 -1
- data/lib/repull/models/reservation_cancelled_payload.rb +1 -1
- data/lib/repull/models/reservation_create_request.rb +403 -0
- data/lib/repull/models/reservation_create_response.rb +233 -0
- data/lib/repull/models/reservation_created_event.rb +1 -1
- data/lib/repull/models/reservation_created_payload.rb +1 -1
- data/lib/repull/models/reservation_financials.rb +36 -8
- data/lib/repull/models/reservation_guest_financials.rb +173 -0
- data/lib/repull/models/reservation_guest_input.rb +193 -0
- data/lib/repull/models/reservation_host_financials.rb +207 -0
- data/lib/repull/models/reservation_list_response.rb +1 -1
- data/lib/repull/models/reservation_message_received_event.rb +1 -1
- data/lib/repull/models/reservation_message_received_payload.rb +1 -1
- data/lib/repull/models/reservation_message_received_payload_from.rb +1 -1
- data/lib/repull/models/reservation_money_line.rb +216 -0
- data/lib/repull/models/reservation_occupancy.rb +1 -1
- data/lib/repull/models/reservation_primary_guest.rb +1 -1
- data/lib/repull/models/reservation_update_request.rb +255 -0
- data/lib/repull/models/reservation_update_response.rb +240 -0
- data/lib/repull/models/reservation_updated_event.rb +1 -1
- data/lib/repull/models/reservation_updated_payload.rb +1 -1
- data/lib/repull/models/reservation_webhook_object.rb +1 -1
- data/lib/repull/models/respond_airbnb_review_request.rb +1 -1
- data/lib/repull/models/review.rb +14 -3
- data/lib/repull/models/review_category.rb +1 -1
- data/lib/repull/models/{sandbox_reset_result.rb → review_created_event.rb} +59 -59
- data/lib/repull/models/review_created_payload.rb +165 -0
- data/lib/repull/models/review_list_response.rb +1 -1
- data/lib/repull/models/review_responded_event.rb +217 -0
- data/lib/repull/models/review_responded_payload.rb +175 -0
- data/lib/repull/models/review_response.rb +1 -1
- data/lib/repull/models/review_webhook_object.rb +277 -0
- data/lib/repull/models/rotate_webhook_secret200_response.rb +1 -1
- data/lib/repull/models/select_connect_provider_request.rb +1 -1
- data/lib/repull/models/select_provider_response.rb +1 -1
- data/lib/repull/models/send_airbnb_message_request.rb +187 -0
- data/lib/repull/models/{sandbox_reset_result_deleted.rb → send_booking_message_request.rb} +53 -50
- data/lib/repull/models/{studio_error_error.rb → send_message_request.rb} +31 -50
- data/lib/repull/models/send_message_response.rb +241 -0
- data/lib/repull/models/set_kv_request.rb +1 -1
- data/lib/repull/models/{booking_property_list_response.rb → submit_beds24_credentials200_response.rb} +19 -19
- data/lib/repull/models/submit_beds24_credentials_request.rb +177 -0
- data/lib/repull/models/submit_bookingsync_credentials_request.rb +177 -0
- data/lib/repull/models/submit_guesty_credentials_request.rb +177 -0
- data/lib/repull/models/submit_hospitable_credentials_request.rb +177 -0
- data/lib/repull/models/submit_hostaway_credentials_request.rb +177 -0
- data/lib/repull/models/submit_igms_credentials_request.rb +177 -0
- data/lib/repull/models/submit_lodgify_credentials_request.rb +177 -0
- data/lib/repull/models/submit_ownerrez_credentials_request.rb +177 -0
- data/lib/repull/models/submit_smoobu_credentials_request.rb +177 -0
- data/lib/repull/models/submit_vrbo_credentials_request.rb +177 -0
- data/lib/repull/models/{sandbox_fixture_ref.rb → sync_airbnb_transactions200_response.rb} +36 -38
- data/lib/repull/models/sync_airbnb_transactions_request.rb +201 -0
- data/lib/repull/models/test_webhook_request.rb +1 -1
- data/lib/repull/models/update_airbnb_message_request.rb +1 -1
- data/lib/repull/models/update_booking_charges_request.rb +1 -1
- data/lib/repull/models/update_listing_pricing_strategy200_response.rb +1 -1
- data/lib/repull/models/update_webhook_request.rb +1 -1
- data/lib/repull/models/vrbo_listing.rb +1 -1
- data/lib/repull/models/vrbo_reservation.rb +1 -1
- data/lib/repull/models/vrbo_reservation_list_response.rb +1 -1
- data/lib/repull/models/webhook_delivery.rb +1 -1
- data/lib/repull/models/webhook_delivery_detail.rb +1 -1
- data/lib/repull/models/webhook_delivery_list_response.rb +1 -1
- data/lib/repull/models/webhook_event.rb +12 -4
- data/lib/repull/models/webhook_event_catalog.rb +1 -1
- data/lib/repull/models/webhook_event_catalog_domains_inner.rb +1 -1
- data/lib/repull/models/webhook_event_catalog_entry.rb +1 -1
- data/lib/repull/models/webhook_event_type.rb +6 -2
- data/lib/repull/models/webhook_list_response.rb +1 -1
- data/lib/repull/models/webhook_subscription.rb +1 -1
- data/lib/repull/version.rb +2 -2
- data/lib/repull.rb +75 -15
- data/openapi/v1.json +6119 -2021
- data/scripts/check-spec-freshness.py +399 -0
- data/scripts/regen.sh +32 -3
- metadata +77 -18
- data/lib/repull/api/sandbox_api.rb +0 -136
- data/lib/repull/models/sandbox_seed_result.rb +0 -278
- data/lib/repull/models/studio_generation.rb +0 -215
- data/lib/repull/models/studio_project.rb +0 -241
- data/spec/api/ai_api_spec.rb +0 -47
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Repull API
|
|
3
3
|
|
|
4
|
-
#The unified API for vacation rental tech. Connect to 50+ PMS platforms and 4 OTA channels through one REST API. Built-in AI operations for guest communication, pricing, and listing optimization. ## Designed for AI agents Every error response on this API includes machine-parseable fields so an LLM (Claude in MCP, Cursor, Cline, GPT, etc.) can self-recover without escalating to a human: - `error.code` — stable string identifier (e.g. `invalid_params`, `rate_limit_exceeded`) - `error.message` — human-readable cause - `error.fix` — exact recovery steps (e.g. \"Pass `check_in_after` as ISO 8601: `?check_in_after=2026-01-15`\") - `error.docs_url` — link to the canonical write-up at `https://repull.dev/docs/errors/{code}` - `error.request_id` — id to correlate with server-side logs - `error.field` / `error.value_received` / `error.valid_values` / `error.did_you_mean` — when the error is parameter-specific - `error.retry_after` — seconds to wait before retrying (rate-limit + transient upstream) `Access-Control-Expose-Headers` lists `x-request-id` and the `X-RateLimit-*` family so browsers can read them on cross-origin responses. ## Quick Start 1. Get an API key at https://repull.dev/dashboard 2. Connect a PMS: `POST /v1/connect/{provider}` 3. List properties: `GET /v1/properties` 4. Get reservations: `GET /v1/reservations` ## Authentication All requests require a Bearer token: ``` Authorization: Bearer
|
|
4
|
+
#The unified API for vacation rental tech. Connect to 50+ PMS platforms and 4 OTA channels through one REST API. Built-in AI operations for guest communication, pricing, and listing optimization. ## Designed for AI agents Every error response on this API includes machine-parseable fields so an LLM (Claude in MCP, Cursor, Cline, GPT, etc.) can self-recover without escalating to a human: - `error.code` — stable string identifier (e.g. `invalid_params`, `rate_limit_exceeded`) - `error.message` — human-readable cause - `error.fix` — exact recovery steps (e.g. \"Pass `check_in_after` as ISO 8601: `?check_in_after=2026-01-15`\") - `error.docs_url` — link to the canonical write-up at `https://repull.dev/docs/errors/{code}` - `error.request_id` — id to correlate with server-side logs - `error.field` / `error.value_received` / `error.valid_values` / `error.did_you_mean` — when the error is parameter-specific - `error.retry_after` — seconds to wait before retrying (rate-limit + transient upstream) `Access-Control-Expose-Headers` lists `x-request-id` and the `X-RateLimit-*` family so browsers can read them on cross-origin responses. ## Quick Start 1. Get an API key at https://repull.dev/dashboard 2. Connect a PMS: `POST /v1/connect/{provider}` 3. List properties: `GET /v1/properties` 4. Get reservations: `GET /v1/reservations` ## Authentication All requests require a Bearer token: ``` Authorization: Bearer sk_live_YOUR_API_KEY ``` ## Request Correlation (X-Request-ID) Every response carries an `X-Request-ID` header, e.g. `X-Request-ID: req_01HXY...`. Include this id in support tickets and bug reports — we can trace the full request lifecycle (auth, rate limit, handler, downstream calls, log row) from a single id. You may set the header on the inbound request to forward your own trace id; we will echo it back instead of generating a new one. Accepted format: `^[\\\\w.-]{1,128}$`. The id is also embedded in error envelopes as `request_id` so server-side log diffs work even when the response headers are stripped by an intermediate proxy. ## Rate Limits The public API enforces a per-API-key sliding-window rate limit on top of the per-tier monthly + daily-AI quotas. **Default policy:** 600 requests per 60 seconds, per API key. Sliding window — there is no fixed-minute boundary you can burst across. Every response includes: | Header | Meaning | |---|---| | `X-RateLimit-Limit` | Requests permitted in the current window. | | `X-RateLimit-Remaining` | Requests left in the current window after this call. | | `X-RateLimit-Reset` | Unix epoch (seconds) when the next slot opens. | | `X-RateLimit-Policy` | Machine-readable policy descriptor, e.g. `600;w=60`. | | `Retry-After` | Seconds to wait before retrying. **Only present on 429 responses.** | **On 429 (rate_limit_exceeded):** the response body matches the standard error envelope with `code: \"rate_limit_exceeded\"`, plus `limit`, `window_seconds`, `retry_after`, and `request_id` fields. SDKs MUST honor `Retry-After` and use exponential backoff with jitter on subsequent retries — never a tight loop. Recommended backoff: ``` sleep_ms = (Retry-After * 1000) + random(0..250) ``` Monthly + daily-AI tier quotas (`free`, `starter`, `custom`) are enforced separately and also surface as 429s; they include `tier`, `scope`, and `resetsAt` fields. ## Plan Limits (402 — `listings_limit_exceeded`) The Repull API also enforces a per-tier cap on **active listings**: | Tier | Active listings cap | |---|---| | `free` | 3 | | `starter` | 50 | | `custom` | unlimited | When a customer's active-listing count is above their tier cap, the API returns **`402 Payment Required`** with `error.code = \"listings_limit_exceeded\"` on every route EXCEPT: - `/v1/health` — uptime probes are never gated. - `/v1/usage/*` — so dashboards can render the over-cap state. - Any `DELETE` — so the customer can trim listings to get back under the cap without paying. Unlike 429, 402 is NOT a \"wait and retry\" condition — `Retry-After` is not set. The only paths back to 200 are: 1. `DELETE` enough listings to come back under the cap, or 2. Upgrade at `https://repull.dev/dashboard/billing`. The server-side usage cache is 60s, so the first 200 after an upgrade may take up to a minute. The envelope mirrors `rate_limit_exceeded` for SDK ergonomics: `tier`, `limit`, `active_listings`, `upgrade_url`, plus the standard `code` / `message` / `fix` / `docs_url` / `request_id`.
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: 1.0.0
|
|
7
7
|
Contact: ivan@vanio.ai
|
|
@@ -19,6 +19,74 @@ module Repull
|
|
|
19
19
|
def initialize(api_client = ApiClient.default)
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
|
+
# Booking.com connectivity callback
|
|
23
|
+
# Receives Booking.com's asynchronous confirmation that a property has designated Repull as its connectivity provider, and advances the Connect session. Called by Booking.com, not by integrators.
|
|
24
|
+
# @param request_body [Hash<String, Object>]
|
|
25
|
+
# @param [Hash] opts the optional parameters
|
|
26
|
+
# @return [nil]
|
|
27
|
+
def booking_connect_callback(request_body, opts = {})
|
|
28
|
+
booking_connect_callback_with_http_info(request_body, opts)
|
|
29
|
+
nil
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Booking.com connectivity callback
|
|
33
|
+
# Receives Booking.com's asynchronous confirmation that a property has designated Repull as its connectivity provider, and advances the Connect session. Called by Booking.com, not by integrators.
|
|
34
|
+
# @param request_body [Hash<String, Object>]
|
|
35
|
+
# @param [Hash] opts the optional parameters
|
|
36
|
+
# @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
|
|
37
|
+
def booking_connect_callback_with_http_info(request_body, opts = {})
|
|
38
|
+
if @api_client.config.debugging
|
|
39
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.booking_connect_callback ...'
|
|
40
|
+
end
|
|
41
|
+
# verify the required parameter 'request_body' is set
|
|
42
|
+
if @api_client.config.client_side_validation && request_body.nil?
|
|
43
|
+
fail ArgumentError, "Missing the required parameter 'request_body' when calling ConnectApi.booking_connect_callback"
|
|
44
|
+
end
|
|
45
|
+
# resource path
|
|
46
|
+
local_var_path = '/v1/connect/booking/callback'
|
|
47
|
+
|
|
48
|
+
# query parameters
|
|
49
|
+
query_params = opts[:query_params] || {}
|
|
50
|
+
|
|
51
|
+
# header parameters
|
|
52
|
+
header_params = opts[:header_params] || {}
|
|
53
|
+
# HTTP header 'Accept' (if needed)
|
|
54
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
55
|
+
# HTTP header 'Content-Type'
|
|
56
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
57
|
+
if !content_type.nil?
|
|
58
|
+
header_params['Content-Type'] = content_type
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# form parameters
|
|
62
|
+
form_params = opts[:form_params] || {}
|
|
63
|
+
|
|
64
|
+
# http body (model)
|
|
65
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(request_body)
|
|
66
|
+
|
|
67
|
+
# return_type
|
|
68
|
+
return_type = opts[:debug_return_type]
|
|
69
|
+
|
|
70
|
+
# auth_names
|
|
71
|
+
auth_names = opts[:debug_auth_names] || []
|
|
72
|
+
|
|
73
|
+
new_options = opts.merge(
|
|
74
|
+
:operation => :"ConnectApi.booking_connect_callback",
|
|
75
|
+
:header_params => header_params,
|
|
76
|
+
:query_params => query_params,
|
|
77
|
+
:form_params => form_params,
|
|
78
|
+
:body => post_body,
|
|
79
|
+
:auth_names => auth_names,
|
|
80
|
+
:return_type => return_type
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
84
|
+
if @api_client.config.debugging
|
|
85
|
+
@api_client.config.logger.debug "API called: ConnectApi#booking_connect_callback\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
86
|
+
end
|
|
87
|
+
return data, status_code, headers
|
|
88
|
+
end
|
|
89
|
+
|
|
22
90
|
# Create a multi-channel Connect picker session
|
|
23
91
|
# Mints a session that lands the user on the channel picker at `connect.repull.dev/{sessionId}` instead of jumping straight to a single provider. The user picks a channel from the registry, the picker page POSTs `selectConnectProvider` to bind the choice, and the per-provider flow takes over. Use this when you want one entry point for all 13 channels. Use `POST /v1/connect/{provider}` instead when your UI already knows which channel to connect.
|
|
24
92
|
# @param create_connect_session_request [CreateConnectSessionRequest]
|
|
@@ -158,20 +226,22 @@ module Repull
|
|
|
158
226
|
end
|
|
159
227
|
|
|
160
228
|
# Disconnect provider
|
|
161
|
-
# Disconnect
|
|
229
|
+
# Disconnect ONE connected account of a provider from this workspace. Supported for `airbnb` and `booking`. **Which account.** Pass `accountId` — for Airbnb the host id (`accounts[].externalAccountId` from `GET /v1/connect/airbnb`), for Booking.com the hotel id. It is optional only when the workspace has exactly one account for the provider. With several and no `accountId`, the call returns `422` with the account ids in `valid_values` instead of guessing. An `accountId` that is not connected to this workspace returns `404`. Disconnecting one account leaves the others connected. **What happens.** The account's stored authorization is removed and it stops syncing. Its listings are **deactivated**, not deleted: they stop counting toward your plan's listing limit, their data is kept, and they are returned in `listingsDeactivated`. A listing that is still connected through another account or channel stays active. Reconnect the account, then activate the listings with `POST /v1/listings/status`. The change is all or nothing. For Airbnb, the host can also revoke access on Airbnb's side (Account → Privacy & sharing → Connected apps); that alone does not update this workspace, so call this endpoint as well. Other providers return `501 not_implemented` with instructions for disconnecting on the provider's side.
|
|
162
230
|
# @param provider [String] PMS provider slug (e.g., hostaway, guesty, ownerrez)
|
|
163
231
|
# @param [Hash] opts the optional parameters
|
|
164
|
-
# @
|
|
232
|
+
# @option opts [String] :account_id The account to disconnect: the Airbnb host id (`accounts[].externalAccountId` on `GET /v1/connect/airbnb`) or the Booking.com hotel id. Required when the workspace has more than one connected account for the provider. Not the same as the `X-Account-Id` header.
|
|
233
|
+
# @return [DeleteConnection200Response]
|
|
165
234
|
def delete_connection(provider, opts = {})
|
|
166
|
-
delete_connection_with_http_info(provider, opts)
|
|
167
|
-
|
|
235
|
+
data, _status_code, _headers = delete_connection_with_http_info(provider, opts)
|
|
236
|
+
data
|
|
168
237
|
end
|
|
169
238
|
|
|
170
239
|
# Disconnect provider
|
|
171
|
-
# Disconnect
|
|
240
|
+
# Disconnect ONE connected account of a provider from this workspace. Supported for `airbnb` and `booking`. **Which account.** Pass `accountId` — for Airbnb the host id (`accounts[].externalAccountId` from `GET /v1/connect/airbnb`), for Booking.com the hotel id. It is optional only when the workspace has exactly one account for the provider. With several and no `accountId`, the call returns `422` with the account ids in `valid_values` instead of guessing. An `accountId` that is not connected to this workspace returns `404`. Disconnecting one account leaves the others connected. **What happens.** The account's stored authorization is removed and it stops syncing. Its listings are **deactivated**, not deleted: they stop counting toward your plan's listing limit, their data is kept, and they are returned in `listingsDeactivated`. A listing that is still connected through another account or channel stays active. Reconnect the account, then activate the listings with `POST /v1/listings/status`. The change is all or nothing. For Airbnb, the host can also revoke access on Airbnb's side (Account → Privacy & sharing → Connected apps); that alone does not update this workspace, so call this endpoint as well. Other providers return `501 not_implemented` with instructions for disconnecting on the provider's side.
|
|
172
241
|
# @param provider [String] PMS provider slug (e.g., hostaway, guesty, ownerrez)
|
|
173
242
|
# @param [Hash] opts the optional parameters
|
|
174
|
-
# @
|
|
243
|
+
# @option opts [String] :account_id The account to disconnect: the Airbnb host id (`accounts[].externalAccountId` on `GET /v1/connect/airbnb`) or the Booking.com hotel id. Required when the workspace has more than one connected account for the provider. Not the same as the `X-Account-Id` header.
|
|
244
|
+
# @return [Array<(DeleteConnection200Response, Integer, Hash)>] DeleteConnection200Response data, response status code and response headers
|
|
175
245
|
def delete_connection_with_http_info(provider, opts = {})
|
|
176
246
|
if @api_client.config.debugging
|
|
177
247
|
@api_client.config.logger.debug 'Calling API: ConnectApi.delete_connection ...'
|
|
@@ -185,9 +255,12 @@ module Repull
|
|
|
185
255
|
|
|
186
256
|
# query parameters
|
|
187
257
|
query_params = opts[:query_params] || {}
|
|
258
|
+
query_params[:'accountId'] = opts[:'account_id'] if !opts[:'account_id'].nil?
|
|
188
259
|
|
|
189
260
|
# header parameters
|
|
190
261
|
header_params = opts[:header_params] || {}
|
|
262
|
+
# HTTP header 'Accept' (if needed)
|
|
263
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
191
264
|
|
|
192
265
|
# form parameters
|
|
193
266
|
form_params = opts[:form_params] || {}
|
|
@@ -196,7 +269,7 @@ module Repull
|
|
|
196
269
|
post_body = opts[:debug_body]
|
|
197
270
|
|
|
198
271
|
# return_type
|
|
199
|
-
return_type = opts[:debug_return_type]
|
|
272
|
+
return_type = opts[:debug_return_type] || 'DeleteConnection200Response'
|
|
200
273
|
|
|
201
274
|
# auth_names
|
|
202
275
|
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
@@ -601,6 +674,686 @@ module Repull
|
|
|
601
674
|
return data, status_code, headers
|
|
602
675
|
end
|
|
603
676
|
|
|
677
|
+
# Submit Beds24 credentials for a Connect session
|
|
678
|
+
# Completes a credentials-pattern connection for Beds24. API key + prop key from Beds24 → Settings → Apps & Integrations. The credentials are validated against Beds24 before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
679
|
+
# @param submit_beds24_credentials_request [SubmitBeds24CredentialsRequest]
|
|
680
|
+
# @param [Hash] opts the optional parameters
|
|
681
|
+
# @return [SubmitBeds24Credentials200Response]
|
|
682
|
+
def submit_beds24_credentials(submit_beds24_credentials_request, opts = {})
|
|
683
|
+
data, _status_code, _headers = submit_beds24_credentials_with_http_info(submit_beds24_credentials_request, opts)
|
|
684
|
+
data
|
|
685
|
+
end
|
|
686
|
+
|
|
687
|
+
# Submit Beds24 credentials for a Connect session
|
|
688
|
+
# Completes a credentials-pattern connection for Beds24. API key + prop key from Beds24 → Settings → Apps & Integrations. The credentials are validated against Beds24 before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
689
|
+
# @param submit_beds24_credentials_request [SubmitBeds24CredentialsRequest]
|
|
690
|
+
# @param [Hash] opts the optional parameters
|
|
691
|
+
# @return [Array<(SubmitBeds24Credentials200Response, Integer, Hash)>] SubmitBeds24Credentials200Response data, response status code and response headers
|
|
692
|
+
def submit_beds24_credentials_with_http_info(submit_beds24_credentials_request, opts = {})
|
|
693
|
+
if @api_client.config.debugging
|
|
694
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.submit_beds24_credentials ...'
|
|
695
|
+
end
|
|
696
|
+
# verify the required parameter 'submit_beds24_credentials_request' is set
|
|
697
|
+
if @api_client.config.client_side_validation && submit_beds24_credentials_request.nil?
|
|
698
|
+
fail ArgumentError, "Missing the required parameter 'submit_beds24_credentials_request' when calling ConnectApi.submit_beds24_credentials"
|
|
699
|
+
end
|
|
700
|
+
# resource path
|
|
701
|
+
local_var_path = '/v1/connect/beds24/credentials'
|
|
702
|
+
|
|
703
|
+
# query parameters
|
|
704
|
+
query_params = opts[:query_params] || {}
|
|
705
|
+
|
|
706
|
+
# header parameters
|
|
707
|
+
header_params = opts[:header_params] || {}
|
|
708
|
+
# HTTP header 'Accept' (if needed)
|
|
709
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
710
|
+
# HTTP header 'Content-Type'
|
|
711
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
712
|
+
if !content_type.nil?
|
|
713
|
+
header_params['Content-Type'] = content_type
|
|
714
|
+
end
|
|
715
|
+
|
|
716
|
+
# form parameters
|
|
717
|
+
form_params = opts[:form_params] || {}
|
|
718
|
+
|
|
719
|
+
# http body (model)
|
|
720
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_beds24_credentials_request)
|
|
721
|
+
|
|
722
|
+
# return_type
|
|
723
|
+
return_type = opts[:debug_return_type] || 'SubmitBeds24Credentials200Response'
|
|
724
|
+
|
|
725
|
+
# auth_names
|
|
726
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
727
|
+
|
|
728
|
+
new_options = opts.merge(
|
|
729
|
+
:operation => :"ConnectApi.submit_beds24_credentials",
|
|
730
|
+
:header_params => header_params,
|
|
731
|
+
:query_params => query_params,
|
|
732
|
+
:form_params => form_params,
|
|
733
|
+
:body => post_body,
|
|
734
|
+
:auth_names => auth_names,
|
|
735
|
+
:return_type => return_type
|
|
736
|
+
)
|
|
737
|
+
|
|
738
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
739
|
+
if @api_client.config.debugging
|
|
740
|
+
@api_client.config.logger.debug "API called: ConnectApi#submit_beds24_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
741
|
+
end
|
|
742
|
+
return data, status_code, headers
|
|
743
|
+
end
|
|
744
|
+
|
|
745
|
+
# Submit BookingSync credentials for a Connect session
|
|
746
|
+
# Completes a credentials-pattern connection for BookingSync. OAuth client credentials issued by BookingSync. The credentials are validated against BookingSync before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
747
|
+
# @param submit_bookingsync_credentials_request [SubmitBookingsyncCredentialsRequest]
|
|
748
|
+
# @param [Hash] opts the optional parameters
|
|
749
|
+
# @return [SubmitBeds24Credentials200Response]
|
|
750
|
+
def submit_bookingsync_credentials(submit_bookingsync_credentials_request, opts = {})
|
|
751
|
+
data, _status_code, _headers = submit_bookingsync_credentials_with_http_info(submit_bookingsync_credentials_request, opts)
|
|
752
|
+
data
|
|
753
|
+
end
|
|
754
|
+
|
|
755
|
+
# Submit BookingSync credentials for a Connect session
|
|
756
|
+
# Completes a credentials-pattern connection for BookingSync. OAuth client credentials issued by BookingSync. The credentials are validated against BookingSync before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
757
|
+
# @param submit_bookingsync_credentials_request [SubmitBookingsyncCredentialsRequest]
|
|
758
|
+
# @param [Hash] opts the optional parameters
|
|
759
|
+
# @return [Array<(SubmitBeds24Credentials200Response, Integer, Hash)>] SubmitBeds24Credentials200Response data, response status code and response headers
|
|
760
|
+
def submit_bookingsync_credentials_with_http_info(submit_bookingsync_credentials_request, opts = {})
|
|
761
|
+
if @api_client.config.debugging
|
|
762
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.submit_bookingsync_credentials ...'
|
|
763
|
+
end
|
|
764
|
+
# verify the required parameter 'submit_bookingsync_credentials_request' is set
|
|
765
|
+
if @api_client.config.client_side_validation && submit_bookingsync_credentials_request.nil?
|
|
766
|
+
fail ArgumentError, "Missing the required parameter 'submit_bookingsync_credentials_request' when calling ConnectApi.submit_bookingsync_credentials"
|
|
767
|
+
end
|
|
768
|
+
# resource path
|
|
769
|
+
local_var_path = '/v1/connect/bookingsync/credentials'
|
|
770
|
+
|
|
771
|
+
# query parameters
|
|
772
|
+
query_params = opts[:query_params] || {}
|
|
773
|
+
|
|
774
|
+
# header parameters
|
|
775
|
+
header_params = opts[:header_params] || {}
|
|
776
|
+
# HTTP header 'Accept' (if needed)
|
|
777
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
778
|
+
# HTTP header 'Content-Type'
|
|
779
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
780
|
+
if !content_type.nil?
|
|
781
|
+
header_params['Content-Type'] = content_type
|
|
782
|
+
end
|
|
783
|
+
|
|
784
|
+
# form parameters
|
|
785
|
+
form_params = opts[:form_params] || {}
|
|
786
|
+
|
|
787
|
+
# http body (model)
|
|
788
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_bookingsync_credentials_request)
|
|
789
|
+
|
|
790
|
+
# return_type
|
|
791
|
+
return_type = opts[:debug_return_type] || 'SubmitBeds24Credentials200Response'
|
|
792
|
+
|
|
793
|
+
# auth_names
|
|
794
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
795
|
+
|
|
796
|
+
new_options = opts.merge(
|
|
797
|
+
:operation => :"ConnectApi.submit_bookingsync_credentials",
|
|
798
|
+
:header_params => header_params,
|
|
799
|
+
:query_params => query_params,
|
|
800
|
+
:form_params => form_params,
|
|
801
|
+
:body => post_body,
|
|
802
|
+
:auth_names => auth_names,
|
|
803
|
+
:return_type => return_type
|
|
804
|
+
)
|
|
805
|
+
|
|
806
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
807
|
+
if @api_client.config.debugging
|
|
808
|
+
@api_client.config.logger.debug "API called: ConnectApi#submit_bookingsync_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
809
|
+
end
|
|
810
|
+
return data, status_code, headers
|
|
811
|
+
end
|
|
812
|
+
|
|
813
|
+
# Submit Guesty credentials for a Connect session
|
|
814
|
+
# Completes a credentials-pattern connection for Guesty. Client ID + secret from Guesty → Integrations → Open API. The credentials are validated against Guesty before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
815
|
+
# @param submit_guesty_credentials_request [SubmitGuestyCredentialsRequest]
|
|
816
|
+
# @param [Hash] opts the optional parameters
|
|
817
|
+
# @return [SubmitBeds24Credentials200Response]
|
|
818
|
+
def submit_guesty_credentials(submit_guesty_credentials_request, opts = {})
|
|
819
|
+
data, _status_code, _headers = submit_guesty_credentials_with_http_info(submit_guesty_credentials_request, opts)
|
|
820
|
+
data
|
|
821
|
+
end
|
|
822
|
+
|
|
823
|
+
# Submit Guesty credentials for a Connect session
|
|
824
|
+
# Completes a credentials-pattern connection for Guesty. Client ID + secret from Guesty → Integrations → Open API. The credentials are validated against Guesty before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
825
|
+
# @param submit_guesty_credentials_request [SubmitGuestyCredentialsRequest]
|
|
826
|
+
# @param [Hash] opts the optional parameters
|
|
827
|
+
# @return [Array<(SubmitBeds24Credentials200Response, Integer, Hash)>] SubmitBeds24Credentials200Response data, response status code and response headers
|
|
828
|
+
def submit_guesty_credentials_with_http_info(submit_guesty_credentials_request, opts = {})
|
|
829
|
+
if @api_client.config.debugging
|
|
830
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.submit_guesty_credentials ...'
|
|
831
|
+
end
|
|
832
|
+
# verify the required parameter 'submit_guesty_credentials_request' is set
|
|
833
|
+
if @api_client.config.client_side_validation && submit_guesty_credentials_request.nil?
|
|
834
|
+
fail ArgumentError, "Missing the required parameter 'submit_guesty_credentials_request' when calling ConnectApi.submit_guesty_credentials"
|
|
835
|
+
end
|
|
836
|
+
# resource path
|
|
837
|
+
local_var_path = '/v1/connect/guesty/credentials'
|
|
838
|
+
|
|
839
|
+
# query parameters
|
|
840
|
+
query_params = opts[:query_params] || {}
|
|
841
|
+
|
|
842
|
+
# header parameters
|
|
843
|
+
header_params = opts[:header_params] || {}
|
|
844
|
+
# HTTP header 'Accept' (if needed)
|
|
845
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
846
|
+
# HTTP header 'Content-Type'
|
|
847
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
848
|
+
if !content_type.nil?
|
|
849
|
+
header_params['Content-Type'] = content_type
|
|
850
|
+
end
|
|
851
|
+
|
|
852
|
+
# form parameters
|
|
853
|
+
form_params = opts[:form_params] || {}
|
|
854
|
+
|
|
855
|
+
# http body (model)
|
|
856
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_guesty_credentials_request)
|
|
857
|
+
|
|
858
|
+
# return_type
|
|
859
|
+
return_type = opts[:debug_return_type] || 'SubmitBeds24Credentials200Response'
|
|
860
|
+
|
|
861
|
+
# auth_names
|
|
862
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
863
|
+
|
|
864
|
+
new_options = opts.merge(
|
|
865
|
+
:operation => :"ConnectApi.submit_guesty_credentials",
|
|
866
|
+
:header_params => header_params,
|
|
867
|
+
:query_params => query_params,
|
|
868
|
+
:form_params => form_params,
|
|
869
|
+
:body => post_body,
|
|
870
|
+
:auth_names => auth_names,
|
|
871
|
+
:return_type => return_type
|
|
872
|
+
)
|
|
873
|
+
|
|
874
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
875
|
+
if @api_client.config.debugging
|
|
876
|
+
@api_client.config.logger.debug "API called: ConnectApi#submit_guesty_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
877
|
+
end
|
|
878
|
+
return data, status_code, headers
|
|
879
|
+
end
|
|
880
|
+
|
|
881
|
+
# Submit Hospitable credentials for a Connect session
|
|
882
|
+
# Completes a credentials-pattern connection for Hospitable. Personal access token from Hospitable → Settings → API. The credentials are validated against Hospitable before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
883
|
+
# @param submit_hospitable_credentials_request [SubmitHospitableCredentialsRequest]
|
|
884
|
+
# @param [Hash] opts the optional parameters
|
|
885
|
+
# @return [SubmitBeds24Credentials200Response]
|
|
886
|
+
def submit_hospitable_credentials(submit_hospitable_credentials_request, opts = {})
|
|
887
|
+
data, _status_code, _headers = submit_hospitable_credentials_with_http_info(submit_hospitable_credentials_request, opts)
|
|
888
|
+
data
|
|
889
|
+
end
|
|
890
|
+
|
|
891
|
+
# Submit Hospitable credentials for a Connect session
|
|
892
|
+
# Completes a credentials-pattern connection for Hospitable. Personal access token from Hospitable → Settings → API. The credentials are validated against Hospitable before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
893
|
+
# @param submit_hospitable_credentials_request [SubmitHospitableCredentialsRequest]
|
|
894
|
+
# @param [Hash] opts the optional parameters
|
|
895
|
+
# @return [Array<(SubmitBeds24Credentials200Response, Integer, Hash)>] SubmitBeds24Credentials200Response data, response status code and response headers
|
|
896
|
+
def submit_hospitable_credentials_with_http_info(submit_hospitable_credentials_request, opts = {})
|
|
897
|
+
if @api_client.config.debugging
|
|
898
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.submit_hospitable_credentials ...'
|
|
899
|
+
end
|
|
900
|
+
# verify the required parameter 'submit_hospitable_credentials_request' is set
|
|
901
|
+
if @api_client.config.client_side_validation && submit_hospitable_credentials_request.nil?
|
|
902
|
+
fail ArgumentError, "Missing the required parameter 'submit_hospitable_credentials_request' when calling ConnectApi.submit_hospitable_credentials"
|
|
903
|
+
end
|
|
904
|
+
# resource path
|
|
905
|
+
local_var_path = '/v1/connect/hospitable/credentials'
|
|
906
|
+
|
|
907
|
+
# query parameters
|
|
908
|
+
query_params = opts[:query_params] || {}
|
|
909
|
+
|
|
910
|
+
# header parameters
|
|
911
|
+
header_params = opts[:header_params] || {}
|
|
912
|
+
# HTTP header 'Accept' (if needed)
|
|
913
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
914
|
+
# HTTP header 'Content-Type'
|
|
915
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
916
|
+
if !content_type.nil?
|
|
917
|
+
header_params['Content-Type'] = content_type
|
|
918
|
+
end
|
|
919
|
+
|
|
920
|
+
# form parameters
|
|
921
|
+
form_params = opts[:form_params] || {}
|
|
922
|
+
|
|
923
|
+
# http body (model)
|
|
924
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_hospitable_credentials_request)
|
|
925
|
+
|
|
926
|
+
# return_type
|
|
927
|
+
return_type = opts[:debug_return_type] || 'SubmitBeds24Credentials200Response'
|
|
928
|
+
|
|
929
|
+
# auth_names
|
|
930
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
931
|
+
|
|
932
|
+
new_options = opts.merge(
|
|
933
|
+
:operation => :"ConnectApi.submit_hospitable_credentials",
|
|
934
|
+
:header_params => header_params,
|
|
935
|
+
:query_params => query_params,
|
|
936
|
+
:form_params => form_params,
|
|
937
|
+
:body => post_body,
|
|
938
|
+
:auth_names => auth_names,
|
|
939
|
+
:return_type => return_type
|
|
940
|
+
)
|
|
941
|
+
|
|
942
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
943
|
+
if @api_client.config.debugging
|
|
944
|
+
@api_client.config.logger.debug "API called: ConnectApi#submit_hospitable_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
945
|
+
end
|
|
946
|
+
return data, status_code, headers
|
|
947
|
+
end
|
|
948
|
+
|
|
949
|
+
# Submit Hostaway credentials for a Connect session
|
|
950
|
+
# Completes a credentials-pattern connection for Hostaway. Account ID + API key from Hostaway → Settings → Public API. The credentials are validated against Hostaway before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
951
|
+
# @param submit_hostaway_credentials_request [SubmitHostawayCredentialsRequest]
|
|
952
|
+
# @param [Hash] opts the optional parameters
|
|
953
|
+
# @return [SubmitBeds24Credentials200Response]
|
|
954
|
+
def submit_hostaway_credentials(submit_hostaway_credentials_request, opts = {})
|
|
955
|
+
data, _status_code, _headers = submit_hostaway_credentials_with_http_info(submit_hostaway_credentials_request, opts)
|
|
956
|
+
data
|
|
957
|
+
end
|
|
958
|
+
|
|
959
|
+
# Submit Hostaway credentials for a Connect session
|
|
960
|
+
# Completes a credentials-pattern connection for Hostaway. Account ID + API key from Hostaway → Settings → Public API. The credentials are validated against Hostaway before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
961
|
+
# @param submit_hostaway_credentials_request [SubmitHostawayCredentialsRequest]
|
|
962
|
+
# @param [Hash] opts the optional parameters
|
|
963
|
+
# @return [Array<(SubmitBeds24Credentials200Response, Integer, Hash)>] SubmitBeds24Credentials200Response data, response status code and response headers
|
|
964
|
+
def submit_hostaway_credentials_with_http_info(submit_hostaway_credentials_request, opts = {})
|
|
965
|
+
if @api_client.config.debugging
|
|
966
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.submit_hostaway_credentials ...'
|
|
967
|
+
end
|
|
968
|
+
# verify the required parameter 'submit_hostaway_credentials_request' is set
|
|
969
|
+
if @api_client.config.client_side_validation && submit_hostaway_credentials_request.nil?
|
|
970
|
+
fail ArgumentError, "Missing the required parameter 'submit_hostaway_credentials_request' when calling ConnectApi.submit_hostaway_credentials"
|
|
971
|
+
end
|
|
972
|
+
# resource path
|
|
973
|
+
local_var_path = '/v1/connect/hostaway/credentials'
|
|
974
|
+
|
|
975
|
+
# query parameters
|
|
976
|
+
query_params = opts[:query_params] || {}
|
|
977
|
+
|
|
978
|
+
# header parameters
|
|
979
|
+
header_params = opts[:header_params] || {}
|
|
980
|
+
# HTTP header 'Accept' (if needed)
|
|
981
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
982
|
+
# HTTP header 'Content-Type'
|
|
983
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
984
|
+
if !content_type.nil?
|
|
985
|
+
header_params['Content-Type'] = content_type
|
|
986
|
+
end
|
|
987
|
+
|
|
988
|
+
# form parameters
|
|
989
|
+
form_params = opts[:form_params] || {}
|
|
990
|
+
|
|
991
|
+
# http body (model)
|
|
992
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_hostaway_credentials_request)
|
|
993
|
+
|
|
994
|
+
# return_type
|
|
995
|
+
return_type = opts[:debug_return_type] || 'SubmitBeds24Credentials200Response'
|
|
996
|
+
|
|
997
|
+
# auth_names
|
|
998
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
999
|
+
|
|
1000
|
+
new_options = opts.merge(
|
|
1001
|
+
:operation => :"ConnectApi.submit_hostaway_credentials",
|
|
1002
|
+
:header_params => header_params,
|
|
1003
|
+
:query_params => query_params,
|
|
1004
|
+
:form_params => form_params,
|
|
1005
|
+
:body => post_body,
|
|
1006
|
+
:auth_names => auth_names,
|
|
1007
|
+
:return_type => return_type
|
|
1008
|
+
)
|
|
1009
|
+
|
|
1010
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
1011
|
+
if @api_client.config.debugging
|
|
1012
|
+
@api_client.config.logger.debug "API called: ConnectApi#submit_hostaway_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
1013
|
+
end
|
|
1014
|
+
return data, status_code, headers
|
|
1015
|
+
end
|
|
1016
|
+
|
|
1017
|
+
# Submit iGMS credentials for a Connect session
|
|
1018
|
+
# Completes a credentials-pattern connection for iGMS. API token from iGMS → Settings → Integrations. The credentials are validated against iGMS before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
1019
|
+
# @param submit_igms_credentials_request [SubmitIgmsCredentialsRequest]
|
|
1020
|
+
# @param [Hash] opts the optional parameters
|
|
1021
|
+
# @return [SubmitBeds24Credentials200Response]
|
|
1022
|
+
def submit_igms_credentials(submit_igms_credentials_request, opts = {})
|
|
1023
|
+
data, _status_code, _headers = submit_igms_credentials_with_http_info(submit_igms_credentials_request, opts)
|
|
1024
|
+
data
|
|
1025
|
+
end
|
|
1026
|
+
|
|
1027
|
+
# Submit iGMS credentials for a Connect session
|
|
1028
|
+
# Completes a credentials-pattern connection for iGMS. API token from iGMS → Settings → Integrations. The credentials are validated against iGMS before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
1029
|
+
# @param submit_igms_credentials_request [SubmitIgmsCredentialsRequest]
|
|
1030
|
+
# @param [Hash] opts the optional parameters
|
|
1031
|
+
# @return [Array<(SubmitBeds24Credentials200Response, Integer, Hash)>] SubmitBeds24Credentials200Response data, response status code and response headers
|
|
1032
|
+
def submit_igms_credentials_with_http_info(submit_igms_credentials_request, opts = {})
|
|
1033
|
+
if @api_client.config.debugging
|
|
1034
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.submit_igms_credentials ...'
|
|
1035
|
+
end
|
|
1036
|
+
# verify the required parameter 'submit_igms_credentials_request' is set
|
|
1037
|
+
if @api_client.config.client_side_validation && submit_igms_credentials_request.nil?
|
|
1038
|
+
fail ArgumentError, "Missing the required parameter 'submit_igms_credentials_request' when calling ConnectApi.submit_igms_credentials"
|
|
1039
|
+
end
|
|
1040
|
+
# resource path
|
|
1041
|
+
local_var_path = '/v1/connect/igms/credentials'
|
|
1042
|
+
|
|
1043
|
+
# query parameters
|
|
1044
|
+
query_params = opts[:query_params] || {}
|
|
1045
|
+
|
|
1046
|
+
# header parameters
|
|
1047
|
+
header_params = opts[:header_params] || {}
|
|
1048
|
+
# HTTP header 'Accept' (if needed)
|
|
1049
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
1050
|
+
# HTTP header 'Content-Type'
|
|
1051
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
1052
|
+
if !content_type.nil?
|
|
1053
|
+
header_params['Content-Type'] = content_type
|
|
1054
|
+
end
|
|
1055
|
+
|
|
1056
|
+
# form parameters
|
|
1057
|
+
form_params = opts[:form_params] || {}
|
|
1058
|
+
|
|
1059
|
+
# http body (model)
|
|
1060
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_igms_credentials_request)
|
|
1061
|
+
|
|
1062
|
+
# return_type
|
|
1063
|
+
return_type = opts[:debug_return_type] || 'SubmitBeds24Credentials200Response'
|
|
1064
|
+
|
|
1065
|
+
# auth_names
|
|
1066
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
1067
|
+
|
|
1068
|
+
new_options = opts.merge(
|
|
1069
|
+
:operation => :"ConnectApi.submit_igms_credentials",
|
|
1070
|
+
:header_params => header_params,
|
|
1071
|
+
:query_params => query_params,
|
|
1072
|
+
:form_params => form_params,
|
|
1073
|
+
:body => post_body,
|
|
1074
|
+
:auth_names => auth_names,
|
|
1075
|
+
:return_type => return_type
|
|
1076
|
+
)
|
|
1077
|
+
|
|
1078
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
1079
|
+
if @api_client.config.debugging
|
|
1080
|
+
@api_client.config.logger.debug "API called: ConnectApi#submit_igms_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
1081
|
+
end
|
|
1082
|
+
return data, status_code, headers
|
|
1083
|
+
end
|
|
1084
|
+
|
|
1085
|
+
# Submit Lodgify credentials for a Connect session
|
|
1086
|
+
# Completes a credentials-pattern connection for Lodgify. API key from Lodgify → Settings → Public API. The credentials are validated against Lodgify before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
1087
|
+
# @param submit_lodgify_credentials_request [SubmitLodgifyCredentialsRequest]
|
|
1088
|
+
# @param [Hash] opts the optional parameters
|
|
1089
|
+
# @return [SubmitBeds24Credentials200Response]
|
|
1090
|
+
def submit_lodgify_credentials(submit_lodgify_credentials_request, opts = {})
|
|
1091
|
+
data, _status_code, _headers = submit_lodgify_credentials_with_http_info(submit_lodgify_credentials_request, opts)
|
|
1092
|
+
data
|
|
1093
|
+
end
|
|
1094
|
+
|
|
1095
|
+
# Submit Lodgify credentials for a Connect session
|
|
1096
|
+
# Completes a credentials-pattern connection for Lodgify. API key from Lodgify → Settings → Public API. The credentials are validated against Lodgify before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
1097
|
+
# @param submit_lodgify_credentials_request [SubmitLodgifyCredentialsRequest]
|
|
1098
|
+
# @param [Hash] opts the optional parameters
|
|
1099
|
+
# @return [Array<(SubmitBeds24Credentials200Response, Integer, Hash)>] SubmitBeds24Credentials200Response data, response status code and response headers
|
|
1100
|
+
def submit_lodgify_credentials_with_http_info(submit_lodgify_credentials_request, opts = {})
|
|
1101
|
+
if @api_client.config.debugging
|
|
1102
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.submit_lodgify_credentials ...'
|
|
1103
|
+
end
|
|
1104
|
+
# verify the required parameter 'submit_lodgify_credentials_request' is set
|
|
1105
|
+
if @api_client.config.client_side_validation && submit_lodgify_credentials_request.nil?
|
|
1106
|
+
fail ArgumentError, "Missing the required parameter 'submit_lodgify_credentials_request' when calling ConnectApi.submit_lodgify_credentials"
|
|
1107
|
+
end
|
|
1108
|
+
# resource path
|
|
1109
|
+
local_var_path = '/v1/connect/lodgify/credentials'
|
|
1110
|
+
|
|
1111
|
+
# query parameters
|
|
1112
|
+
query_params = opts[:query_params] || {}
|
|
1113
|
+
|
|
1114
|
+
# header parameters
|
|
1115
|
+
header_params = opts[:header_params] || {}
|
|
1116
|
+
# HTTP header 'Accept' (if needed)
|
|
1117
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
1118
|
+
# HTTP header 'Content-Type'
|
|
1119
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
1120
|
+
if !content_type.nil?
|
|
1121
|
+
header_params['Content-Type'] = content_type
|
|
1122
|
+
end
|
|
1123
|
+
|
|
1124
|
+
# form parameters
|
|
1125
|
+
form_params = opts[:form_params] || {}
|
|
1126
|
+
|
|
1127
|
+
# http body (model)
|
|
1128
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_lodgify_credentials_request)
|
|
1129
|
+
|
|
1130
|
+
# return_type
|
|
1131
|
+
return_type = opts[:debug_return_type] || 'SubmitBeds24Credentials200Response'
|
|
1132
|
+
|
|
1133
|
+
# auth_names
|
|
1134
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
1135
|
+
|
|
1136
|
+
new_options = opts.merge(
|
|
1137
|
+
:operation => :"ConnectApi.submit_lodgify_credentials",
|
|
1138
|
+
:header_params => header_params,
|
|
1139
|
+
:query_params => query_params,
|
|
1140
|
+
:form_params => form_params,
|
|
1141
|
+
:body => post_body,
|
|
1142
|
+
:auth_names => auth_names,
|
|
1143
|
+
:return_type => return_type
|
|
1144
|
+
)
|
|
1145
|
+
|
|
1146
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
1147
|
+
if @api_client.config.debugging
|
|
1148
|
+
@api_client.config.logger.debug "API called: ConnectApi#submit_lodgify_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
1149
|
+
end
|
|
1150
|
+
return data, status_code, headers
|
|
1151
|
+
end
|
|
1152
|
+
|
|
1153
|
+
# Submit OwnerRez credentials for a Connect session
|
|
1154
|
+
# Completes a credentials-pattern connection for OwnerRez. Username + API token from OwnerRez → Settings → API. The credentials are validated against OwnerRez before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
1155
|
+
# @param submit_ownerrez_credentials_request [SubmitOwnerrezCredentialsRequest]
|
|
1156
|
+
# @param [Hash] opts the optional parameters
|
|
1157
|
+
# @return [SubmitBeds24Credentials200Response]
|
|
1158
|
+
def submit_ownerrez_credentials(submit_ownerrez_credentials_request, opts = {})
|
|
1159
|
+
data, _status_code, _headers = submit_ownerrez_credentials_with_http_info(submit_ownerrez_credentials_request, opts)
|
|
1160
|
+
data
|
|
1161
|
+
end
|
|
1162
|
+
|
|
1163
|
+
# Submit OwnerRez credentials for a Connect session
|
|
1164
|
+
# Completes a credentials-pattern connection for OwnerRez. Username + API token from OwnerRez → Settings → API. The credentials are validated against OwnerRez before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
1165
|
+
# @param submit_ownerrez_credentials_request [SubmitOwnerrezCredentialsRequest]
|
|
1166
|
+
# @param [Hash] opts the optional parameters
|
|
1167
|
+
# @return [Array<(SubmitBeds24Credentials200Response, Integer, Hash)>] SubmitBeds24Credentials200Response data, response status code and response headers
|
|
1168
|
+
def submit_ownerrez_credentials_with_http_info(submit_ownerrez_credentials_request, opts = {})
|
|
1169
|
+
if @api_client.config.debugging
|
|
1170
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.submit_ownerrez_credentials ...'
|
|
1171
|
+
end
|
|
1172
|
+
# verify the required parameter 'submit_ownerrez_credentials_request' is set
|
|
1173
|
+
if @api_client.config.client_side_validation && submit_ownerrez_credentials_request.nil?
|
|
1174
|
+
fail ArgumentError, "Missing the required parameter 'submit_ownerrez_credentials_request' when calling ConnectApi.submit_ownerrez_credentials"
|
|
1175
|
+
end
|
|
1176
|
+
# resource path
|
|
1177
|
+
local_var_path = '/v1/connect/ownerrez/credentials'
|
|
1178
|
+
|
|
1179
|
+
# query parameters
|
|
1180
|
+
query_params = opts[:query_params] || {}
|
|
1181
|
+
|
|
1182
|
+
# header parameters
|
|
1183
|
+
header_params = opts[:header_params] || {}
|
|
1184
|
+
# HTTP header 'Accept' (if needed)
|
|
1185
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
1186
|
+
# HTTP header 'Content-Type'
|
|
1187
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
1188
|
+
if !content_type.nil?
|
|
1189
|
+
header_params['Content-Type'] = content_type
|
|
1190
|
+
end
|
|
1191
|
+
|
|
1192
|
+
# form parameters
|
|
1193
|
+
form_params = opts[:form_params] || {}
|
|
1194
|
+
|
|
1195
|
+
# http body (model)
|
|
1196
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_ownerrez_credentials_request)
|
|
1197
|
+
|
|
1198
|
+
# return_type
|
|
1199
|
+
return_type = opts[:debug_return_type] || 'SubmitBeds24Credentials200Response'
|
|
1200
|
+
|
|
1201
|
+
# auth_names
|
|
1202
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
1203
|
+
|
|
1204
|
+
new_options = opts.merge(
|
|
1205
|
+
:operation => :"ConnectApi.submit_ownerrez_credentials",
|
|
1206
|
+
:header_params => header_params,
|
|
1207
|
+
:query_params => query_params,
|
|
1208
|
+
:form_params => form_params,
|
|
1209
|
+
:body => post_body,
|
|
1210
|
+
:auth_names => auth_names,
|
|
1211
|
+
:return_type => return_type
|
|
1212
|
+
)
|
|
1213
|
+
|
|
1214
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
1215
|
+
if @api_client.config.debugging
|
|
1216
|
+
@api_client.config.logger.debug "API called: ConnectApi#submit_ownerrez_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
1217
|
+
end
|
|
1218
|
+
return data, status_code, headers
|
|
1219
|
+
end
|
|
1220
|
+
|
|
1221
|
+
# Submit Smoobu credentials for a Connect session
|
|
1222
|
+
# Completes a credentials-pattern connection for Smoobu. API key from Smoobu → Settings → For developers. The credentials are validated against Smoobu before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
1223
|
+
# @param submit_smoobu_credentials_request [SubmitSmoobuCredentialsRequest]
|
|
1224
|
+
# @param [Hash] opts the optional parameters
|
|
1225
|
+
# @return [SubmitBeds24Credentials200Response]
|
|
1226
|
+
def submit_smoobu_credentials(submit_smoobu_credentials_request, opts = {})
|
|
1227
|
+
data, _status_code, _headers = submit_smoobu_credentials_with_http_info(submit_smoobu_credentials_request, opts)
|
|
1228
|
+
data
|
|
1229
|
+
end
|
|
1230
|
+
|
|
1231
|
+
# Submit Smoobu credentials for a Connect session
|
|
1232
|
+
# Completes a credentials-pattern connection for Smoobu. API key from Smoobu → Settings → For developers. The credentials are validated against Smoobu before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
1233
|
+
# @param submit_smoobu_credentials_request [SubmitSmoobuCredentialsRequest]
|
|
1234
|
+
# @param [Hash] opts the optional parameters
|
|
1235
|
+
# @return [Array<(SubmitBeds24Credentials200Response, Integer, Hash)>] SubmitBeds24Credentials200Response data, response status code and response headers
|
|
1236
|
+
def submit_smoobu_credentials_with_http_info(submit_smoobu_credentials_request, opts = {})
|
|
1237
|
+
if @api_client.config.debugging
|
|
1238
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.submit_smoobu_credentials ...'
|
|
1239
|
+
end
|
|
1240
|
+
# verify the required parameter 'submit_smoobu_credentials_request' is set
|
|
1241
|
+
if @api_client.config.client_side_validation && submit_smoobu_credentials_request.nil?
|
|
1242
|
+
fail ArgumentError, "Missing the required parameter 'submit_smoobu_credentials_request' when calling ConnectApi.submit_smoobu_credentials"
|
|
1243
|
+
end
|
|
1244
|
+
# resource path
|
|
1245
|
+
local_var_path = '/v1/connect/smoobu/credentials'
|
|
1246
|
+
|
|
1247
|
+
# query parameters
|
|
1248
|
+
query_params = opts[:query_params] || {}
|
|
1249
|
+
|
|
1250
|
+
# header parameters
|
|
1251
|
+
header_params = opts[:header_params] || {}
|
|
1252
|
+
# HTTP header 'Accept' (if needed)
|
|
1253
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
1254
|
+
# HTTP header 'Content-Type'
|
|
1255
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
1256
|
+
if !content_type.nil?
|
|
1257
|
+
header_params['Content-Type'] = content_type
|
|
1258
|
+
end
|
|
1259
|
+
|
|
1260
|
+
# form parameters
|
|
1261
|
+
form_params = opts[:form_params] || {}
|
|
1262
|
+
|
|
1263
|
+
# http body (model)
|
|
1264
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_smoobu_credentials_request)
|
|
1265
|
+
|
|
1266
|
+
# return_type
|
|
1267
|
+
return_type = opts[:debug_return_type] || 'SubmitBeds24Credentials200Response'
|
|
1268
|
+
|
|
1269
|
+
# auth_names
|
|
1270
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
1271
|
+
|
|
1272
|
+
new_options = opts.merge(
|
|
1273
|
+
:operation => :"ConnectApi.submit_smoobu_credentials",
|
|
1274
|
+
:header_params => header_params,
|
|
1275
|
+
:query_params => query_params,
|
|
1276
|
+
:form_params => form_params,
|
|
1277
|
+
:body => post_body,
|
|
1278
|
+
:auth_names => auth_names,
|
|
1279
|
+
:return_type => return_type
|
|
1280
|
+
)
|
|
1281
|
+
|
|
1282
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
1283
|
+
if @api_client.config.debugging
|
|
1284
|
+
@api_client.config.logger.debug "API called: ConnectApi#submit_smoobu_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
1285
|
+
end
|
|
1286
|
+
return data, status_code, headers
|
|
1287
|
+
end
|
|
1288
|
+
|
|
1289
|
+
# Submit Vrbo credentials for a Connect session
|
|
1290
|
+
# Completes a credentials-pattern connection for Vrbo. Activation handshake — Repull mints the Basic-Auth pair the host pastes into Vrbo Partner Central. The credentials are validated against Vrbo before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
1291
|
+
# @param submit_vrbo_credentials_request [SubmitVrboCredentialsRequest]
|
|
1292
|
+
# @param [Hash] opts the optional parameters
|
|
1293
|
+
# @return [SubmitBeds24Credentials200Response]
|
|
1294
|
+
def submit_vrbo_credentials(submit_vrbo_credentials_request, opts = {})
|
|
1295
|
+
data, _status_code, _headers = submit_vrbo_credentials_with_http_info(submit_vrbo_credentials_request, opts)
|
|
1296
|
+
data
|
|
1297
|
+
end
|
|
1298
|
+
|
|
1299
|
+
# Submit Vrbo credentials for a Connect session
|
|
1300
|
+
# Completes a credentials-pattern connection for Vrbo. Activation handshake — Repull mints the Basic-Auth pair the host pastes into Vrbo Partner Central. The credentials are validated against Vrbo before anything is persisted, so an invalid pair returns `invalid_credentials` rather than creating a dead connection. On success the `pms_connections` row is written and the Connect session moves to its terminal state. No API key required when called with a `sessionId` — the session is the capability token.
|
|
1301
|
+
# @param submit_vrbo_credentials_request [SubmitVrboCredentialsRequest]
|
|
1302
|
+
# @param [Hash] opts the optional parameters
|
|
1303
|
+
# @return [Array<(SubmitBeds24Credentials200Response, Integer, Hash)>] SubmitBeds24Credentials200Response data, response status code and response headers
|
|
1304
|
+
def submit_vrbo_credentials_with_http_info(submit_vrbo_credentials_request, opts = {})
|
|
1305
|
+
if @api_client.config.debugging
|
|
1306
|
+
@api_client.config.logger.debug 'Calling API: ConnectApi.submit_vrbo_credentials ...'
|
|
1307
|
+
end
|
|
1308
|
+
# verify the required parameter 'submit_vrbo_credentials_request' is set
|
|
1309
|
+
if @api_client.config.client_side_validation && submit_vrbo_credentials_request.nil?
|
|
1310
|
+
fail ArgumentError, "Missing the required parameter 'submit_vrbo_credentials_request' when calling ConnectApi.submit_vrbo_credentials"
|
|
1311
|
+
end
|
|
1312
|
+
# resource path
|
|
1313
|
+
local_var_path = '/v1/connect/vrbo/credentials'
|
|
1314
|
+
|
|
1315
|
+
# query parameters
|
|
1316
|
+
query_params = opts[:query_params] || {}
|
|
1317
|
+
|
|
1318
|
+
# header parameters
|
|
1319
|
+
header_params = opts[:header_params] || {}
|
|
1320
|
+
# HTTP header 'Accept' (if needed)
|
|
1321
|
+
header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
|
|
1322
|
+
# HTTP header 'Content-Type'
|
|
1323
|
+
content_type = @api_client.select_header_content_type(['application/json'])
|
|
1324
|
+
if !content_type.nil?
|
|
1325
|
+
header_params['Content-Type'] = content_type
|
|
1326
|
+
end
|
|
1327
|
+
|
|
1328
|
+
# form parameters
|
|
1329
|
+
form_params = opts[:form_params] || {}
|
|
1330
|
+
|
|
1331
|
+
# http body (model)
|
|
1332
|
+
post_body = opts[:debug_body] || @api_client.object_to_http_body(submit_vrbo_credentials_request)
|
|
1333
|
+
|
|
1334
|
+
# return_type
|
|
1335
|
+
return_type = opts[:debug_return_type] || 'SubmitBeds24Credentials200Response'
|
|
1336
|
+
|
|
1337
|
+
# auth_names
|
|
1338
|
+
auth_names = opts[:debug_auth_names] || ['bearerAuth']
|
|
1339
|
+
|
|
1340
|
+
new_options = opts.merge(
|
|
1341
|
+
:operation => :"ConnectApi.submit_vrbo_credentials",
|
|
1342
|
+
:header_params => header_params,
|
|
1343
|
+
:query_params => query_params,
|
|
1344
|
+
:form_params => form_params,
|
|
1345
|
+
:body => post_body,
|
|
1346
|
+
:auth_names => auth_names,
|
|
1347
|
+
:return_type => return_type
|
|
1348
|
+
)
|
|
1349
|
+
|
|
1350
|
+
data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
|
|
1351
|
+
if @api_client.config.debugging
|
|
1352
|
+
@api_client.config.logger.debug "API called: ConnectApi#submit_vrbo_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
|
|
1353
|
+
end
|
|
1354
|
+
return data, status_code, headers
|
|
1355
|
+
end
|
|
1356
|
+
|
|
604
1357
|
# Verify a Booking.com hotel ID for a Connect session
|
|
605
1358
|
# Manual-paste fallback that closes the Booking.com claim flow. Call this after the customer completes Stage 1 designation in their Booking Extranet (ticking FantasticStay/Repull as their connectivity provider) 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.
|
|
606
1359
|
# @param booking_verify_hotel_request [BookingVerifyHotelRequest]
|