Skip to content

CampfireClient

Attributes

TRIGGER_OPERATIONS module-attribute

TRIGGER_OPERATIONS: Dict[str, Dict[str, Any]] = {'OnNewRoom': {'operation_id': 'OnNewRoom', 'path': '/{connectionId}/OnNewRoom_trigger/rooms.json', 'method': 'get', 'required_parameters': ['account'], 'callback_payload_type': 'RoomsResponse'}, 'OnNewMessage': {'operation_id': 'OnNewMessage', 'path': '/{connectionId}/OnNewMessage_trigger/room/{roomId}/recent.json', 'method': 'get', 'required_parameters': ['account', 'roomId'], 'callback_payload_type': 'MessagesResponse'}, 'OnNewUpload': {'operation_id': 'OnNewUpload', 'path': '/{connectionId}/OnNewUpload_trigger/room/{roomId}/uploads.json', 'method': 'get', 'required_parameters': ['account', 'roomId'], 'callback_payload_type': 'UploadResponse'}}

Classes

CreateMessageResponse dataclass

CreateMessageResponse(*, message: Optional[Dict[str, Any]] = None)

Response for Create a message

Attributes

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

A Campfire message

RoomsResponse dataclass

RoomsResponse(*, rooms: Optional[List[Dict[str, Any]]] = None)

Response for When a room is created

Attributes

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

Collection of Rooms

MessagesResponse dataclass

MessagesResponse(*, messages: Optional[List[Dict[str, Any]]] = None)

Response for When a new message is received

Attributes

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

Collection Of messages

UploadResponse dataclass

UploadResponse(*, uploads: Optional[List[Dict[str, Any]]] = None)

Response for When a file is uploaded

Attributes

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

Collection of Uploads

UserResponse dataclass

UserResponse(*, user: Optional[Dict[str, Any]] = None)

Response for Get user by ID

AccountsResponse dataclass

AccountsResponse(*, accounts: Optional[List[Dict[str, Any]]] = None)

Response for List accounts

Attributes

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

Collection Of Accounts

Account dataclass

Account(*, id: Optional[int] = None, name: Optional[str] = None, app_href: Optional[str] = None, account_url: Optional[str] = None)

Definition: Account

Attributes

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

Id of the account

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

Name of the account

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

Link to the account

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

Account Url

Room dataclass

Room(*, name: Optional[str] = None, id: Optional[int] = None, locked: Optional[bool] = None, topic: Optional[str] = None)

Definition: Room

Attributes

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

Room name.

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

Room Id.

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

Boolean value, True if a room is locked.

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

Room topic or description.

Message dataclass

Message(*, body: Optional[str] = None, id: Optional[int] = None, starred: Optional[bool] = None)

Definition: Message

Attributes

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

Message Body.

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

Message Id.

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

Boolean value, True if a message is starred.

Upload dataclass

Upload(*, full_url: Optional[str] = None, room_id: Optional[int] = None, id: Optional[int] = None, content_type: Optional[str] = None, name: Optional[str] = None, created_at: Optional[str] = None)

Definition: Upload

Attributes

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

File Url.

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

Room Id.

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

File Id.

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

Format of the uploaded file.

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

File name.

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

Timestamp of upload.

CreateUploadResponse dataclass

CreateUploadResponse(*, upload: Optional[Upload | Mapping[str, Any]] = None)

Definition: CreateUploadResponse

CampfireClient

CampfireClient(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 campfire connector.

Initialize a CampfireClient.

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:

create_message async
create_message(room_id: str, account: str, message: 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

Create a message

Sends a message to the given room.

Swagger operation ID: CreateMessage.

Parameters:

Name Type Description Default
room_id str

A room associated with the account.

required
account str

Account in Campfire.

required
message str

Message text to be created.

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_user async
get_user(user_id: int, account: 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 user by ID

Retrieves information about a user by given ID

Swagger operation ID: GetUser.

Parameters:

Name Type Description Default
user_id int

User ID.

required
account str

Account in Campfire.

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_accounts
list_accounts(*, parent_operation: Optional[str] = None, 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 accounts

Retrieves the list of accounts this user has access too

Returns a single-page Azure Core async collection.

Swagger operation ID: ListAccounts.

Parameters:

Name Type Description Default
parent_operation Optional[str]

parentOperation.

None
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.

list_rooms
list_rooms(account: 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 Rooms

Retrieves the list of rooms in an account

Returns a single-page Azure Core async collection.

Swagger operation ID: ListRooms.

Parameters:

Name Type Description Default
account str

Account in Campfire.

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.