Project Requests#
Live read/write proxy to Salesforce Implementacion_de_Proyectos__c records — the implementation-tracking object linked to an Opportunity, used once a deal moves into delivery.Concepts#
Always linked to an Opportunity: opportunity_id is required on create; the service looks up that Opportunity (and its associated Quote) to auto-fill defaults.
Fallbacks from the Opportunity on create: project_manager_id, assigned_pmo_id, and site default to the linked Opportunity's own project manager, assigned PMO, and site when omitted.
Quote is always auto-resolved: the linked Quote (Quote_Final_del__c) comes from getQuoteByOpportunityId(opportunity_id) — there is no field to set it directly.
stage defaults to Solicitado; status defaults to Aprobado.
Update does not re-apply fallbacks: PATCH only changes the fields explicitly provided — it will not re-derive values from the Opportunity the way create does.
search matches the Project Request's own ID, its linked Opportunity ID, its Name, or its custom implementation name.
Endpoints#
GET /v1/xc/salesforce/project-requestsGET /v1/xc/salesforce/project-requests/{id}POST /v1/xc/salesforce/project-requestsPATCH /v1/xc/salesforce/project-requests/{id}Source#
Router: routes/v1/xc/salesforce.router.js
Controller: controllers/salesforce/project-request.controller.js
Service: services/salesforce/project-request.service.js
Schema: schemas/salesforce/project-request.schema.js
Modified at 2026-09-25 18:30:16