sinch.domains.sms.models.v1.response package

class sinch.domains.sms.models.v1.response.BatchDeliveryReport(
*,
batch_id: Annotated[str, Strict(strict=True)],
client_reference: Annotated[str, Strict(strict=True)] | None = None,
statuses: Annotated[list[MessageDeliveryStatus], Len(min_length=0, max_length=None)],
total_message_count: Annotated[int, Strict(strict=True)],
type: Annotated[str, Strict(strict=True)],
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

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

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

  • statuses (Annotated[list[MessageDeliveryStatus], Len(min_length=0, max_length=None)])

  • total_message_count (Annotated[int, Strict(strict=True)])

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

  • extra_data (Any)

batch_id: Annotated[str, Strict(strict=True)]
client_reference: Annotated[str, Strict(strict=True)] | None
statuses: Annotated[list[MessageDeliveryStatus], Len(min_length=0, max_length=None)]
total_message_count: Annotated[int, Strict(strict=True)]
type: 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.sms.models.v1.response.DryRunResponse(
*,
number_of_recipients: Annotated[int, Strict(strict=True)],
number_of_messages: Annotated[int, Strict(strict=True)],
per_recipient: Annotated[list[DryRunPerRecipientDetails], Len(min_length=0, max_length=None)] | None = None,
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

Parameters:
  • number_of_recipients (Annotated[int, Strict(strict=True)])

  • number_of_messages (Annotated[int, Strict(strict=True)])

  • per_recipient (Annotated[list[DryRunPerRecipientDetails], Len(min_length=0, max_length=None)] | None)

  • extra_data (Any)

number_of_recipients: Annotated[int, Strict(strict=True)]
number_of_messages: Annotated[int, Strict(strict=True)]
per_recipient: Annotated[list[DryRunPerRecipientDetails], Len(min_length=0, max_length=None)] | 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.sms.models.v1.response.GroupResponse(
*,
id: Annotated[str, Strict(strict=True)] | None = None,
name: Annotated[str, Strict(strict=True)] | None = None,
size: Annotated[int, Strict(strict=True)] | None = None,
created_at: datetime | None = None,
modified_at: datetime | None = None,
child_groups: Annotated[list[Annotated[str, Strict(strict=True)]], Len(min_length=0, max_length=None)] | None = None,
auto_update: AutoUpdate | None = None,
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

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

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

  • size (Annotated[int, Strict(strict=True)] | None)

  • created_at (datetime | None)

  • modified_at (datetime | None)

  • child_groups (Annotated[list[Annotated[str, Strict(strict=True)]], Len(min_length=0, max_length=None)] | None)

  • auto_update (AutoUpdate | None)

  • extra_data (Any)

id: Annotated[str, Strict(strict=True)] | None
name: Annotated[str, Strict(strict=True)] | None
size: Annotated[int, Strict(strict=True)] | None
created_at: datetime | None
modified_at: datetime | None
child_groups: Annotated[list[Annotated[str, Strict(strict=True)]], Len(min_length=0, max_length=None)] | None
auto_update: AutoUpdate | 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.sms.models.v1.response.ListBatchesResponse(
*,
count: Annotated[int, Strict(strict=True)] | None = None,
page: Annotated[int, Strict(strict=True)] | None = None,
batches: Annotated[list[Annotated[TextResponse | BinaryResponse | MediaResponse, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], Len(min_length=0, max_length=None)] | None = None,
page_size: Annotated[int, Strict(strict=True)] | None = None,
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

Parameters:
  • count (Annotated[int, Strict(strict=True)] | None)

  • page (Annotated[int, Strict(strict=True)] | None)

  • batches (Annotated[list[Annotated[TextResponse | BinaryResponse | MediaResponse, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], Len(min_length=0, max_length=None)] | None)

  • page_size (Annotated[int, Strict(strict=True)] | None)

  • extra_data (Any)

count: Annotated[int, Strict(strict=True)] | None
page: Annotated[int, Strict(strict=True)] | None
batches: Annotated[list[Annotated[TextResponse | BinaryResponse | MediaResponse, FieldInfo(annotation=NoneType, required=True, discriminator='type')]], Len(min_length=0, max_length=None)] | None
page_size: Annotated[int, Strict(strict=True)] | None
property content

Returns the content of batches list.

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.sms.models.v1.response.ListGroupMembersResponse(
*,
members: Annotated[list[Annotated[str, Strict(strict=True)]], Len(min_length=0, max_length=None)],
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

Parameters:
  • members (Annotated[list[Annotated[str, Strict(strict=True)]], Len(min_length=0, max_length=None)])

  • extra_data (Any)

members: Annotated[list[Annotated[str, Strict(strict=True)]], Len(min_length=0, max_length=None)]
property content: List[str]
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.sms.models.v1.response.ListGroupsResponse(
*,
count: Annotated[int, Strict(strict=True)] | None = None,
page: Annotated[int, Strict(strict=True)] | None = None,
page_size: Annotated[int, Strict(strict=True)] | None = None,
groups: Annotated[list[GroupResponse], Len(min_length=0, max_length=None)] | None = None,
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

Parameters:
  • count (Annotated[int, Strict(strict=True)] | None)

  • page (Annotated[int, Strict(strict=True)] | None)

  • page_size (Annotated[int, Strict(strict=True)] | None)

  • groups (Annotated[list[GroupResponse], Len(min_length=0, max_length=None)] | None)

  • extra_data (Any)

count: Annotated[int, Strict(strict=True)] | None
page: Annotated[int, Strict(strict=True)] | None
page_size: Annotated[int, Strict(strict=True)] | None
groups: Annotated[list[GroupResponse], Len(min_length=0, max_length=None)] | None
property content

Returns the content of the group list.

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.sms.models.v1.response.RecipientDeliveryReport(
*,
applied_originator: Annotated[str, Strict(strict=True)] | None = None,
at: datetime,
batch_id: Annotated[str, Strict(strict=True)],
client_reference: Annotated[str, Strict(strict=True)] | None = None,
code: Literal[400, 401, 402, 403, 404, 405, 406, 407, 408, 410, 411, 412, 413, 414, 415, 416, 417, 418] | Annotated[int, Strict(strict=True)],
encoding: Literal['GSM', 'UNICODE'] | Annotated[str, Strict(strict=True)] | None = None,
number_of_message_parts: Annotated[int, Strict(strict=True)] | None = None,
operator: Annotated[str, Strict(strict=True)] | None = None,
operator_status_at: datetime | None = None,
recipient: Annotated[str, Strict(strict=True)],
status: Literal['QUEUED', 'DISPATCHED', 'ABORTED', 'CANCELLED', 'FAILED', 'DELIVERED', 'EXPIRED', 'REJECTED', 'DELETED', 'UNKNOWN'] | Annotated[str, Strict(strict=True)],
type: Literal['recipient_delivery_report_sms', 'recipient_delivery_report_mms'] | Annotated[str, Strict(strict=True)],
**extra_data: Any,
)[source]

Bases: SnakeCaseExtrasModel

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

  • at (datetime)

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

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

  • code (Literal[400, 401, 402, 403, 404, 405, 406, 407, 408, 410, 411, 412, 413, 414, 415, 416, 417, 418] | ~typing.Annotated[int, ~pydantic.types.Strict(strict=True)])

  • encoding (Literal['GSM', 'UNICODE'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)] | None)

  • number_of_message_parts (Annotated[int, Strict(strict=True)] | None)

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

  • operator_status_at (datetime | None)

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

  • status (Literal['QUEUED', 'DISPATCHED', 'ABORTED', 'CANCELLED', 'FAILED', 'DELIVERED', 'EXPIRED', 'REJECTED', 'DELETED', 'UNKNOWN'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)])

  • type (Literal['recipient_delivery_report_sms', 'recipient_delivery_report_mms'] | ~typing.Annotated[str, ~pydantic.types.Strict(strict=True)])

  • extra_data (Any)

applied_originator: Annotated[str, Strict(strict=True)] | None
at: datetime
batch_id: Annotated[str, Strict(strict=True)]
client_reference: Annotated[str, Strict(strict=True)] | None
code: Literal[400, 401, 402, 403, 404, 405, 406, 407, 408, 410, 411, 412, 413, 414, 415, 416, 417, 418] | Annotated[int, Strict(strict=True)]
encoding: Literal['GSM', 'UNICODE'] | Annotated[str, Strict(strict=True)] | None
number_of_message_parts: Annotated[int, Strict(strict=True)] | None
operator: Annotated[str, Strict(strict=True)] | None
operator_status_at: datetime | None
recipient: Annotated[str, Strict(strict=True)]
status: Literal['QUEUED', 'DISPATCHED', 'ABORTED', 'CANCELLED', 'FAILED', 'DELIVERED', 'EXPIRED', 'REJECTED', 'DELETED', 'UNKNOWN'] | Annotated[str, Strict(strict=True)]
type: Literal['recipient_delivery_report_sms', 'recipient_delivery_report_mms'] | Annotated[str, Strict(strict=True)]
classmethod normalize_timestamp(
value: str | datetime | None,
) str | datetime | None[source]
Parameters:

value (str | datetime | None)

Return type:

str | datetime | 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].