Skip to content

PlivoClient

Classes

MakeCallResponse dataclass

MakeCallResponse(*, api_id: Optional[str] = None, message: Optional[str] = None, request_uuid: Optional[str] = None)

Response for Make a call

Attributes

api_id class-attribute instance-attribute
api_id: Optional[str] = dataclass_field(default=None, kw_only=True)

Unique ID of the API request.

message class-attribute instance-attribute
message: Optional[str] = dataclass_field(default=None, kw_only=True)

Response obtained when the call was made.

request_uuid class-attribute instance-attribute
request_uuid: Optional[str] = dataclass_field(default=None, kw_only=True)

Unique ID of the call.

ListMessagesResponse dataclass

ListMessagesResponse(*, api_id: Optional[str] = None, meta: Optional[Dict[str, Any]] = None, objects: Optional[List[Dict[str, Any]]] = None)

Response for List all messages

Attributes

api_id class-attribute instance-attribute
api_id: Optional[str] = dataclass_field(default=None, kw_only=True)

Unique ID of the API request.

meta class-attribute instance-attribute
meta: Optional[Dict[str, Any]] = dataclass_field(default=None, kw_only=True)

Meta information about the response.

objects class-attribute instance-attribute
objects: Optional[List[Dict[str, Any]]] = dataclass_field(default=None, kw_only=True)

Details of all messages.

SendSMSResponse dataclass

SendSMSResponse(*, api_id: Optional[str] = None, message: Optional[str] = None, message_uuid: Optional[List[str]] = None)

Response for Send SMS

Attributes

api_id class-attribute instance-attribute
api_id: Optional[str] = dataclass_field(default=None, kw_only=True)

Unique ID of the API request.

message class-attribute instance-attribute
message: Optional[str] = dataclass_field(default=None, kw_only=True)

Response of the sent message.

message_uuid class-attribute instance-attribute
message_uuid: Optional[List[str]] = dataclass_field(default=None, kw_only=True)

Unique ID of the message.

GetMessageResponse dataclass

GetMessageResponse(*, api_id: Optional[str] = None, error_code: Optional[str] = None, from_number: Optional[str] = None, message_direction: Optional[str] = None, message_state: Optional[str] = None, message_time: Optional[str] = None, message_type: Optional[str] = None, message_uuid: Optional[str] = None, resource_uri: Optional[str] = None, to_number: Optional[str] = None, total_amount: Optional[str] = None, total_rate: Optional[str] = None, units: Optional[int] = None)

Response for Get message

Attributes

api_id class-attribute instance-attribute
api_id: Optional[str] = dataclass_field(default=None, kw_only=True)

Unique ID of the API request.

error_code class-attribute instance-attribute
error_code: Optional[str] = dataclass_field(default=None, kw_only=True)

Delivery error code if the message isn't delivered.

from_number class-attribute instance-attribute
from_number: Optional[str] = dataclass_field(default=None, kw_only=True)

Number from which the message was sent.

message_direction class-attribute instance-attribute
message_direction: Optional[str] = dataclass_field(default=None, kw_only=True)

Direction of the message (inbound/outbound).

message_state class-attribute instance-attribute
message_state: Optional[str] = dataclass_field(default=None, kw_only=True)

Status of the message (queued/sent/delivered/failed).

message_time class-attribute instance-attribute
message_time: Optional[str] = dataclass_field(default=None, kw_only=True)

Timestamp at which the message was sent or received (yyyy-MM-dd HH:mm:ss UTC).

message_type class-attribute instance-attribute
message_type: Optional[str] = dataclass_field(default=None, kw_only=True)

Type of the message.

message_uuid class-attribute instance-attribute
message_uuid: Optional[str] = dataclass_field(default=None, kw_only=True)

Unique ID of the message.

resource_uri class-attribute instance-attribute
resource_uri: Optional[str] = dataclass_field(default=None, kw_only=True)

URI to get details of this single message.

to_number class-attribute instance-attribute
to_number: Optional[str] = dataclass_field(default=None, kw_only=True)

Number to which the message was sent.

total_amount class-attribute instance-attribute
total_amount: Optional[str] = dataclass_field(default=None, kw_only=True)

Amount charged for the message.

total_rate class-attribute instance-attribute
total_rate: Optional[str] = dataclass_field(default=None, kw_only=True)

Rate per unit of the message.

units class-attribute instance-attribute
units: Optional[int] = dataclass_field(default=None, kw_only=True)

Number of units the message was split into.

SMS dataclass

SMS(src: str, dst: str, text: str)

Definition: SMS

Attributes

src instance-attribute
src: str

Plivo number from which the message is to be sent.

dst instance-attribute
dst: str

Phone number to which the message is to be sent.

text instance-attribute
text: str

Text of the message to be sent.

Call dataclass

Call(from_: str, to: str, answer_url: str, *, answer_method: Optional[str] = None)

Definition: Call

Attributes

from_ class-attribute instance-attribute
from_: str = dataclass_field(metadata={'wire_name': 'from'})

Plivo number to be used to make the call.

to instance-attribute
to: str

The phone number to call.

answer_url instance-attribute
answer_url: str

URL to be called when the call is made.

answer_method class-attribute instance-attribute
answer_method: Optional[str] = dataclass_field(default=None, kw_only=True)

HTTP Method (GET/POST) that should be used to call the Answer URL.

PlivoClient

PlivoClient(connection_runtime_url: str, credential: AsyncTokenCredential | AzureKeyCredential, *, max_retry_attempts: int = 3, timeout: float = 30.0, use_exponential_backoff: bool = True, initial_retry_delay_seconds: float = 0.5, maximum_retry_delay_seconds: float = 120.0, retry_jitter_factor: float = 0.1, retry_unsafe_http_methods: bool = False, transport: Optional[AsyncHttpTransport] = None, **kwargs: Any)

Bases: ConnectorClientBase

Typed client for plivo connector.

Initialize a PlivoClient.

Parameters:

Name Type Description Default
connection_runtime_url str

The connection runtime URL from Azure Portal.

required
credential AsyncTokenCredential | AzureKeyCredential

Caller-owned Azure Core credential.

required
max_retry_attempts int

The maximum number of request attempts.

3
timeout float

The network timeout in seconds for each request. The value configures Azure Core retry and transport deadlines. Nonpositive values disable SDK and transport deadlines.

30.0
use_exponential_backoff bool

Whether retries use exponential backoff.

True
initial_retry_delay_seconds float

The initial retry delay in seconds.

0.5
maximum_retry_delay_seconds float

The maximum retry delay in seconds.

120.0
retry_jitter_factor float

The jitter fraction applied to retry delays.

0.1
retry_unsafe_http_methods bool

Whether unsafe HTTP methods may be retried.

False
transport Optional[AsyncHttpTransport]

Optional Azure Core async HTTP transport closed by the client through its asynchronous lifecycle.

None
**kwargs Any

Optional Azure Core pipeline policy settings.

{}

Methods:

make_call async
make_call(input: Call | Mapping[str, Any], auth_id: str, *, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> dict[str, Any] | None

Make a call

This operation is used to make a call.

Swagger operation ID: MakeCall.

Parameters:

Name Type Description Default
input Call | Mapping[str, Any]

The request body. Mapping keys use serialized Swagger wire names.

required
auth_id str

Auth ID of your Plivo account.

required
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
dict[str, Any] | None

dict[str, Any] | None: The connector operation result.

Raises:

Type Description
ConnectorException

If the connector request fails.

list_messages
list_messages(auth_id: str, *, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> AsyncItemPaged[dict[str, Any]]

List all messages

This operation returns a list of all messages associated with your Plivo account.

Returns a single-page Azure Core async collection.

Swagger operation ID: ListMessages.

Parameters:

Name Type Description Default
auth_id str

Auth ID of your Plivo account.

required
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
AsyncItemPaged[dict[str, Any]]

AsyncItemPaged[dict[str, Any]]: An Azure Core pager over connector results. Consume it with async for.

Raises:

Type Description
ConnectorException

If the connector request fails.

send_sms async
send_sms(input: SMS | Mapping[str, Any], auth_id: str, *, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> dict[str, Any] | None

Send SMS

This operation is used to send a text message.

Swagger operation ID: SendSMS.

Parameters:

Name Type Description Default
input SMS | Mapping[str, Any]

The request body. Mapping keys use serialized Swagger wire names.

required
auth_id str

Auth ID of your Plivo account.

required
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
dict[str, Any] | None

dict[str, Any] | None: The connector operation result.

Raises:

Type Description
ConnectorException

If the connector request fails.

get_message async
get_message(auth_id: str, message_uuid: str, *, timeout: Optional[float] = None, headers: Optional[Mapping[str, str]] = None, client_request_id: Optional[str] = None, response_hook: Optional[ConnectorResponseHook] = None) -> dict[str, Any] | None

Get message

This operation is used to fetch the details of a message, given the message ID.

Swagger operation ID: GetMessage.

Parameters:

Name Type Description Default
auth_id str

Auth ID of your Plivo account.

required
message_uuid str

UUID of the message for which the details need to be fetched.

required
timeout Optional[float]

The request timeout in seconds.

None
headers Optional[Mapping[str, str]]

Additional HTTP request headers.

None
client_request_id Optional[str]

A caller-provided request identifier.

None
response_hook Optional[ConnectorResponseHook]

A callback invoked with the connector response.

None

Returns:

Type Description
dict[str, Any] | None

dict[str, Any] | None: The connector operation result.

Raises:

Type Description
ConnectorException

If the connector request fails.