sinch.domains.conversation.models.v1.messages.shared package
- sinch.domains.conversation.models.v1.messages.shared.address_info module
- sinch.domains.conversation.models.v1.messages.shared.agent module
- sinch.domains.conversation.models.v1.messages.shared.app_message_common_props module
- sinch.domains.conversation.models.v1.messages.shared.channel_identity module
- sinch.domains.conversation.models.v1.messages.shared.choice_item module
- sinch.domains.conversation.models.v1.messages.shared.contact_message_common_props module
- sinch.domains.conversation.models.v1.messages.shared.coordinates module
- sinch.domains.conversation.models.v1.messages.shared.email_info module
- sinch.domains.conversation.models.v1.messages.shared.list_section module
- sinch.domains.conversation.models.v1.messages.shared.message_common_props module
- sinch.domains.conversation.models.v1.messages.shared.name_info module
- sinch.domains.conversation.models.v1.messages.shared.organization_info module
- sinch.domains.conversation.models.v1.messages.shared.phone_number_info module
- sinch.domains.conversation.models.v1.messages.shared.product_item module
- sinch.domains.conversation.models.v1.messages.shared.reason module
- sinch.domains.conversation.models.v1.messages.shared.url_info module
- class sinch.domains.conversation.models.v1.messages.shared.AddressInfo(
- *,
- city: Annotated[str, Strict(strict=True)] | None = None,
- country: Annotated[str, Strict(strict=True)] | None = None,
- state: Annotated[str, Strict(strict=True)] | None = None,
- zip: Annotated[str, Strict(strict=True)] | None = None,
- type: Annotated[str, Strict(strict=True)] | None = None,
- country_code: Annotated[str, Strict(strict=True)] | None = None,
- **extra_data: Any,
Bases:
SnakeCaseExtrasModel- Parameters:
city (Annotated[str, Strict(strict=True)] | None)
country (Annotated[str, Strict(strict=True)] | None)
state (Annotated[str, Strict(strict=True)] | None)
zip (Annotated[str, Strict(strict=True)] | None)
type (Annotated[str, Strict(strict=True)] | None)
country_code (Annotated[str, Strict(strict=True)] | None)
extra_data (Any)
- city: Annotated[str, Strict(strict=True)] | None
- country: Annotated[str, Strict(strict=True)] | None
- state: Annotated[str, Strict(strict=True)] | None
- zip: Annotated[str, Strict(strict=True)] | None
- type: Annotated[str, Strict(strict=True)] | None
- country_code: Annotated[str, Strict(strict=True)] | None
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class sinch.domains.conversation.models.v1.messages.shared.Agent(
- *,
- display_name: Annotated[str, Strict(strict=True)] | None = None,
- type: Literal['UNKNOWN_AGENT_TYPE', 'HUMAN', 'BOT'] | Annotated[str, Strict(strict=True)] | None = None,
- picture_url: Annotated[str, Strict(strict=True)] | None = None,
- **extra_data: Any,
Bases:
SnakeCaseExtrasModel- Parameters:
display_name (Annotated[str, Strict(strict=True)] | None)
type (Literal['UNKNOWN_AGENT_TYPE', 'HUMAN', 'BOT'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)
picture_url (Annotated[str, Strict(strict=True)] | None)
extra_data (Any)
- display_name: Annotated[str, Strict(strict=True)] | None
- type: Literal['UNKNOWN_AGENT_TYPE', 'HUMAN', 'BOT'] | Annotated[str, Strict(strict=True)] | None
- picture_url: Annotated[str, Strict(strict=True)] | None
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class sinch.domains.conversation.models.v1.messages.shared.ChannelIdentity(
- *,
- app_id: Annotated[str, Strict(strict=True)] | None = None,
- channel: Literal['WHATSAPP', 'RCS', 'SMS', 'MESSENGER', 'VIBERBM', 'MMS', 'INSTAGRAM', 'TELEGRAM', 'KAKAOTALK', 'KAKAOTALKCHAT', 'LINE', 'WECHAT', 'APPLEBC'] | Annotated[str, Strict(strict=True)],
- identity: Annotated[str, Strict(strict=True)],
- **extra_data: Any,
Bases:
SnakeCaseExtrasModel- Parameters:
app_id (Annotated[str, Strict(strict=True)] | None)
channel (Literal['WHATSAPP', 'RCS', 'SMS', 'MESSENGER', 'VIBERBM', 'MMS', 'INSTAGRAM', 'TELEGRAM', 'KAKAOTALK', 'KAKAOTALKCHAT', 'LINE', 'WECHAT', 'APPLEBC'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)])
identity (Annotated[str, Strict(strict=True)])
extra_data (Any)
- app_id: Annotated[str, Strict(strict=True)] | None
- channel: Literal['WHATSAPP', 'RCS', 'SMS', 'MESSENGER', 'VIBERBM', 'MMS', 'INSTAGRAM', 'TELEGRAM', 'KAKAOTALK', 'KAKAOTALKCHAT', 'LINE', 'WECHAT', 'APPLEBC'] | Annotated[str, Strict(strict=True)]
- identity: Annotated[str, Strict(strict=True)]
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class sinch.domains.conversation.models.v1.messages.shared.ChoiceItem(
- *,
- title: Annotated[str, Strict(strict=True)],
- description: Annotated[str, Strict(strict=True)] | None = None,
- media: MediaProperties | None = None,
- postback_data: Annotated[str, Strict(strict=True)] | None = None,
- **extra_data: Any,
Bases:
SnakeCaseExtrasModel- Parameters:
title (Annotated[str, Strict(strict=True)])
description (Annotated[str, Strict(strict=True)] | None)
media (MediaProperties | None)
postback_data (Annotated[str, Strict(strict=True)] | None)
extra_data (Any)
- title: Annotated[str, Strict(strict=True)]
- description: Annotated[str, Strict(strict=True)] | None
- media: MediaProperties | None
- postback_data: Annotated[str, Strict(strict=True)] | None
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class sinch.domains.conversation.models.v1.messages.shared.ContactMessageCommonProps(
- *,
- reply_to: ReplyTo | None = None,
- **extra_data: Any,
Bases:
SnakeCaseExtrasModel- Parameters:
reply_to (ReplyTo | None)
extra_data (Any)
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class sinch.domains.conversation.models.v1.messages.shared.MessageCommonProps(
- *,
- accept_time: datetime | None = None,
- channel_identity: ChannelIdentity | None = None,
- contact_id: Annotated[str, Strict(strict=True)] | None = None,
- conversation_id: Annotated[str, Strict(strict=True)] | None = None,
- direction: Literal['TO_APP', 'TO_CONTACT'] | Annotated[str, Strict(strict=True)] | None = None,
- id: Annotated[str, Strict(strict=True)] | None = None,
- metadata: Annotated[str, Strict(strict=True)] | None = None,
- injected: Annotated[bool, Strict(strict=True)] | None = None,
- sender_id: Annotated[str, Strict(strict=True)] | None = None,
- processing_mode: Literal['CONVERSATION', 'DISPATCH'] | Annotated[str, Strict(strict=True)] | None = None,
- **extra_data: Any,
Bases:
SnakeCaseExtrasModel- Parameters:
accept_time (datetime | None)
channel_identity (ChannelIdentity | None)
contact_id (Annotated[str, Strict(strict=True)] | None)
conversation_id (Annotated[str, Strict(strict=True)] | None)
direction (Literal['TO_APP', 'TO_CONTACT'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)
id (Annotated[str, Strict(strict=True)] | None)
metadata (Annotated[str, Strict(strict=True)] | None)
injected (Annotated[bool, Strict(strict=True)] | None)
sender_id (Annotated[str, Strict(strict=True)] | None)
processing_mode (Literal['CONVERSATION', 'DISPATCH'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)
extra_data (Any)
- accept_time: datetime | None
- channel_identity: ChannelIdentity | None
- contact_id: Annotated[str, Strict(strict=True)] | None
- conversation_id: Annotated[str, Strict(strict=True)] | None
- direction: Literal['TO_APP', 'TO_CONTACT'] | Annotated[str, Strict(strict=True)] | None
- id: Annotated[str, Strict(strict=True)] | None
- metadata: Annotated[str, Strict(strict=True)] | None
- injected: Annotated[bool, Strict(strict=True)] | None
- sender_id: Annotated[str, Strict(strict=True)] | None
- processing_mode: Literal['CONVERSATION', 'DISPATCH'] | Annotated[str, Strict(strict=True)] | None
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class sinch.domains.conversation.models.v1.messages.shared.Coordinates(
- *,
- latitude: Annotated[float, Strict(strict=True)] | Annotated[int, Strict(strict=True)],
- longitude: Annotated[float, Strict(strict=True)] | Annotated[int, Strict(strict=True)],
- **extra_data: Any,
Bases:
SnakeCaseExtrasModel- Parameters:
latitude (Annotated[float, Strict(strict=True)] | Annotated[int, Strict(strict=True)])
longitude (Annotated[float, Strict(strict=True)] | Annotated[int, Strict(strict=True)])
extra_data (Any)
- latitude: Annotated[float, Strict(strict=True)] | Annotated[int, Strict(strict=True)]
- longitude: Annotated[float, Strict(strict=True)] | Annotated[int, Strict(strict=True)]
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class sinch.domains.conversation.models.v1.messages.shared.ProductItem(
- *,
- id: Annotated[str, Strict(strict=True)],
- marketplace: Annotated[str, Strict(strict=True)],
- quantity: Annotated[int, Strict(strict=True)] | None = None,
- item_price: Annotated[float, Strict(strict=True)] | Annotated[int, Strict(strict=True)] | None = None,
- currency: Annotated[str, Strict(strict=True)] | None = None,
- **extra_data: Any,
Bases:
SnakeCaseExtrasModel- Parameters:
id (Annotated[str, Strict(strict=True)])
marketplace (Annotated[str, Strict(strict=True)])
quantity (Annotated[int, Strict(strict=True)] | None)
item_price (Annotated[float, Strict(strict=True)] | Annotated[int, Strict(strict=True)] | None)
currency (Annotated[str, Strict(strict=True)] | None)
extra_data (Any)
- id: Annotated[str, Strict(strict=True)]
- marketplace: Annotated[str, Strict(strict=True)]
- quantity: Annotated[int, Strict(strict=True)] | None
- item_price: Annotated[float, Strict(strict=True)] | Annotated[int, Strict(strict=True)] | None
- currency: Annotated[str, Strict(strict=True)] | None
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class sinch.domains.conversation.models.v1.messages.shared.Reason(
- *,
- code: Literal['UNKNOWN', 'INTERNAL_ERROR', 'RATE_LIMITED', 'RECIPIENT_INVALID_CHANNEL_IDENTITY', 'RECIPIENT_NOT_REACHABLE', 'RECIPIENT_NOT_OPTED_IN', 'OUTSIDE_ALLOWED_SENDING_WINDOW', 'CHANNEL_FAILURE', 'CHANNEL_BAD_CONFIGURATION', 'CHANNEL_CONFIGURATION_MISSING', 'MEDIA_TYPE_UNSUPPORTED', 'MEDIA_TOO_LARGE', 'MEDIA_NOT_REACHABLE', 'NO_CHANNELS_LEFT', 'TEMPLATE_NOT_FOUND', 'TEMPLATE_INSUFFICIENT_PARAMETERS', 'TEMPLATE_NON_EXISTING_LANGUAGE_OR_VERSION', 'DELIVERY_TIMED_OUT', 'DELIVERY_REJECTED_DUE_TO_POLICY', 'CONTACT_NOT_FOUND', 'BAD_REQUEST', 'UNKNOWN_APP', 'NO_CHANNEL_IDENTITY_FOR_CONTACT', 'CHANNEL_REJECT', 'NO_PERMISSION', 'NO_PROFILE_AVAILABLE', 'UNSUPPORTED_OPERATION'] | Annotated[str, Strict(strict=True)] | None = None,
- description: Annotated[str, Strict(strict=True)] | None = None,
- sub_code: Literal['UNSPECIFIED_SUB_CODE', 'ATTACHMENT_REJECTED', 'MEDIA_TYPE_UNDETERMINED', 'INACTIVE_SENDER'] | Annotated[str, Strict(strict=True)] | None = None,
- channel_code: Annotated[str, Strict(strict=True)] | None = None,
- **extra_data: Any,
Bases:
SnakeCaseExtrasModel- Parameters:
code (Literal['UNKNOWN', 'INTERNAL_ERROR', 'RATE_LIMITED', 'RECIPIENT_INVALID_CHANNEL_IDENTITY', 'RECIPIENT_NOT_REACHABLE', 'RECIPIENT_NOT_OPTED_IN', 'OUTSIDE_ALLOWED_SENDING_WINDOW', 'CHANNEL_FAILURE', 'CHANNEL_BAD_CONFIGURATION', 'CHANNEL_CONFIGURATION_MISSING', 'MEDIA_TYPE_UNSUPPORTED', 'MEDIA_TOO_LARGE', 'MEDIA_NOT_REACHABLE', 'NO_CHANNELS_LEFT', 'TEMPLATE_NOT_FOUND', 'TEMPLATE_INSUFFICIENT_PARAMETERS', 'TEMPLATE_NON_EXISTING_LANGUAGE_OR_VERSION', 'DELIVERY_TIMED_OUT', 'DELIVERY_REJECTED_DUE_TO_POLICY', 'CONTACT_NOT_FOUND', 'BAD_REQUEST', 'UNKNOWN_APP', 'NO_CHANNEL_IDENTITY_FOR_CONTACT', 'CHANNEL_REJECT', 'NO_PERMISSION', 'NO_PROFILE_AVAILABLE', 'UNSUPPORTED_OPERATION'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)
description (Annotated[str, Strict(strict=True)] | None)
sub_code (Literal['UNSPECIFIED_SUB_CODE', 'ATTACHMENT_REJECTED', 'MEDIA_TYPE_UNDETERMINED', 'INACTIVE_SENDER'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)
channel_code (Annotated[str, Strict(strict=True)] | None)
extra_data (Any)
- code: Literal['UNKNOWN', 'INTERNAL_ERROR', 'RATE_LIMITED', 'RECIPIENT_INVALID_CHANNEL_IDENTITY', 'RECIPIENT_NOT_REACHABLE', 'RECIPIENT_NOT_OPTED_IN', 'OUTSIDE_ALLOWED_SENDING_WINDOW', 'CHANNEL_FAILURE', 'CHANNEL_BAD_CONFIGURATION', 'CHANNEL_CONFIGURATION_MISSING', 'MEDIA_TYPE_UNSUPPORTED', 'MEDIA_TOO_LARGE', 'MEDIA_NOT_REACHABLE', 'NO_CHANNELS_LEFT', 'TEMPLATE_NOT_FOUND', 'TEMPLATE_INSUFFICIENT_PARAMETERS', 'TEMPLATE_NON_EXISTING_LANGUAGE_OR_VERSION', 'DELIVERY_TIMED_OUT', 'DELIVERY_REJECTED_DUE_TO_POLICY', 'CONTACT_NOT_FOUND', 'BAD_REQUEST', 'UNKNOWN_APP', 'NO_CHANNEL_IDENTITY_FOR_CONTACT', 'CHANNEL_REJECT', 'NO_PERMISSION', 'NO_PROFILE_AVAILABLE', 'UNSUPPORTED_OPERATION'] | Annotated[str, Strict(strict=True)] | None
- description: Annotated[str, Strict(strict=True)] | None
- sub_code: Literal['UNSPECIFIED_SUB_CODE', 'ATTACHMENT_REJECTED', 'MEDIA_TYPE_UNDETERMINED', 'INACTIVE_SENDER'] | Annotated[str, Strict(strict=True)] | None
- channel_code: Annotated[str, Strict(strict=True)] | None
- model_config = {'extra': 'allow', 'populate_by_name': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].