babelforce-manager-sdk 0.42.2

Rust SDK for the babelforce manager APIs — auth, user & agent management, call reporting, metrics, and task automations.
Documentation
//! Rust SDK for the babelforce **manager APIs** — auth, user & agent management, call reporting,
//! metrics, and task automations.
//!
//! One client, configured once, exposes resource namespaces over the API. The low-level clients
//! under [`gen`] are generated from the OpenAPI specs and are an internal detail; the public surface
//! is the hand-written facade.
//!
//! ```no_run
//! # async fn demo() -> Result<(), babelforce_manager_sdk::ManagerError> {
//! use babelforce_manager_sdk::{ManagerClient, Auth};
//!
//! let mgr = ManagerClient::connect(Auth::ClientCredentials {
//!     client_id: "…".into(),
//!     client_secret: "…".into(),
//! })
//! .await?;
//!
//! for user in mgr.users.list_all().await? {
//!     println!("{:?}", user.email);
//! }
//! # Ok(()) }
//! ```
#![warn(missing_docs)]

#[doc(hidden)]
pub mod gen;

mod auth;
mod client;
mod error;
mod http;
mod resources;
mod retry;

pub use auth::{build_authorize_url, pkce_challenge, Auth, PkceChallenge};
pub use client::{ManagerClient, ManagerClientBuilder, DEFAULT_BASE_URL};
pub use error::ManagerError;
pub use http::Page;
pub use resources::agents::{AgentGroupsResource, AgentsResource};
pub use resources::applications::{ApplicationsResource, LocalAutomationsResource};
pub use resources::auth::{AuthResource, TokenRequest};
pub use resources::automations::AutomationsResource;
pub use resources::babeldesk::{BabeldeskResource, BabeldeskWidgetsResource};
pub use resources::businesshours::BusinessHoursResource;
pub use resources::calendars::CalendarsResource;
pub use resources::calls::{CallReportFilter, CallsResource, ReportingResource};
pub use resources::campaigns::CampaignsResource;
pub use resources::conferences::ConferencesResource;
pub use resources::conversations::ConversationsResource;
pub use resources::dashboards::DashboardsResource;
pub use resources::dialer::{DialerBehavioursResource, DialerResource};
pub use resources::events::EventsResource;
pub use resources::expressions::ExpressionsResource;
pub use resources::files::FilesResource;
pub use resources::integrations::IntegrationsResource;
pub use resources::logs::LogsResource;
pub use resources::me::MeResource;
pub use resources::metrics::MetricsResource;
pub use resources::numbers::NumbersResource;
pub use resources::outbound::OutboundResource;
pub use resources::phonebook::PhonebookResource;
pub use resources::prompts::PromptsResource;
pub use resources::queues::{QueueSelectionsResource, QueuesResource};
pub use resources::recordings::RecordingsResource;
pub use resources::routing::RoutingResource;
pub use resources::schedules::TaskSchedulesResource;
pub use resources::sessions::SessionsResource;
pub use resources::settings::SettingsResource;
pub use resources::sms::SmsResource;
pub use resources::tasks::{
    TaskMetricsResource, TaskScriptsResource, TaskSecretsResource, TaskSelectionConfigResource,
    TasksResource,
};
pub use resources::triggers::TriggersResource;
pub use resources::users::UsersResource;
pub use retry::RetryPolicy;