Skip to main content

Overview

The Plan Comercial module provides GraphQL mutations to create, update, approve, and reject commercial plans and their parametrization settings.

Mutations

createPlanComercial

Requires authentication
Creates a new commercial plan with promotional activities. Authorization: Required
value
PlanComercialDTO
required
Commercial plan data to create
Input Fields:
Mes
string
Plan month
MesObjetivo
string
Target month for the plan
MesCruce
string
Cross-reference month
Anio
int
required
Plan year
TipoCanal
string
Sales channel type
TipoCliente
string
Client type classification
TotalInversion
decimal
Total investment amount
TotalSellOut
decimal
Total sell-out amount
TotalProvision
decimal
Total provision amount
Promociones
[PromocionesPlanComercialDTO!]
List of promotional activities associated with the plan
Returns: PlanComercialDTO Example Mutation:
mutation {
  createPlanComercial(value: {
    mes: "Enero"
    mesObjetivo: "Febrero"
    anio: 2024
    tipoCanal: "Moderno"
    tipoCliente: "Cadena"
    totalInversion: 50000.00
    totalSellOut: 75000.00
    promociones: [{
      nombrePromocion: "Promoción Verano"
      actividad: "Descuento"
      mecanica: "3x2"
      fechaInicio: "2024-02-01"
      fechaFin: "2024-02-28"
      tipoPromocion: "Volumen"
      negocio: "Bebidas"
    }]
  }) {
    id
    mes
    anio
    estadoId
    createdAt
  }
}

updatePlanComercial

Requires authentication
Updates an existing commercial plan. Authorization: Required
value
PlanComercialDTO
required
Commercial plan data with ID to update
Input Fields: Same as createPlanComercial plus:
Id
int
required
Plan identifier to update
Returns: PlanComercialDTO Example Mutation:
mutation {
  updatePlanComercial(value: {
    id: 123
    mes: "Enero"
    anio: 2024
    totalInversion: 55000.00
    totalSellOut: 80000.00
  }) {
    id
    totalInversion
    totalSellOut
    updatedAt
  }
}

createParametrizacionPlanComercial

Creates a new parametrization configuration for commercial planning. Authorization: Not required
value
ParametrizacionPlanComercialDTO
required
Parametrization data to create
Input Fields:
Canal
string
Sales channel
Cliente
string
Client identifier
NumeroDiasAntes
int
Number of days before target date allowed for planning
NumeroDiasDespues
int
Number of days after target date allowed for planning
Returns: ParametrizacionPlanComercialDTO Example Mutation:
mutation {
  createParametrizacionPlanComercial(value: {
    canal: "Moderno"
    cliente: "CLIENT001"
    numeroDiasAntes: 15
    numeroDiasDespues: 5
  }) {
    id
    canal
    cliente
    createdAt
  }
}

updateParametrizacionPlanComercial

Updates an existing parametrization configuration. Authorization: Not required
value
ParametrizacionPlanComercialDTO
required
Parametrization data with ID to update
Input Fields: Same as createParametrizacionPlanComercial plus:
Id
int
required
Parametrization identifier to update
Returns: ParametrizacionPlanComercialDTO Example Mutation:
mutation {
  updateParametrizacionPlanComercial(value: {
    id: 10
    numeroDiasAntes: 20
    numeroDiasDespues: 10
  }) {
    id
    numeroDiasAntes
    numeroDiasDespues
    updatedAt
  }
}

sendPlanComercialForApproval

Submits a commercial plan for approval workflow. Authorization: Not required
plan
PlanComercialDTO
required
Plan data to submit for approval
Returns: PlanComercialDTO Example Mutation:
mutation {
  sendPlanComercialForApproval(plan: {
    id: 123
  }) {
    id
    estadoId
    estado {
      nombre
    }
    flujos {
      etapaId
      estadoId
      fechaAprobacion
    }
  }
}

approvePlanComercialById

Requires authentication
Approves a commercial plan for a specific approval stage. Authorization: Required
planId
int
required
Plan identifier to approve
etapaId
int
required
Approval stage identifier
Returns: PlanComercialDTO Example Mutation:
mutation {
  approvePlanComercialById(planId: 123, etapaId: 2) {
    id
    estadoId
    estado {
      nombre
    }
    flujos {
      etapaId
      estadoId
      fechaAprobacion
      usuarioId
    }
  }
}

rejectPlanComercialById

Requires authentication
Rejects a commercial plan with observations. Authorization: Required
rejectPlan
RejectPlanDTO
required
Rejection data including plan ID, stage, and observations
Input Fields:
PlanId
int
required
Plan identifier to reject
EtapaId
int
required
Approval stage identifier
Observacion
string
required
General rejection observation
materialObservaciones
[MaterialObservacion!]
Specific observations for materials
Returns: PlanComercialDTO Example Mutation:
mutation {
  rejectPlanComercialById(rejectPlan: {
    planId: 123
    etapaId: 2
    observacion: "Los márgenes de ganancia están por debajo del objetivo"
    materialObservaciones: [{
      id: 45
      observacion: "Precio muy alto para este material"
    }]
  }) {
    id
    estadoId
    estado {
      nombre
    }
    observaciones {
      etapaId
      observacion
      usuario {
        nombre
      }
      fechaCreacion
    }
  }
}

eliminarPlanComercialPorId

Requires authentication
Deletes a commercial plan by ID. Authorization: Required
planId
int
required
Plan identifier to delete
Returns: PlanComercialDTO Example Mutation:
mutation {
  eliminarPlanComercialPorId(planId: 123) {
    id
    estadoId
  }
}

Provision Mutations

sendPlanComercialForProvision

Submits a commercial plan for provision processing. Authorization: Not required
planId
int
required
Plan identifier
mesCruce
string
required
Cross-reference month for provision
totalProvision
decimal
required
Total provision amount
Returns: PlanComercialDTO Example Mutation:
mutation {
  sendPlanComercialForProvision(
    planId: 123
    mesCruce: "Marzo"
    totalProvision: 45000.00
  ) {
    id
    mesCruce
    totalProvision
    estadoProvisionId
    estadoProvision {
      nombre
    }
  }
}

loadNegociosAsClusterForProvisiones

Loads business units as clusters for provision management. Authorization: Not required Returns: [CatSateliteAprobadoresClusterEntity!]! Example Mutation:
mutation {
  loadNegociosAsClusterForProvisiones {
    id
    nombre
    activo
  }
}

approveProvisionNegocio

Approves a provision for a specific business unit. Authorization: Not required
negocio
string
required
Business unit name
planId
int
required
Plan identifier
etapaId
int
required
Approval stage identifier
promocionId
int
Optional promotion identifier
Returns: PlanComercialDTO Example Mutation:
mutation {
  approveProvisionNegocio(
    negocio: "Bebidas"
    planId: 123
    etapaId: 3
    promocionId: 45
  ) {
    id
    estadoProvisionId
    estadoProvision {
      nombre
    }
  }
}

rejectNegocioOnProvision

Rejects a provision for a specific business unit with observations. Authorization: Not required
negocio
string
required
Business unit name
planId
int
required
Plan identifier
etapaId
int
required
Approval stage identifier
observation
string
required
Rejection observation
promocionId
int
Optional promotion identifier
Returns: PlanComercialDTO Example Mutation:
mutation {
  rejectNegocioOnProvision(
    negocio: "Bebidas"
    planId: 123
    etapaId: 3
    observation: "Presupuesto insuficiente para esta unidad de negocio"
    promocionId: 45
  ) {
    id
    estadoProvisionId
    observaciones {
      observacion
      etapaId
    }
  }
}