Callblast API Documentation

Note

This documentation provides both internal and external usage guides for the Callblast voice broadcasting system.

Overview

The Callblast API Project is a web-based and API-integrated voice broadcasting system designed to automate the delivery of voice messages to multiple phone numbers.

It supports both internal users (via a secure web interface) and external systems (via HTTP JSON API) to submit and queue voice call jobs with minimal setup.

Key Features

  • Dual Interface

    • Web UI: Authenticated users can use a browser form to submit callblast jobs.
    • RESTful API: External systems can send JSON payloads to trigger call jobs programmatically.
  • Dynamic Routing

    Automatically maps the company/ISP identity to:

    • ISP ID
    • Account code
    • Caller ID
    • API credentials (api keys)
  • Flexible Phone Number Input

    • Accepts 10–15 digit-only phone numbers
    • Supports multiple formats: comma-, newline-, or line-separated values
    • Non-digit characters are stripped automatically in the Web UI
  • Message Validation

    • Message content is required
    • Length must be between 5 and 1000 characters
    • Text is converted to speech before calling
  • Security

    • Requires both the isp (the isp id from tracker) and company specific api_key (in parameters)
    • Validates identity and prevents unauthorized submissions
  • Backend Integration

    • Submissions are forwarded to a FastAPI backend
    • Backend handles job queuing, validation, logging, and TTS dispatching
    • Keys and API URLs are retrieved securely via Vault

Submission Modes

  • Web UI -

    • Used by internal users through a browser
    • Company selection auto-fills required backend fields (ISP ID, caller ID, account code, api key)
  • API Request - api/callblast_request

    • Intended for use by external systems or services
    • Requests must include:
    In the payload:
    • isp (string): ISP/Company ID
    • message (string): Content to broadcast
    • numbers (list of strings): 10–15 digit-only phone numbers
    In the URL parameters:
    • api_key (string): Authentication key for the company

Typical Use Cases

  • Automated reminders (billing, appointments, maintenance)
  • Mass communication to clients or agents
  • Real-time alert broadcasting (e.g., system outages)
  • 3rd-party system integration for automated voice calls