This commit is contained in:
debu-2 2026-10-15 03:28:51 +05:30
parent 6b6b929fea
commit 9f03e5df32
9 changed files with 225 additions and 37 deletions

View file

@ -16,7 +16,7 @@ from .models import (
WhatsAppPhoneAsset,
WhatsAppWebhookEvent,
)
from .whatsapp_broadcast_jobs import create_csv_broadcast, list_broadcast_jobs
from .whatsapp_broadcast_jobs import broadcast_failure_csv, create_csv_broadcast, list_broadcast_jobs
from .whatsapp_graph_client import WhatsAppGraphClient, WhatsAppGraphError
from .whatsapp_config import resolved_whatsapp_app_secret
from .whatsapp_onboarding import (
@ -369,6 +369,21 @@ def whatsapp_broadcast_jobs(
return list_broadcast_jobs(db, user, account_id)
@router.get("/accounts/{account_id}/broadcasts/jobs/{job_id}/failures.csv")
def whatsapp_broadcast_failures(
account_id: str,
job_id: str,
db: Session = Depends(get_db),
user: UserAccount = Depends(current_user),
) -> Response:
content, filename = broadcast_failure_csv(db, user, account_id, job_id)
return Response(
content=content,
media_type="text/csv; charset=utf-8",
headers={"Content-Disposition": f'attachment; filename="{filename}"'},
)
@router.post("/accounts/{account_id}/broadcasts/csv")
async def whatsapp_broadcast_csv(
account_id: str,