User Story
As a backend developer on the wpd-message-gateway project,
I want to integrate the Telegram Gateway API into the Push Provider layer,
so that I can reliably send OTP and verification messages with controlled concurrency, proper phone number validation, optional branding, and full lifecycle + observability support.
Description
This task implements a complete integration of the Telegram Gateway API into the Push Provider layer of the wpd-message-gateway service. The Telegram Gateway will serve as the underlying transport for OTP and verification message delivery.
The provider must operate within a strict abstraction layer, ensuring Telegram-specific implementation details remain encapsulated while exposing a clean, consistent interface to the rest of the system.
Acceptance Criteria
User Story
As a backend developer on the wpd-message-gateway project,
I want to integrate the Telegram Gateway API into the Push Provider layer,
so that I can reliably send OTP and verification messages with controlled concurrency, proper phone number validation, optional branding, and full lifecycle + observability support.
Description
This task implements a complete integration of the Telegram Gateway API into the Push Provider layer of the wpd-message-gateway service. The Telegram Gateway will serve as the underlying transport for OTP and verification message delivery.
The provider must operate within a strict abstraction layer, ensuring Telegram-specific implementation details remain encapsulated while exposing a clean, consistent interface to the rest of the system.
Acceptance Criteria
AC1: The provider shall support dispatching up to 5 messages concurrently using the project's Go-based concurrency patterns.
AC2: All phone numbers accepted as input — regardless of their original format — shall be normalized to E.164 format before being passed to any API call. Invalid or un-parseable numbers must return a descriptive validation error.
AC3: The message dispatch interface shall accept an optional sender_username parameter to support white-labeled branding.