linq-python 0.24.0__tar.gz → 0.25.0__tar.gz
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.
- linq_python-0.25.0/.release-please-manifest.json +3 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/CHANGELOG.md +14 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/PKG-INFO +1 -1
- {linq_python-0.24.0 → linq_python-0.25.0}/api.md +17 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/pyproject.toml +1 -1
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_version.py +1 -1
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/chats/__init__.py +14 -0
- linq_python-0.25.0/src/linq/resources/chats/background.py +366 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/chats/chats.py +134 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/chats/typing.py +6 -6
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/__init__.py +12 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat.py +10 -4
- linq_python-0.25.0/src/linq/types/chat_background_updated_webhook_event.py +96 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_create_response.py +10 -4
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_created_webhook_event.py +10 -4
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_group_icon_update_failed_webhook_event.py +2 -2
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_group_name_update_failed_webhook_event.py +2 -2
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/__init__.py +1 -0
- linq_python-0.25.0/src/linq/types/chats/background_set_params.py +37 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_edited_webhook_event.py +10 -4
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_event_v2.py +10 -4
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_failed_webhook_event.py +2 -2
- linq_python-0.25.0/src/linq/types/poll_delivered_webhook_event.py +123 -0
- linq_python-0.25.0/src/linq/types/poll_failed_webhook_event.py +137 -0
- linq_python-0.25.0/src/linq/types/poll_reaction_added_webhook_event.py +51 -0
- linq_python-0.25.0/src/linq/types/poll_read_webhook_event.py +123 -0
- linq_python-0.25.0/src/linq/types/poll_received_webhook_event.py +117 -0
- linq_python-0.25.0/src/linq/types/poll_sent_webhook_event.py +123 -0
- linq_python-0.25.0/src/linq/types/poll_updated_webhook_event.py +98 -0
- linq_python-0.25.0/src/linq/types/poll_vote_added_webhook_event.py +76 -0
- linq_python-0.25.0/src/linq/types/poll_vote_removed_webhook_event.py +76 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/unwrap_webhook_event.py +20 -0
- linq_python-0.25.0/tests/api_resources/chats/test_background.py +224 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/uv.lock +1 -1
- linq_python-0.24.0/.release-please-manifest.json +0 -3
- {linq_python-0.24.0 → linq_python-0.25.0}/.gitignore +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/CONTRIBUTING.md +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/LICENSE +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/README.md +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/SECURITY.md +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/bin/check-release-environment +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/bin/publish-pypi +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/examples/.keep +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/release-please-config.json +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/requirements-dev.lock +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/__init__.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_base_client.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_client.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_compat.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_constants.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_exceptions.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_files.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_models.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_qs.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_resource.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_streaming.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_types.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/__init__.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_compat.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_datetime_parse.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_json.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_logs.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_path.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_proxy.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_reflection.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_resources_proxy.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_streams.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_sync.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_transform.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_typing.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/_utils/_utils.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/lib/.keep +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/pagination.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/py.typed +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/__init__.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/attachments.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/available_number.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/blocked_handles.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/capability.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/chats/location.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/chats/messages.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/chats/participants.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/chats/polls.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/contact_card.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/experiences.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/messages/__init__.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/messages/messages.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/messages/poll.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/payment_handles.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/payment_providers.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/payment_requests.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/payments.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/phone_numbers.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/phonenumbers.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/webhook_events.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/webhook_subscriptions.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/resources/webhooks.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/attachment_create_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/attachment_create_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/attachment_retrieve_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/available_number_retrieve_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/available_number_retrieve_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/blocked_handle_block_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/blocked_handle_block_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/blocked_handle_entry.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/blocked_handle_list_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/blocked_handle_unblock_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/capability_check_RCS_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/capability_check_i_message_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_create_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_group_icon_updated_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_group_name_updated_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_leave_chat_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_list_chats_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_send_voicememo_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_send_voicememo_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_typing_indicator_started_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_typing_indicator_stopped_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_update_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chat_update_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/get_chat_location_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/location_request_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/message_list_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/message_send_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/message_send_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/participant_add_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/participant_add_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/participant_remove_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/participant_remove_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/poll.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/poll_create_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/poll_envelope.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/chats/sent_message.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/contact_card_create_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/contact_card_retrieve_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/contact_card_retrieve_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/contact_card_update_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/experience_list_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/experience_retrieve_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/handle_check_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/link_part_param.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/media_part_param.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_add_reaction_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_add_reaction_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_content_param.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_create_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_create_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_delivered_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_effect.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_effect_param.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_list_messages_thread_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_read_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_received_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_sent_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_update_app_card_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_update_app_card_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/message_update_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/messages/__init__.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/messages/poll_add_options_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/messages/poll_vote_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/participant_added_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/participant_removed_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/payment.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/payment_create_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/payment_credentials_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/payment_handle_connection.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/payment_handle_verify_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/payment_provider.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/payment_provider_connect_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/payment_provider_connect_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/payment_request.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/payment_request_create_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/payment_request_list_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/payment_request_list_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/phone_number_list_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/phone_number_status_updated_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/phone_number_update_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/phone_number_update_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/phonenumber_list_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reaction_added_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reaction_event_base.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reaction_removed_webhook_event.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reply_to.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reply_to_param.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reputation_action_item.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reputation_audit.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reputation_audit_started.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reputation_driver.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reputation_driver_key.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reputation_evidence.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reputation_opt_out_chat.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reputation_report.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/reputation_unhealthy_chat.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/schemas_media_part_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/schemas_message_effect.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/schemas_text_part_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/set_contact_card.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared/__init__.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared/chat_handle.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared/link_part_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared/media_part_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared/reaction.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared/reaction_type.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared/service_type.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared/text_decoration.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared/text_part_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared_params/__init__.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared_params/reaction_type.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared_params/service_type.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/shared_params/text_decoration.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/supported_content_type.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/text_part_param.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/webhook_event_list_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/webhook_event_type.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/webhook_subscription.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/webhook_subscription_create_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/webhook_subscription_create_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/webhook_subscription_list_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/src/linq/types/webhook_subscription_update_params.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/__init__.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/__init__.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/chats/__init__.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/chats/test_location.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/chats/test_messages.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/chats/test_participants.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/chats/test_polls.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/chats/test_typing.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/messages/__init__.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/messages/test_poll.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_attachments.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_available_number.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_blocked_handles.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_capability.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_chats.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_contact_card.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_experiences.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_messages.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_payment_handles.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_payment_providers.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_payment_requests.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_payments.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_phone_numbers.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_phonenumbers.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_webhook_events.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_webhook_subscriptions.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/api_resources/test_webhooks.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/conftest.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/sample_file.txt +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_client.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_extract_files.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_files.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_models.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_qs.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_required_args.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_response.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_streaming.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_transform.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_utils/test_json.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_utils/test_path.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_utils/test_proxy.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/test_utils/test_typing.py +0 -0
- {linq_python-0.24.0 → linq_python-0.25.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.25.0](https://github.com/linq-team/linq-python/compare/v0.24.1...v0.25.0) (2026-08-14)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add chat background and poll features ([44aa466](https://github.com/linq-team/linq-python/commit/44aa466ba2f216267d9fc00d5172790f84bd3c9e))
|
|
9
|
+
|
|
10
|
+
## [0.24.1](https://github.com/linq-team/linq-python/compare/v0.24.0...v0.24.1) (2026-08-14)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* clarify chat health status guidance and opt-out behavior ([17f6c3e](https://github.com/linq-team/linq-python/commit/17f6c3e46e71a0a325dcb3639444dc7423640127))
|
|
16
|
+
|
|
3
17
|
## [0.24.0](https://github.com/linq-team/linq-python/compare/v0.23.1...v0.24.0) (2026-08-14)
|
|
4
18
|
|
|
5
19
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: linq-python
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.25.0
|
|
4
4
|
Summary: The official Python library for the linq-api-v3 API
|
|
5
5
|
Project-URL: Homepage, https://github.com/linq-team/linq-python
|
|
6
6
|
Project-URL: Repository, https://github.com/linq-team/linq-python
|
|
@@ -100,6 +100,13 @@ Methods:
|
|
|
100
100
|
|
|
101
101
|
- <code title="post /v3/chats/{chatId}/polls">client.chats.polls.<a href="./src/linq/resources/chats/polls.py">create</a>(chat_id, \*\*<a href="src/linq/types/chats/poll_create_params.py">params</a>) -> <a href="./src/linq/types/chats/poll_envelope.py">PollEnvelope</a></code>
|
|
102
102
|
|
|
103
|
+
## Background
|
|
104
|
+
|
|
105
|
+
Methods:
|
|
106
|
+
|
|
107
|
+
- <code title="delete /v3/chats/{chatId}/background">client.chats.background.<a href="./src/linq/resources/chats/background.py">remove</a>(chat_id) -> None</code>
|
|
108
|
+
- <code title="post /v3/chats/{chatId}/background">client.chats.background.<a href="./src/linq/resources/chats/background.py">set</a>(chat_id, \*\*<a href="src/linq/types/chats/background_set_params.py">params</a>) -> None</code>
|
|
109
|
+
|
|
103
110
|
# Messages
|
|
104
111
|
|
|
105
112
|
Types:
|
|
@@ -348,6 +355,15 @@ from linq.types import (
|
|
|
348
355
|
MessageEditedWebhookEvent,
|
|
349
356
|
ReactionAddedWebhookEvent,
|
|
350
357
|
ReactionRemovedWebhookEvent,
|
|
358
|
+
PollReceivedWebhookEvent,
|
|
359
|
+
PollSentWebhookEvent,
|
|
360
|
+
PollDeliveredWebhookEvent,
|
|
361
|
+
PollReadWebhookEvent,
|
|
362
|
+
PollUpdatedWebhookEvent,
|
|
363
|
+
PollFailedWebhookEvent,
|
|
364
|
+
PollVoteAddedWebhookEvent,
|
|
365
|
+
PollVoteRemovedWebhookEvent,
|
|
366
|
+
PollReactionAddedWebhookEvent,
|
|
351
367
|
ParticipantAddedWebhookEvent,
|
|
352
368
|
ParticipantRemovedWebhookEvent,
|
|
353
369
|
ChatCreatedWebhookEvent,
|
|
@@ -357,6 +373,7 @@ from linq.types import (
|
|
|
357
373
|
ChatGroupIconUpdateFailedWebhookEvent,
|
|
358
374
|
ChatTypingIndicatorStartedWebhookEvent,
|
|
359
375
|
ChatTypingIndicatorStoppedWebhookEvent,
|
|
376
|
+
ChatBackgroundUpdatedWebhookEvent,
|
|
360
377
|
PhoneNumberStatusUpdatedWebhookEvent,
|
|
361
378
|
UnwrapWebhookEvent,
|
|
362
379
|
)
|
|
@@ -40,6 +40,14 @@ from .messages import (
|
|
|
40
40
|
MessagesResourceWithStreamingResponse,
|
|
41
41
|
AsyncMessagesResourceWithStreamingResponse,
|
|
42
42
|
)
|
|
43
|
+
from .background import (
|
|
44
|
+
BackgroundResource,
|
|
45
|
+
AsyncBackgroundResource,
|
|
46
|
+
BackgroundResourceWithRawResponse,
|
|
47
|
+
AsyncBackgroundResourceWithRawResponse,
|
|
48
|
+
BackgroundResourceWithStreamingResponse,
|
|
49
|
+
AsyncBackgroundResourceWithStreamingResponse,
|
|
50
|
+
)
|
|
43
51
|
from .participants import (
|
|
44
52
|
ParticipantsResource,
|
|
45
53
|
AsyncParticipantsResource,
|
|
@@ -80,6 +88,12 @@ __all__ = [
|
|
|
80
88
|
"AsyncPollsResourceWithRawResponse",
|
|
81
89
|
"PollsResourceWithStreamingResponse",
|
|
82
90
|
"AsyncPollsResourceWithStreamingResponse",
|
|
91
|
+
"BackgroundResource",
|
|
92
|
+
"AsyncBackgroundResource",
|
|
93
|
+
"BackgroundResourceWithRawResponse",
|
|
94
|
+
"AsyncBackgroundResourceWithRawResponse",
|
|
95
|
+
"BackgroundResourceWithStreamingResponse",
|
|
96
|
+
"AsyncBackgroundResourceWithStreamingResponse",
|
|
83
97
|
"ChatsResource",
|
|
84
98
|
"AsyncChatsResource",
|
|
85
99
|
"ChatsResourceWithRawResponse",
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
import httpx
|
|
8
|
+
|
|
9
|
+
from ..._types import Body, Omit, Query, Headers, NoneType, NotGiven, SequenceNotStr, omit, not_given
|
|
10
|
+
from ..._utils import path_template, maybe_transform, async_maybe_transform
|
|
11
|
+
from ..._compat import cached_property
|
|
12
|
+
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
13
|
+
from ..._response import (
|
|
14
|
+
to_raw_response_wrapper,
|
|
15
|
+
to_streamed_response_wrapper,
|
|
16
|
+
async_to_raw_response_wrapper,
|
|
17
|
+
async_to_streamed_response_wrapper,
|
|
18
|
+
)
|
|
19
|
+
from ...types.chats import background_set_params
|
|
20
|
+
from ..._base_client import make_request_options
|
|
21
|
+
|
|
22
|
+
__all__ = ["BackgroundResource", "AsyncBackgroundResource"]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class BackgroundResource(SyncAPIResource):
|
|
26
|
+
"""A Chat is a conversation thread with one or more participants.
|
|
27
|
+
|
|
28
|
+
To begin a chat, you must create a Chat with at least one recipient handle.
|
|
29
|
+
Including multiple handles creates a group chat.
|
|
30
|
+
|
|
31
|
+
When creating a chat, the `from` field specifies which of your
|
|
32
|
+
authorized phone numbers the message originates from. Your authentication token grants
|
|
33
|
+
access to one or more phone numbers, but the `from` field determines the actual sender.
|
|
34
|
+
|
|
35
|
+
**Handle Format:**
|
|
36
|
+
- Handles can be phone numbers or email addresses
|
|
37
|
+
- Phone numbers MUST be in E.164 format (starting with +)
|
|
38
|
+
- Phone format: `+[country code][subscriber number]`
|
|
39
|
+
- Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
|
|
40
|
+
- Example email: `user@example.com`
|
|
41
|
+
- No spaces, dashes, or parentheses in phone numbers
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
@cached_property
|
|
45
|
+
def with_raw_response(self) -> BackgroundResourceWithRawResponse:
|
|
46
|
+
"""
|
|
47
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
48
|
+
the raw response object instead of the parsed content.
|
|
49
|
+
|
|
50
|
+
For more information, see https://www.github.com/linq-team/linq-python#accessing-raw-response-data-eg-headers
|
|
51
|
+
"""
|
|
52
|
+
return BackgroundResourceWithRawResponse(self)
|
|
53
|
+
|
|
54
|
+
@cached_property
|
|
55
|
+
def with_streaming_response(self) -> BackgroundResourceWithStreamingResponse:
|
|
56
|
+
"""
|
|
57
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
58
|
+
|
|
59
|
+
For more information, see https://www.github.com/linq-team/linq-python#with_streaming_response
|
|
60
|
+
"""
|
|
61
|
+
return BackgroundResourceWithStreamingResponse(self)
|
|
62
|
+
|
|
63
|
+
def remove(
|
|
64
|
+
self,
|
|
65
|
+
chat_id: str,
|
|
66
|
+
*,
|
|
67
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
68
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
69
|
+
extra_headers: Headers | None = None,
|
|
70
|
+
extra_query: Query | None = None,
|
|
71
|
+
extra_body: Body | None = None,
|
|
72
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
73
|
+
) -> None:
|
|
74
|
+
"""
|
|
75
|
+
Remove the transcript background from a chat, resetting it to the default.
|
|
76
|
+
|
|
77
|
+
Args:
|
|
78
|
+
extra_headers: Send extra headers
|
|
79
|
+
|
|
80
|
+
extra_query: Add additional query parameters to the request
|
|
81
|
+
|
|
82
|
+
extra_body: Add additional JSON properties to the request
|
|
83
|
+
|
|
84
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
85
|
+
"""
|
|
86
|
+
if not chat_id:
|
|
87
|
+
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
|
|
88
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
89
|
+
return self._delete(
|
|
90
|
+
path_template("/v3/chats/{chat_id}/background", chat_id=chat_id),
|
|
91
|
+
options=make_request_options(
|
|
92
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
93
|
+
),
|
|
94
|
+
cast_to=NoneType,
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
def set(
|
|
98
|
+
self,
|
|
99
|
+
chat_id: str,
|
|
100
|
+
*,
|
|
101
|
+
type: Literal["color", "dynamic", "photo"],
|
|
102
|
+
image_url: str | Omit = omit,
|
|
103
|
+
shades: SequenceNotStr[str] | Omit = omit,
|
|
104
|
+
style: Literal["sky", "water", "aurora", "glitter"] | Omit = omit,
|
|
105
|
+
variant: str | Omit = omit,
|
|
106
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
107
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
108
|
+
extra_headers: Headers | None = None,
|
|
109
|
+
extra_query: Query | None = None,
|
|
110
|
+
extra_body: Body | None = None,
|
|
111
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
112
|
+
) -> None:
|
|
113
|
+
"""
|
|
114
|
+
Set the transcript background for a chat.
|
|
115
|
+
|
|
116
|
+
Provide one of: a **color** (a named preset or a custom 2-stop gradient), a
|
|
117
|
+
**dynamic** animated style, or a **photo** (by URL). The request is accepted
|
|
118
|
+
asynchronously; the terminal result arrives via the `chat.background_updated`
|
|
119
|
+
webhook.
|
|
120
|
+
|
|
121
|
+
**Group chats are supported.** Requests for RCS or SMS chats are accepted
|
|
122
|
+
(`202`) but no background is applied and no `chat.background_updated` webhook
|
|
123
|
+
fires.
|
|
124
|
+
|
|
125
|
+
Args:
|
|
126
|
+
type: The background family.
|
|
127
|
+
|
|
128
|
+
image_url: Photo: the image URL to embed in the background.
|
|
129
|
+
|
|
130
|
+
shades: Color with `variant: custom`: the two gradient stops as hex, top then bottom.
|
|
131
|
+
Ignored for named color variants (they carry their own two colors).
|
|
132
|
+
|
|
133
|
+
style: Dynamic: the animated style.
|
|
134
|
+
|
|
135
|
+
variant: Color: a named swatch — `mango`, `ice`, `plum`, `deep_sea`, `green_apple`,
|
|
136
|
+
`cherry`, `bubblegum`, `tangerine`, `magenta`, `lime`, `silver`, `carbon`,
|
|
137
|
+
`stone` — or `custom` (supply `shades`). Dynamic: the variant within the `style`
|
|
138
|
+
(e.g. `sunrise`).
|
|
139
|
+
|
|
140
|
+
An unrecognized value still returns `202`, but no background is applied and no
|
|
141
|
+
`chat.background_updated` webhook fires. Send one of the values above.
|
|
142
|
+
|
|
143
|
+
extra_headers: Send extra headers
|
|
144
|
+
|
|
145
|
+
extra_query: Add additional query parameters to the request
|
|
146
|
+
|
|
147
|
+
extra_body: Add additional JSON properties to the request
|
|
148
|
+
|
|
149
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
150
|
+
"""
|
|
151
|
+
if not chat_id:
|
|
152
|
+
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
|
|
153
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
154
|
+
return self._post(
|
|
155
|
+
path_template("/v3/chats/{chat_id}/background", chat_id=chat_id),
|
|
156
|
+
body=maybe_transform(
|
|
157
|
+
{
|
|
158
|
+
"type": type,
|
|
159
|
+
"image_url": image_url,
|
|
160
|
+
"shades": shades,
|
|
161
|
+
"style": style,
|
|
162
|
+
"variant": variant,
|
|
163
|
+
},
|
|
164
|
+
background_set_params.BackgroundSetParams,
|
|
165
|
+
),
|
|
166
|
+
options=make_request_options(
|
|
167
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
168
|
+
),
|
|
169
|
+
cast_to=NoneType,
|
|
170
|
+
)
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
class AsyncBackgroundResource(AsyncAPIResource):
|
|
174
|
+
"""A Chat is a conversation thread with one or more participants.
|
|
175
|
+
|
|
176
|
+
To begin a chat, you must create a Chat with at least one recipient handle.
|
|
177
|
+
Including multiple handles creates a group chat.
|
|
178
|
+
|
|
179
|
+
When creating a chat, the `from` field specifies which of your
|
|
180
|
+
authorized phone numbers the message originates from. Your authentication token grants
|
|
181
|
+
access to one or more phone numbers, but the `from` field determines the actual sender.
|
|
182
|
+
|
|
183
|
+
**Handle Format:**
|
|
184
|
+
- Handles can be phone numbers or email addresses
|
|
185
|
+
- Phone numbers MUST be in E.164 format (starting with +)
|
|
186
|
+
- Phone format: `+[country code][subscriber number]`
|
|
187
|
+
- Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
|
|
188
|
+
- Example email: `user@example.com`
|
|
189
|
+
- No spaces, dashes, or parentheses in phone numbers
|
|
190
|
+
"""
|
|
191
|
+
|
|
192
|
+
@cached_property
|
|
193
|
+
def with_raw_response(self) -> AsyncBackgroundResourceWithRawResponse:
|
|
194
|
+
"""
|
|
195
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
196
|
+
the raw response object instead of the parsed content.
|
|
197
|
+
|
|
198
|
+
For more information, see https://www.github.com/linq-team/linq-python#accessing-raw-response-data-eg-headers
|
|
199
|
+
"""
|
|
200
|
+
return AsyncBackgroundResourceWithRawResponse(self)
|
|
201
|
+
|
|
202
|
+
@cached_property
|
|
203
|
+
def with_streaming_response(self) -> AsyncBackgroundResourceWithStreamingResponse:
|
|
204
|
+
"""
|
|
205
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
206
|
+
|
|
207
|
+
For more information, see https://www.github.com/linq-team/linq-python#with_streaming_response
|
|
208
|
+
"""
|
|
209
|
+
return AsyncBackgroundResourceWithStreamingResponse(self)
|
|
210
|
+
|
|
211
|
+
async def remove(
|
|
212
|
+
self,
|
|
213
|
+
chat_id: str,
|
|
214
|
+
*,
|
|
215
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
216
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
217
|
+
extra_headers: Headers | None = None,
|
|
218
|
+
extra_query: Query | None = None,
|
|
219
|
+
extra_body: Body | None = None,
|
|
220
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
221
|
+
) -> None:
|
|
222
|
+
"""
|
|
223
|
+
Remove the transcript background from a chat, resetting it to the default.
|
|
224
|
+
|
|
225
|
+
Args:
|
|
226
|
+
extra_headers: Send extra headers
|
|
227
|
+
|
|
228
|
+
extra_query: Add additional query parameters to the request
|
|
229
|
+
|
|
230
|
+
extra_body: Add additional JSON properties to the request
|
|
231
|
+
|
|
232
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
233
|
+
"""
|
|
234
|
+
if not chat_id:
|
|
235
|
+
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
|
|
236
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
237
|
+
return await self._delete(
|
|
238
|
+
path_template("/v3/chats/{chat_id}/background", chat_id=chat_id),
|
|
239
|
+
options=make_request_options(
|
|
240
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
241
|
+
),
|
|
242
|
+
cast_to=NoneType,
|
|
243
|
+
)
|
|
244
|
+
|
|
245
|
+
async def set(
|
|
246
|
+
self,
|
|
247
|
+
chat_id: str,
|
|
248
|
+
*,
|
|
249
|
+
type: Literal["color", "dynamic", "photo"],
|
|
250
|
+
image_url: str | Omit = omit,
|
|
251
|
+
shades: SequenceNotStr[str] | Omit = omit,
|
|
252
|
+
style: Literal["sky", "water", "aurora", "glitter"] | Omit = omit,
|
|
253
|
+
variant: str | Omit = omit,
|
|
254
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
255
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
256
|
+
extra_headers: Headers | None = None,
|
|
257
|
+
extra_query: Query | None = None,
|
|
258
|
+
extra_body: Body | None = None,
|
|
259
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
260
|
+
) -> None:
|
|
261
|
+
"""
|
|
262
|
+
Set the transcript background for a chat.
|
|
263
|
+
|
|
264
|
+
Provide one of: a **color** (a named preset or a custom 2-stop gradient), a
|
|
265
|
+
**dynamic** animated style, or a **photo** (by URL). The request is accepted
|
|
266
|
+
asynchronously; the terminal result arrives via the `chat.background_updated`
|
|
267
|
+
webhook.
|
|
268
|
+
|
|
269
|
+
**Group chats are supported.** Requests for RCS or SMS chats are accepted
|
|
270
|
+
(`202`) but no background is applied and no `chat.background_updated` webhook
|
|
271
|
+
fires.
|
|
272
|
+
|
|
273
|
+
Args:
|
|
274
|
+
type: The background family.
|
|
275
|
+
|
|
276
|
+
image_url: Photo: the image URL to embed in the background.
|
|
277
|
+
|
|
278
|
+
shades: Color with `variant: custom`: the two gradient stops as hex, top then bottom.
|
|
279
|
+
Ignored for named color variants (they carry their own two colors).
|
|
280
|
+
|
|
281
|
+
style: Dynamic: the animated style.
|
|
282
|
+
|
|
283
|
+
variant: Color: a named swatch — `mango`, `ice`, `plum`, `deep_sea`, `green_apple`,
|
|
284
|
+
`cherry`, `bubblegum`, `tangerine`, `magenta`, `lime`, `silver`, `carbon`,
|
|
285
|
+
`stone` — or `custom` (supply `shades`). Dynamic: the variant within the `style`
|
|
286
|
+
(e.g. `sunrise`).
|
|
287
|
+
|
|
288
|
+
An unrecognized value still returns `202`, but no background is applied and no
|
|
289
|
+
`chat.background_updated` webhook fires. Send one of the values above.
|
|
290
|
+
|
|
291
|
+
extra_headers: Send extra headers
|
|
292
|
+
|
|
293
|
+
extra_query: Add additional query parameters to the request
|
|
294
|
+
|
|
295
|
+
extra_body: Add additional JSON properties to the request
|
|
296
|
+
|
|
297
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
298
|
+
"""
|
|
299
|
+
if not chat_id:
|
|
300
|
+
raise ValueError(f"Expected a non-empty value for `chat_id` but received {chat_id!r}")
|
|
301
|
+
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
302
|
+
return await self._post(
|
|
303
|
+
path_template("/v3/chats/{chat_id}/background", chat_id=chat_id),
|
|
304
|
+
body=await async_maybe_transform(
|
|
305
|
+
{
|
|
306
|
+
"type": type,
|
|
307
|
+
"image_url": image_url,
|
|
308
|
+
"shades": shades,
|
|
309
|
+
"style": style,
|
|
310
|
+
"variant": variant,
|
|
311
|
+
},
|
|
312
|
+
background_set_params.BackgroundSetParams,
|
|
313
|
+
),
|
|
314
|
+
options=make_request_options(
|
|
315
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
316
|
+
),
|
|
317
|
+
cast_to=NoneType,
|
|
318
|
+
)
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
class BackgroundResourceWithRawResponse:
|
|
322
|
+
def __init__(self, background: BackgroundResource) -> None:
|
|
323
|
+
self._background = background
|
|
324
|
+
|
|
325
|
+
self.remove = to_raw_response_wrapper(
|
|
326
|
+
background.remove,
|
|
327
|
+
)
|
|
328
|
+
self.set = to_raw_response_wrapper(
|
|
329
|
+
background.set,
|
|
330
|
+
)
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
class AsyncBackgroundResourceWithRawResponse:
|
|
334
|
+
def __init__(self, background: AsyncBackgroundResource) -> None:
|
|
335
|
+
self._background = background
|
|
336
|
+
|
|
337
|
+
self.remove = async_to_raw_response_wrapper(
|
|
338
|
+
background.remove,
|
|
339
|
+
)
|
|
340
|
+
self.set = async_to_raw_response_wrapper(
|
|
341
|
+
background.set,
|
|
342
|
+
)
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
class BackgroundResourceWithStreamingResponse:
|
|
346
|
+
def __init__(self, background: BackgroundResource) -> None:
|
|
347
|
+
self._background = background
|
|
348
|
+
|
|
349
|
+
self.remove = to_streamed_response_wrapper(
|
|
350
|
+
background.remove,
|
|
351
|
+
)
|
|
352
|
+
self.set = to_streamed_response_wrapper(
|
|
353
|
+
background.set,
|
|
354
|
+
)
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
class AsyncBackgroundResourceWithStreamingResponse:
|
|
358
|
+
def __init__(self, background: AsyncBackgroundResource) -> None:
|
|
359
|
+
self._background = background
|
|
360
|
+
|
|
361
|
+
self.remove = async_to_streamed_response_wrapper(
|
|
362
|
+
background.remove,
|
|
363
|
+
)
|
|
364
|
+
self.set = async_to_streamed_response_wrapper(
|
|
365
|
+
background.set,
|
|
366
|
+
)
|
|
@@ -45,6 +45,14 @@ from .messages import (
|
|
|
45
45
|
AsyncMessagesResourceWithStreamingResponse,
|
|
46
46
|
)
|
|
47
47
|
from ..._compat import cached_property
|
|
48
|
+
from .background import (
|
|
49
|
+
BackgroundResource,
|
|
50
|
+
AsyncBackgroundResource,
|
|
51
|
+
BackgroundResourceWithRawResponse,
|
|
52
|
+
AsyncBackgroundResourceWithRawResponse,
|
|
53
|
+
BackgroundResourceWithStreamingResponse,
|
|
54
|
+
AsyncBackgroundResourceWithStreamingResponse,
|
|
55
|
+
)
|
|
48
56
|
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
49
57
|
from ..._response import (
|
|
50
58
|
to_raw_response_wrapper,
|
|
@@ -283,6 +291,27 @@ class ChatsResource(SyncAPIResource):
|
|
|
283
291
|
"""
|
|
284
292
|
return PollsResource(self._client)
|
|
285
293
|
|
|
294
|
+
@cached_property
|
|
295
|
+
def background(self) -> BackgroundResource:
|
|
296
|
+
"""A Chat is a conversation thread with one or more participants.
|
|
297
|
+
|
|
298
|
+
To begin a chat, you must create a Chat with at least one recipient handle.
|
|
299
|
+
Including multiple handles creates a group chat.
|
|
300
|
+
|
|
301
|
+
When creating a chat, the `from` field specifies which of your
|
|
302
|
+
authorized phone numbers the message originates from. Your authentication token grants
|
|
303
|
+
access to one or more phone numbers, but the `from` field determines the actual sender.
|
|
304
|
+
|
|
305
|
+
**Handle Format:**
|
|
306
|
+
- Handles can be phone numbers or email addresses
|
|
307
|
+
- Phone numbers MUST be in E.164 format (starting with +)
|
|
308
|
+
- Phone format: `+[country code][subscriber number]`
|
|
309
|
+
- Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
|
|
310
|
+
- Example email: `user@example.com`
|
|
311
|
+
- No spaces, dashes, or parentheses in phone numbers
|
|
312
|
+
"""
|
|
313
|
+
return BackgroundResource(self._client)
|
|
314
|
+
|
|
286
315
|
@cached_property
|
|
287
316
|
def with_raw_response(self) -> ChatsResourceWithRawResponse:
|
|
288
317
|
"""
|
|
@@ -1005,6 +1034,27 @@ class AsyncChatsResource(AsyncAPIResource):
|
|
|
1005
1034
|
"""
|
|
1006
1035
|
return AsyncPollsResource(self._client)
|
|
1007
1036
|
|
|
1037
|
+
@cached_property
|
|
1038
|
+
def background(self) -> AsyncBackgroundResource:
|
|
1039
|
+
"""A Chat is a conversation thread with one or more participants.
|
|
1040
|
+
|
|
1041
|
+
To begin a chat, you must create a Chat with at least one recipient handle.
|
|
1042
|
+
Including multiple handles creates a group chat.
|
|
1043
|
+
|
|
1044
|
+
When creating a chat, the `from` field specifies which of your
|
|
1045
|
+
authorized phone numbers the message originates from. Your authentication token grants
|
|
1046
|
+
access to one or more phone numbers, but the `from` field determines the actual sender.
|
|
1047
|
+
|
|
1048
|
+
**Handle Format:**
|
|
1049
|
+
- Handles can be phone numbers or email addresses
|
|
1050
|
+
- Phone numbers MUST be in E.164 format (starting with +)
|
|
1051
|
+
- Phone format: `+[country code][subscriber number]`
|
|
1052
|
+
- Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
|
|
1053
|
+
- Example email: `user@example.com`
|
|
1054
|
+
- No spaces, dashes, or parentheses in phone numbers
|
|
1055
|
+
"""
|
|
1056
|
+
return AsyncBackgroundResource(self._client)
|
|
1057
|
+
|
|
1008
1058
|
@cached_property
|
|
1009
1059
|
def with_raw_response(self) -> AsyncChatsResourceWithRawResponse:
|
|
1010
1060
|
"""
|
|
@@ -1755,6 +1805,27 @@ class ChatsResourceWithRawResponse:
|
|
|
1755
1805
|
"""
|
|
1756
1806
|
return PollsResourceWithRawResponse(self._chats.polls)
|
|
1757
1807
|
|
|
1808
|
+
@cached_property
|
|
1809
|
+
def background(self) -> BackgroundResourceWithRawResponse:
|
|
1810
|
+
"""A Chat is a conversation thread with one or more participants.
|
|
1811
|
+
|
|
1812
|
+
To begin a chat, you must create a Chat with at least one recipient handle.
|
|
1813
|
+
Including multiple handles creates a group chat.
|
|
1814
|
+
|
|
1815
|
+
When creating a chat, the `from` field specifies which of your
|
|
1816
|
+
authorized phone numbers the message originates from. Your authentication token grants
|
|
1817
|
+
access to one or more phone numbers, but the `from` field determines the actual sender.
|
|
1818
|
+
|
|
1819
|
+
**Handle Format:**
|
|
1820
|
+
- Handles can be phone numbers or email addresses
|
|
1821
|
+
- Phone numbers MUST be in E.164 format (starting with +)
|
|
1822
|
+
- Phone format: `+[country code][subscriber number]`
|
|
1823
|
+
- Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
|
|
1824
|
+
- Example email: `user@example.com`
|
|
1825
|
+
- No spaces, dashes, or parentheses in phone numbers
|
|
1826
|
+
"""
|
|
1827
|
+
return BackgroundResourceWithRawResponse(self._chats.background)
|
|
1828
|
+
|
|
1758
1829
|
|
|
1759
1830
|
class AsyncChatsResourceWithRawResponse:
|
|
1760
1831
|
def __init__(self, chats: AsyncChatsResource) -> None:
|
|
@@ -1995,6 +2066,27 @@ class AsyncChatsResourceWithRawResponse:
|
|
|
1995
2066
|
"""
|
|
1996
2067
|
return AsyncPollsResourceWithRawResponse(self._chats.polls)
|
|
1997
2068
|
|
|
2069
|
+
@cached_property
|
|
2070
|
+
def background(self) -> AsyncBackgroundResourceWithRawResponse:
|
|
2071
|
+
"""A Chat is a conversation thread with one or more participants.
|
|
2072
|
+
|
|
2073
|
+
To begin a chat, you must create a Chat with at least one recipient handle.
|
|
2074
|
+
Including multiple handles creates a group chat.
|
|
2075
|
+
|
|
2076
|
+
When creating a chat, the `from` field specifies which of your
|
|
2077
|
+
authorized phone numbers the message originates from. Your authentication token grants
|
|
2078
|
+
access to one or more phone numbers, but the `from` field determines the actual sender.
|
|
2079
|
+
|
|
2080
|
+
**Handle Format:**
|
|
2081
|
+
- Handles can be phone numbers or email addresses
|
|
2082
|
+
- Phone numbers MUST be in E.164 format (starting with +)
|
|
2083
|
+
- Phone format: `+[country code][subscriber number]`
|
|
2084
|
+
- Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
|
|
2085
|
+
- Example email: `user@example.com`
|
|
2086
|
+
- No spaces, dashes, or parentheses in phone numbers
|
|
2087
|
+
"""
|
|
2088
|
+
return AsyncBackgroundResourceWithRawResponse(self._chats.background)
|
|
2089
|
+
|
|
1998
2090
|
|
|
1999
2091
|
class ChatsResourceWithStreamingResponse:
|
|
2000
2092
|
def __init__(self, chats: ChatsResource) -> None:
|
|
@@ -2235,6 +2327,27 @@ class ChatsResourceWithStreamingResponse:
|
|
|
2235
2327
|
"""
|
|
2236
2328
|
return PollsResourceWithStreamingResponse(self._chats.polls)
|
|
2237
2329
|
|
|
2330
|
+
@cached_property
|
|
2331
|
+
def background(self) -> BackgroundResourceWithStreamingResponse:
|
|
2332
|
+
"""A Chat is a conversation thread with one or more participants.
|
|
2333
|
+
|
|
2334
|
+
To begin a chat, you must create a Chat with at least one recipient handle.
|
|
2335
|
+
Including multiple handles creates a group chat.
|
|
2336
|
+
|
|
2337
|
+
When creating a chat, the `from` field specifies which of your
|
|
2338
|
+
authorized phone numbers the message originates from. Your authentication token grants
|
|
2339
|
+
access to one or more phone numbers, but the `from` field determines the actual sender.
|
|
2340
|
+
|
|
2341
|
+
**Handle Format:**
|
|
2342
|
+
- Handles can be phone numbers or email addresses
|
|
2343
|
+
- Phone numbers MUST be in E.164 format (starting with +)
|
|
2344
|
+
- Phone format: `+[country code][subscriber number]`
|
|
2345
|
+
- Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
|
|
2346
|
+
- Example email: `user@example.com`
|
|
2347
|
+
- No spaces, dashes, or parentheses in phone numbers
|
|
2348
|
+
"""
|
|
2349
|
+
return BackgroundResourceWithStreamingResponse(self._chats.background)
|
|
2350
|
+
|
|
2238
2351
|
|
|
2239
2352
|
class AsyncChatsResourceWithStreamingResponse:
|
|
2240
2353
|
def __init__(self, chats: AsyncChatsResource) -> None:
|
|
@@ -2474,3 +2587,24 @@ class AsyncChatsResourceWithStreamingResponse:
|
|
|
2474
2587
|
**Important:** ephemeral applies in *both directions* — messages you send **and** messages received by the phone numbers in that scope. Because Linq can no longer return the message after 24 hours, persist anything you need to keep from the webhook payload at the time it is delivered.
|
|
2475
2588
|
"""
|
|
2476
2589
|
return AsyncPollsResourceWithStreamingResponse(self._chats.polls)
|
|
2590
|
+
|
|
2591
|
+
@cached_property
|
|
2592
|
+
def background(self) -> AsyncBackgroundResourceWithStreamingResponse:
|
|
2593
|
+
"""A Chat is a conversation thread with one or more participants.
|
|
2594
|
+
|
|
2595
|
+
To begin a chat, you must create a Chat with at least one recipient handle.
|
|
2596
|
+
Including multiple handles creates a group chat.
|
|
2597
|
+
|
|
2598
|
+
When creating a chat, the `from` field specifies which of your
|
|
2599
|
+
authorized phone numbers the message originates from. Your authentication token grants
|
|
2600
|
+
access to one or more phone numbers, but the `from` field determines the actual sender.
|
|
2601
|
+
|
|
2602
|
+
**Handle Format:**
|
|
2603
|
+
- Handles can be phone numbers or email addresses
|
|
2604
|
+
- Phone numbers MUST be in E.164 format (starting with +)
|
|
2605
|
+
- Phone format: `+[country code][subscriber number]`
|
|
2606
|
+
- Example phone: `+12223334444` (US), `+442071234567` (UK), `+81312345678` (Japan)
|
|
2607
|
+
- Example email: `user@example.com`
|
|
2608
|
+
- No spaces, dashes, or parentheses in phone numbers
|
|
2609
|
+
"""
|
|
2610
|
+
return AsyncBackgroundResourceWithStreamingResponse(self._chats.background)
|