Skip to main content

babelforce_manager_sdk/
lib.rs

1//! Rust SDK for the babelforce **manager APIs** — auth, user & agent management, call reporting,
2//! metrics, and task automations.
3//!
4//! One client, configured once, exposes resource namespaces over the API. The low-level clients
5//! under [`gen`] are generated from the OpenAPI specs and are an internal detail; the public surface
6//! is the hand-written facade.
7//!
8//! ```no_run
9//! # async fn demo() -> Result<(), babelforce_manager_sdk::ManagerError> {
10//! use babelforce_manager_sdk::{ManagerClient, Auth};
11//!
12//! let mgr = ManagerClient::connect(Auth::ClientCredentials {
13//!     client_id: "…".into(),
14//!     client_secret: "…".into(),
15//! })
16//! .await?;
17//!
18//! for user in mgr.users.list_all().await? {
19//!     println!("{:?}", user.email);
20//! }
21//! # Ok(()) }
22//! ```
23#![warn(missing_docs)]
24
25#[doc(hidden)]
26pub mod gen;
27
28mod auth;
29mod client;
30mod error;
31mod http;
32mod resources;
33mod retry;
34
35pub use auth::{build_authorize_url, pkce_challenge, Auth, PkceChallenge};
36pub use client::{ManagerClient, ManagerClientBuilder, DEFAULT_BASE_URL};
37pub use error::ManagerError;
38pub use http::Page;
39pub use resources::agents::{AgentGroupsResource, AgentsResource};
40pub use resources::applications::{ApplicationsResource, LocalAutomationsResource};
41pub use resources::auth::{AuthResource, TokenRequest};
42pub use resources::automations::AutomationsResource;
43pub use resources::babeldesk::{BabeldeskResource, BabeldeskWidgetsResource};
44pub use resources::businesshours::BusinessHoursResource;
45pub use resources::calendars::CalendarsResource;
46pub use resources::calls::{CallReportFilter, CallsResource, ReportingResource};
47pub use resources::campaigns::CampaignsResource;
48pub use resources::conferences::ConferencesResource;
49pub use resources::conversations::ConversationsResource;
50pub use resources::dashboards::DashboardsResource;
51pub use resources::dialer::{DialerBehavioursResource, DialerResource};
52pub use resources::events::EventsResource;
53pub use resources::expressions::ExpressionsResource;
54pub use resources::files::FilesResource;
55pub use resources::integrations::IntegrationsResource;
56pub use resources::logs::LogsResource;
57pub use resources::me::MeResource;
58pub use resources::metrics::MetricsResource;
59pub use resources::numbers::NumbersResource;
60pub use resources::outbound::OutboundResource;
61pub use resources::phonebook::PhonebookResource;
62pub use resources::prompts::PromptsResource;
63pub use resources::queues::{QueueSelectionsResource, QueuesResource};
64pub use resources::recordings::RecordingsResource;
65pub use resources::routing::RoutingResource;
66pub use resources::schedules::TaskSchedulesResource;
67pub use resources::sessions::SessionsResource;
68pub use resources::settings::SettingsResource;
69pub use resources::sms::SmsResource;
70pub use resources::tasks::{
71    TaskMetricsResource, TaskScriptsResource, TaskSecretsResource, TaskSelectionConfigResource,
72    TasksResource,
73};
74pub use resources::triggers::TriggersResource;
75pub use resources::users::UsersResource;
76pub use retry::RetryPolicy;