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

class sinch.domains.conversation.models.v1.sinch_events.delivery.MessageDeliveryReceiptEvent(
*,
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_delivery_report: MessageDeliveryReport,
**extra_data: Any,
)[source]

Bases: ConversationSinchEventBase

Sinch Event for MESSAGE_DELIVERY (delivery receipt for app messages).

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_delivery_report (MessageDeliveryReport)

  • extra_data (Any)

message_delivery_report: MessageDeliveryReport
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.delivery.MessageDeliveryReport(
*,
message_id: Annotated[str, Strict(strict=True)] | None = None,
conversation_id: Annotated[str, Strict(strict=True)] | None = None,
status: Literal['QUEUED_ON_CHANNEL', 'DELIVERED', 'READ', 'FAILED', 'SWITCHING_CHANNEL'] | Annotated[str, Strict(strict=True)] | None = None,
channel_identity: ChannelIdentity | None = None,
contact_id: Annotated[str, Strict(strict=True)] | None = None,
metadata: Annotated[str, Strict(strict=True)] | None = None,
processing_mode: Literal['CONVERSATION', 'DISPATCH'] | Annotated[str, Strict(strict=True)] | None = None,
reason: Reason | None = None,
**extra_data: Any,
)[source]

Bases: SinchEvent

Delivery report for an app message (MESSAGE_DELIVERY trigger).

Parameters:
  • message_id (Annotated[str, Strict(strict=True)] | None)

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

  • status (Literal['QUEUED_ON_CHANNEL', 'DELIVERED', 'READ', 'FAILED', 'SWITCHING_CHANNEL'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • channel_identity (ChannelIdentity | None)

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

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

  • processing_mode (Literal['CONVERSATION', 'DISPATCH'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • reason (Reason | None)

  • extra_data (Any)

message_id: Annotated[str, Strict(strict=True)] | None
conversation_id: Annotated[str, Strict(strict=True)] | None
status: Literal['QUEUED_ON_CHANNEL', 'DELIVERED', 'READ', 'FAILED', 'SWITCHING_CHANNEL'] | Annotated[str, Strict(strict=True)] | None
channel_identity: ChannelIdentity | None
contact_id: Annotated[str, Strict(strict=True)] | None
metadata: Annotated[str, Strict(strict=True)] | None
processing_mode: Literal['CONVERSATION', 'DISPATCH'] | Annotated[str, Strict(strict=True)] | None
reason: Reason | 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.delivery.EventDeliveryReceiptEvent(
*,
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,
event_delivery_report: EventDeliveryReport,
**extra_data: Any,
)[source]

Bases: ConversationSinchEventBase

Sinch Event for EVENT_DELIVERY (delivery receipt for app events).

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)

  • event_delivery_report (EventDeliveryReport)

  • extra_data (Any)

event_delivery_report: EventDeliveryReport
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.delivery.EventDeliveryReport(
*,
event_id: Annotated[str, Strict(strict=True)] | None = None,
status: Literal['QUEUED_ON_CHANNEL', 'DELIVERED', 'READ', 'FAILED', 'SWITCHING_CHANNEL'] | Annotated[str, Strict(strict=True)] | None = None,
channel_identity: ChannelIdentity | None = None,
contact_id: Annotated[str, Strict(strict=True)] | None = None,
reason: Reason | None = None,
metadata: Annotated[str, Strict(strict=True)] | None = None,
processing_mode: Literal['CONVERSATION', 'DISPATCH'] | Annotated[str, Strict(strict=True)] | None = None,
**extra_data: Any,
)[source]

Bases: SinchEvent

Delivery report for an app event (EVENT_DELIVERY trigger).

Parameters:
  • event_id (Annotated[str, Strict(strict=True)] | None)

  • status (Literal['QUEUED_ON_CHANNEL', 'DELIVERED', 'READ', 'FAILED', 'SWITCHING_CHANNEL'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • channel_identity (ChannelIdentity | None)

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

  • reason (Reason | None)

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

  • processing_mode (Literal['CONVERSATION', 'DISPATCH'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • extra_data (Any)

event_id: Annotated[str, Strict(strict=True)] | None
status: Literal['QUEUED_ON_CHANNEL', 'DELIVERED', 'READ', 'FAILED', 'SWITCHING_CHANNEL'] | Annotated[str, Strict(strict=True)] | None
channel_identity: ChannelIdentity | None
contact_id: Annotated[str, Strict(strict=True)] | None
reason: Reason | 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