XC Reports#
Endpoints for downloading Excel (.xlsx) reports over XC (Cross-Connect) data: requests, connections, and satisfaction surveys. All three stream the generated workbook directly as the response body (Content-Disposition: attachment).Concepts#
Requests vs. connections report: the requests report has one row per XC request and excludes drafts; the connections report has one row per connection (a request can have several) and includes drafts. Both accept the same request-level filters.
Business-time breakdown: the requests/connections reports include per-status business-time columns (time in Recibido, Falta Información, Revisión, Firma, Implementación, Acta de Entrega, Pausado por Cliente), computed the same way as the XC Status Histories summary endpoint (Mexico City business hours, holidays excluded).
xc_lead_filter / xc_lead_user_id: filter by XC lead assignment — me_or_unassigned, only_mine, or unassigned — combined with a specific xc_lead_user_id.
group_by: an additional scope on top of the other filters — own (created by the current user) or business (the current business user's business).
Business-user scoping is automatic: a business user's reports are always restricted to their own business's requests, regardless of other filters.
Satisfaction survey report is unrelated to the other two (different service, different filters): it can be filtered by user_id, effort_score (1–5), and/or a start_date/end_date range.
Endpoints#
GET /v1/xc/reports/requestsOne row per non-draft request.GET /v1/xc/reports/connectionsOne row per connection, drafts included.GET /v1/xc/reports/satisfaction-surveysSurvey responses, filterable by user, score, and date range.Source#
Router: routes/v1/xc/reports.router.js
Controllers: controllers/xc/reports.controller.js, controllers/xc/satisfaction-surveys.controller.js
Services: services/xc/reports.service.js, services/xc/satisfaction-survey-reports.service.js
Modified at 2026-09-25 18:11:02