diff --git a/channel-service/app/clients/mci_server_client.py b/channel-service/app/clients/mci_server_client.py new file mode 100644 index 0000000..0c75797 --- /dev/null +++ b/channel-service/app/clients/mci_server_client.py @@ -0,0 +1,19 @@ +from __future__ import annotations + +import httpx + +from app.models.event import OutboundEvent + + +class MciServerClient: + def __init__(self, base_url: str, timeout: float = 10.0): + self.base_url = base_url.rstrip("/") + self.timeout = timeout + + async def post_event(self, event: OutboundEvent) -> None: + async with httpx.AsyncClient(timeout=self.timeout) as client: + response = await client.post( + f"{self.base_url}/api/v1/channel-account/event", + json=event.to_payload(), + ) + response.raise_for_status()