sinch.domains.conversation.models.v1.sinch_events.message package

class sinch.domains.conversation.models.v1.sinch_events.message.MessageInboundEvent(
*,
app_id: Annotated[str, Strict(strict=True)],
project_id: Annotated[str, Strict(strict=True)],
accepted_time: datetime | None = None,
event_time: datetime | None = None,
message_metadata: Annotated[str, Strict(strict=True)] | None = None,
correlation_id: Annotated[str, Strict(strict=True)] | None = None,
message: InboundMessage,
**extra_data: Any,
)[source]

Bases: ConversationSinchEventBase

Sinch Event for MESSAGE_INBOUND (inbound message from user).

Parameters:
  • app_id (Annotated[str, Strict(strict=True)])

  • project_id (Annotated[str, Strict(strict=True)])

  • accepted_time (datetime | None)

  • event_time (datetime | None)

  • message_metadata (Annotated[str, Strict(strict=True)] | None)

  • correlation_id (Annotated[str, Strict(strict=True)] | None)

  • message (InboundMessage)

  • extra_data (Any)

message: InboundMessage
model_config = {'extra': 'allow', 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_SnakifyExtrasOnInit__context: Any) → None

Marks applied non-None defaults as set.

Parameters:

_SnakifyExtrasOnInit__context (Any)

Return type:

None

class sinch.domains.conversation.models.v1.sinch_events.message.MessageSubmitEvent(
*,
app_id: Annotated[str, Strict(strict=True)],
project_id: Annotated[str, Strict(strict=True)],
accepted_time: datetime | None = None,
event_time: datetime | None = None,
message_metadata: Annotated[str, Strict(strict=True)] | None = None,
correlation_id: Annotated[str, Strict(strict=True)] | None = None,
message_submit_notification: MessageSubmitNotification,
**extra_data: Any,
)[source]

Bases: ConversationSinchEventBase

Sinch Event for MESSAGE_SUBMIT (message submission notification).

Parameters:
  • app_id (Annotated[str, Strict(strict=True)])

  • project_id (Annotated[str, Strict(strict=True)])

  • accepted_time (datetime | None)

  • event_time (datetime | None)

  • message_metadata (Annotated[str, Strict(strict=True)] | None)

  • correlation_id (Annotated[str, Strict(strict=True)] | None)

  • message_submit_notification (MessageSubmitNotification)

  • extra_data (Any)

message_submit_notification: MessageSubmitNotification
model_config = {'extra': 'allow', 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_SnakifyExtrasOnInit__context: Any) → None

Marks applied non-None defaults as set.

Parameters:

_SnakifyExtrasOnInit__context (Any)

Return type:

None

class sinch.domains.conversation.models.v1.sinch_events.message.MessageSubmitNotification(
*,
message_id: Annotated[str,
~pydantic.types.Strict(strict=True)] | None = None,
conversation_id: Annotated[str,
~pydantic.types.Strict(strict=True)] | None = None,
channel_identity: ChannelIdentity | None = None,
contact_id: Annotated[str,
~pydantic.types.Strict(strict=True)] | None = None,
submitted_message: TextAppMessage,
<sinch.core.models.internal.unions.ResolveUnion object at 0x7ff1ca469190>] | None=None,
metadata: Annotated[str,
~pydantic.types.Strict(strict=True)] | None = None,
processing_mode: Literal['CONVERSATION',
'DISPATCH'] | ~typing.Annotated[str,
~pydantic.types.Strict(strict=True)] | None = None,
**extra_data: Any,
)[source]

Bases: SinchEvent

Notification that an app message was submitted (MESSAGE_SUBMIT trigger).

Parameters:
message_id: Annotated[str, Strict(strict=True)] | None
conversation_id: Annotated[str, Strict(strict=True)] | None
channel_identity: ChannelIdentity | None
contact_id: Annotated[str, Strict(strict=True)] | None
submitted_message: ResolveUnion object at 0x7ff1ca469190>] | None
metadata: 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}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(
_SnakifyExtrasOnInit__context: Any,
) → None

Marks applied non-None defaults as set.

Parameters:

_SnakifyExtrasOnInit__context (Any)

Return type:

None

class sinch.domains.conversation.models.v1.sinch_events.message.InboundMessage(
*,
accept_time: datetime | None = None,
channel_identity: ChannelIdentity | None = None,
contact_id: Annotated[str,
~pydantic.types.Strict(strict=True)] | None = None,
conversation_id: Annotated[str,
~pydantic.types.Strict(strict=True)] | None = None,
direction: Literal['TO_APP',
'TO_CONTACT'] | ~typing.Annotated[str,
~pydantic.types.Strict(strict=True)] | None = None,
id: Annotated[str,
~pydantic.types.Strict(strict=True)] | None = None,
metadata: Annotated[str,
~pydantic.types.Strict(strict=True)] | None = None,
injected: Annotated[bool,
~pydantic.types.Strict(strict=True)] | None = None,
sender_id: Annotated[str,
~pydantic.types.Strict(strict=True)] | None = None,
processing_mode: Literal['CONVERSATION',
'DISPATCH'] | ~typing.Annotated[str,
~pydantic.types.Strict(strict=True)] | None = None,
contact_message: TextContactMessage,
<sinch.core.models.internal.unions.ResolveUnion object at 0x7ff1ca2a0fd0>] | None=None,
**extra_data: Any,
)[source]

Bases: MessageCommonProps, SinchEvent

Inbound message container (contact message + channel/contact info).

Parameters:
contact_message: ResolveUnion object at 0x7ff1ca2a0fd0>] | None
model_config = {'extra': 'allow', 'populate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(_SnakifyExtrasOnInit__context: Any) → None

Marks applied non-None defaults as set.

Parameters:

_SnakifyExtrasOnInit__context (Any)

Return type:

None