# Atualiza uma promoção Atualiza uma promoção já existente. Endpoint: PUT /api/v3/promotions/{promotionId} Version: 3.0.0 Security: OAuth2 ## Header parameters: - `CPlug-Company-Id` (number, required) Id da Empresa (Company). Você pode localizar os IDs das empresas no _endpoint_ de listagem de empresas. Example: 12 - `Idempotency-Key` (string, required) UUID aleatório gerado por você. Nós utilizamos esse header para evitar duplicidade de registros, ou seja, caso você não tenha recebido a resposta de alguma requisição e mandar o mesmo UUID, nós não duplicaremos o registro. ## Path parameters: - `promotionId` (integer, required) ID da promoção. ## Request fields (application/json): - `name` (string) Nome da promoção. Example: "Promoção de Natal" - `description` (string) Descrição da promoção. Example: "Promoção de 10% de desconto" - `start_date` (string) Data de início da promoção, deve ser maior ou igual ao end_date. Formato "YYYY-MM-DD". Example: "2021-01-01" - `end_date` (string) Data de término da promoção, deve ser maior ou igual ao start_date. Formato "YYYY-MM-DD". Example: "2021-02-01" - `is_cumulative` (boolean) Permite que outras promoções sejam ativadas na mesma venda. Example: true - `is_optional` (boolean) Permite que a campanha seja opcional na venda. Atenção O campo não deve ser informado quando o tipo da promoção for DISCOUNT_COUPON. Caso contrário, será retornado um erro. Example: true - `company_ids` (array) IDs das empresas participantes da promoção. Example: [1,2,3] - `customer_activation_rule_type` (string) Define quais serão as regras para a ativação com cliente. IDENTIFIED_CUSTOMER A promoção será ativa somente com um cliente identificado na venda. INTEGRATION_FIDELITY A promoção será ativa somente com um cliente na venda que já tenha um cadastro no programa de fidelidade. Deve ser informado apenas caso a empresa tenha integração com o sistema de fidelidade. Enum: "IDENTIFIED_CUSTOMER", "INTEGRATION_FIDELITY" - `settings` (object) Configurações da promoção. ## Response 200 fields (application/json): - `data` (object) Representa uma promoção. - `data.id` (integer) Identificador único da promoção. Example: 76 - `data.name` (string) Nome da promoção. Example: "Promoção de Natal" - `data.description` (string,null) Descrição da promoção. Example: "Leve 3 e pague 2" - `data.type` (string) Tipo da promoção. Enum: "TAKE_MORE_PAY_LESS", "DISCOUNT_COUPON", "ABOVE_VALUE_GET_DISCOUNT", "ABOVE_AMOUNT_GET_DISCOUNT", "ABOVE_VALUE_GET_PRODUCT", "ABOVE_AMOUNT_GET_PRODUCT" - `data.status` (string) Status da promoção. Enum: "updating_vouchers", "awaiting_voucher_processing", "creating_vouchers", "processed" - `data.is_active` (boolean) Indica se a promoção está ativa. Example: true - `data.can_edit` (boolean) Indica se a promoção pode ser editada. Quando false, nenhum dado da promoção pode ser alterado. Example: true - `data.start_date` (string) Data de início da promoção. Example: "2024-10-12" - `data.end_date` (string) Data de fim da promoção. Example: "2025-11-12" - `data.is_cumulative` (boolean) Indica se o desconto é cumulativo na venda. Example: true - `data.customer_activation_rule_type` (string,null) Define quais são as regras para a ativação com cliente. IDENTIFIED_CUSTOMER A promoção será ativa somente com um cliente identificado na venda. INTEGRATION_FIDELITY A promoção será ativa somente com um cliente na venda que já tenha um cadastro no programa de fidelidade. Enum: "IDENTIFIED_CUSTOMER", "INTEGRATION_FIDELITY" - `data.restriction_type` (string,null) Tipo de restrição. Indica qual é a restrição para a ativação da promoção. Enum: "WEEK_DAYS", "BIRTHDAY" - `data.allowed_week_days` (array,null) Dias da semana permitidos para a ativação da promoção. Enum: "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" - `data.activation_birthday_monthly_limit` (integer,null) Limite de ativações mensais durante o mês do aniversário do cliente. Example: 10 - `data.activation_birthday_daily_limit` (integer,null) Limite de ativações diárias durante o mês do aniversário do cliente. Example: 5 - `data.activation_limit` (integer,null) Limite de ativações da promoção. Example: 10 - `data.activation_limit_per_user` (integer,null) Limite de ativações por usuário. Example: 1 - `data.companies` (array) Lista de empresas participantes da promoção. - `data.companies.id` (integer) Identificador único da empresa Example: 1234 - `data.companies.name` (string) Nome fantasia da empresa. Example: "ConnectPlug" - `data.companies.company_name` (string,null) Razão social da empresa. Example: "ConnectPlug Desenvolvimento de Software LTDA" - `data.settings` (any) - `data.exported_at` (string,null) Data da exportação dos vouchers. Example: "2025-06-25T12:31:46.000000Z" - `data.created_at` (string) Data da criação. Example: "2025-06-25T12:31:46.000000Z" - `data.updated_at` (string) Data da última atualização. Example: "2025-06-25T12:31:46.000000Z" - `data.deleted_at` (string) Data da exclusão. Example: "2025-06-25T12:31:46.000000Z" ## Response 400 fields (application/json): - `code` (string, required) Código de erro. Example: "missing_headers" - `message` (string) Descrição do erro. Example: "error message" - `meta` (array) Dados adicionais sobre o erro. ## Response 422 fields (application/json): - `code` (string, required) Código de erro. Example: "uneditable_entity" - `message` (string) Descrição do erro. Example: "description error" - `meta` (array) Dados adicionais sobre o erro. - `meta.field` (string, required) Nome do campo no qual existe um erro de validação. Example: "name" - `meta.validations` (array) - `meta.validations.type` (string, required) Tipo da validação aplicada. Example: "Required" - `meta.validations.value` (array) Tipo de valor aplicável (esse campo pode ser vazio). ## Response 401 fields ## Response 404 fields