> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cardapioweb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Editar cupom

> Editar um novo cupom do estabelecimento.



## OpenAPI

````yaml /reference/api-loja.json put /api/partner/v1/merchant/coupons/{coupon_id}
openapi: 3.1.0
info:
  title: API Loja
  version: '1.0'
  description: >-
    A API de loja é responsável por fornecer informações referentes ao
    estabelecimento.


    O limite de requições desse endpoint é diferente dos demais, sendo limitado
    a 5 requisições por minuto.
  contact:
    email: integracao@cardapioweb.com
    url: https://cardapioweb.com
    name: Cardápio Web
servers:
  - url: https://integracao.sandbox.cardapioweb.com
    description: Sandbox
  - description: Produção
    url: https://integracao.cardapioweb.com
security:
  - apiKey: []
tags:
  - name: Avaliações
  - name: Clientes
  - name: Cupons
  - name: Loja
paths:
  /api/partner/v1/merchant/coupons/{coupon_id}:
    parameters:
      - schema:
          type: integer
        name: coupon_id
        in: path
        required: true
        description: ID do cupom que será editado
    put:
      tags:
        - Cupons
      summary: Editar cupom
      description: Editar um novo cupom do estabelecimento.
      operationId: put-merchant-coupons
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CouponInput'
      responses:
        '200':
          description: Cupom editado com sucesso!
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Coupon'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Cupom não encontrado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    CouponInput:
      type: object
      x-stoplight:
        id: wci1vv67utarr
      examples:
        - name: Cupom Exemplo
          type: flat_discount
          value: 10
          code: CW10
          active: true
          minimum_order_value: 80
          use_limit: 10
          new_customers_only: false
          customer_multi_use: false
          availability_start_time: '10:00'
          availability_end_time: '17:00'
          available_days:
            - monday
            - tuesday
            - wednesday
          available_from: '2024-07-01'
          expires_at: '2024-07-31'
          item_ids:
            - 1234
      description: Estrutura do cupom
      title: CupomInput
      required:
        - name
        - type
        - value
      properties:
        name:
          type: string
          description: Nome do cupom. Essa informação fica vísivel para o cliente.
        type:
          example: percent_discount
          enum:
            - free_shipping
            - percent_discount
            - flat_discount
          description: |-
            Tipo de cupom:
            - `free_shipping`: Entrega grátis.
            - `percent_discount`: Desconto percentual no carrinho.
            - `flat_discount`: Desconto fixo no carrinho.
        value:
          type:
            - number
            - 'null'
          description: >-
            Valor do desconto:

            - Para `type` igual a `free_shipping`, esse campo será **null**.

            - Para `percent_discount`, deve ser maior que 0 e menor ou igual a
            100.

            - Para `flat_discount`, deve ser maior que 0.
        code:
          type:
            - string
            - 'null'
          description: >+
            Código do Cupom. Nos cupons com código, o cliente deve informar o
            código durante a compra. Cupons sem código são visíveis e
            disponíveis para todos os clientes.

          default: null
        active:
          type: boolean
          description: Indica se o cupom está ativo.
          default: true
        minimum_order_value:
          type:
            - number
            - 'null'
          exclusiveMinimum: 0
          description: >-
            Valor mínimo do pedido que o cliente precisa alcançar para poder
            usar o cupom.
          default: null
        use_limit:
          type:
            - integer
            - 'null'
          exclusiveMinimum: 0
          description: Indica o número máximo de vezes que o cupom pode ser usado.
          default: null
        new_customers_only:
          type: boolean
          description: Indica se o cupom é válido apenas para novos clientes.
          default: false
        customer_multi_use:
          type: boolean
          description: Indica se um cliente pode usar o cupom mais de uma vez.
          default: false
        availability_start_time:
          type:
            - string
            - 'null'
          format: time
          description: >-
            Define o horário a partir do qual o cupom estará disponível para
            uso. Segue o formato de 24 horas, indo de 00:00 a 23:59. Não inclui
            os segundos.
          default: null
        availability_end_time:
          type:
            - string
            - 'null'
          format: time
          description: >-
            Define o horário até o qual o cupom estará disponível para uso.
            Segue o formato de 24 horas, indo de 00:00 a 23:59. Não inclui os
            segundos.
          default: null
        available_days:
          type: array
          uniqueItems: true
          minItems: 1
          maxItems: 7
          description: >-
            Especifique os dias da semana em que o cupom pode ser usado.

            Por padrão, o cupom é válido todos os dias da semana. Se o array
            estiver vazio, isso significa que o cupom está disponível todos os
            dias.
          items:
            enum:
              - sunday
              - monday
              - tuesday
              - wednesday
              - thursday
              - friday
              - saturday
        available_order_types:
          type: array
          description: >-
            Disponibilidade do cupom por tipo de pedido:

            - `delivery`: disponível em pedidos de delivery.

            - `takeout`: disponível em pedidos de retirada.

            - `onsite`: disponível em pedidos de consumo no local.

            Por padrão, o cupom fica disponível todos os tipos de pedido. Se o
            array estiver vazio, isso significa que o cupom está disponível para
            todos os tipos de pedidos.
          minItems: 1
          uniqueItems: true
          maxItems: 3
          items:
            enum:
              - delivery
              - takeout
              - onsite
        available_from:
          type:
            - string
            - 'null'
          format: date
          description: >-
            Data a partir da qual o cupom está disponível para uso, iniciando à
            meia-noite (00:00) do dia indicado, no formato YYYY-MM-DD.
          default: null
        expires_at:
          type:
            - string
            - 'null'
          format: date
          description: >-
            Data em que o cupom expira e não pode mais ser usado. O cupom é
            válido até 23:59 do dia especificado. Formato YYYY-MM-DD.
          default: null
        item_ids:
          type: array
          uniqueItems: true
          maxItems: 30
          description: >-
            ID dos produtos aos quais o desconto será aplicado. Essa opção está
            disponível apenas quando `type` for igual a `percent_discount`.
          items:
            type: integer
    Coupon:
      type: object
      examples:
        - id: 12345
          uid: 9ix
          code: CW10
          name: Cupom Exemplo
          type: flat_discount
          value: 10
          active: true
          status: valid
          minimum_order_value: 80
          use_limit: 10
          new_customers_only: false
          customer_multi_use: false
          availability_start_time: '10:00'
          availability_end_time: '17:00'
          available_days:
            - monday
            - tuesday
            - wednesday
          available_from: '2024-07-01'
          expires_at: '2024-07-31'
          item_ids: []
      description: Estrutura do cupom
      title: Cupom
      required:
        - name
        - type
        - value
      properties:
        id:
          type: integer
          description: ID único do cupom
          readOnly: true
        uid:
          type: string
          description: >-
            Identificador alfanumérico único do cupom, utilizado para a
            aplicação automática no site. Deve ser usado da seguinte forma:

            https://app.sandbox.cardapioweb.com/teste_integracao?cid={uid}
          readOnly: true
        code:
          type:
            - string
            - 'null'
          description: >+
            Código do Cupom. Nos cupons com código, o cliente deve informar o
            código durante a compra. Cupons sem código são visíveis e
            disponíveis para todos os clientes.

          default: null
        name:
          type: string
          description: Nome do cupom. Essa informação fica vísivel para o cliente.
        type:
          example: percent_discount
          enum:
            - free_shipping
            - percent_discount
            - flat_discount
          description: |-
            Tipo de cupom:
            - `free_shipping`: Entrega grátis.
            - `percent_discount`: Desconto percentual no carrinho.
            - `flat_discount`: Desconto fixo no carrinho.
        value:
          type:
            - number
            - 'null'
          description: >-
            Valor do desconto:

            - Para `type` igual a `free_shipping`, esse campo será **null**.

            - Para `percent_discount`, deve ser maior que 0 e menor ou igual a
            100.

            - Para `flat_discount`, deve ser maior que 0.
        active:
          type: boolean
          description: Indica se o cupom está ativo.
          default: true
        status:
          enum:
            - not_active
            - not_yet_available
            - expired
            - usage_limit_reached
            - not_available
            - valid
          description: >-
            Status do cupom:

            - `not_active`: O cupom está inativo e não pode ser usado no
            momento.

            - `not_yet_available`: O cupom ainda não está disponível para uso.
            Ver campo `available_from`.

            - `expired`: O cupom expirou e não pode mais ser utilizado. Ver
            campo `expires_at`.

            - `usage_limit_reached`: O cupom atingiu o limite de uso permitido e
            não está mais disponível. Ver campo `use_limit`.

            - `not_available`: O cupom não está disponível no momento. Ver
            campos `availability_start_time`, `availability_end_time` e
            `available_days`.

            - `valid`: O cupom está ativo e pode ser utilizado.
          readOnly: true
        minimum_order_value:
          type:
            - number
            - 'null'
          exclusiveMinimum: 0
          description: >-
            Valor mínimo do pedido que o cliente precisa alcançar para poder
            usar o cupom.
          default: null
        use_limit:
          type:
            - integer
            - 'null'
          exclusiveMinimum: 0
          description: Indica o número máximo de vezes que o cupom pode ser usado.
          default: null
        new_customers_only:
          type: boolean
          description: Indica se o cupom é válido apenas para novos clientes.
          default: false
        customer_multi_use:
          type: boolean
          description: Indica se um cliente pode usar o cupom mais de uma vez.
          default: false
        availability_start_time:
          type:
            - string
            - 'null'
          format: time
          description: >-
            Define o horário a partir do qual o cupom estará disponível para
            uso. Segue o formato de 24 horas, indo de 00:00 a 23:59. Não inclui
            os segundos.
          default: null
        availability_end_time:
          type:
            - string
            - 'null'
          format: time
          description: >-
            Define o horário até o qual o cupom estará disponível para uso.
            Segue o formato de 24 horas, indo de 00:00 a 23:59. Não inclui os
            segundos.
          default: null
        available_days:
          type: array
          uniqueItems: true
          minItems: 1
          maxItems: 7
          description: >-
            Especifique os dias da semana em que o cupom pode ser usado.

            Por padrão, o cupom é válido todos os dias da semana. Se o array
            estiver vazio, isso significa que o cupom está disponível todos os
            dias.
          items:
            enum:
              - sunday
              - monday
              - tuesday
              - wednesday
              - thursday
              - friday
              - saturday
        available_order_types:
          type: array
          x-stoplight:
            id: guoqn5a99ve3f
          description: >-
            Disponibilidade do cupom por tipo de pedido:

            - `delivery`: disponível em pedidos de delivery.

            - `takeout`: disponível em pedidos de retirada.

            - `onsite`: disponível em pedidos de consumo no local.

            Por padrão, o cupom fica disponível todos os tipos de pedido. Se o
            array estiver vazio, isso significa que o cupom está disponível para
            todos os tipos de pedidos.
          minItems: 1
          uniqueItems: true
          maxItems: 3
          items:
            x-stoplight:
              id: l71bg4w4qcq0q
            enum:
              - delivery
              - takeout
              - onsite
        available_from:
          type:
            - string
            - 'null'
          format: date
          description: >-
            Data a partir da qual o cupom está disponível para uso, iniciando à
            meia-noite (00:00) do dia indicado, no formato YYYY-MM-DD.
          default: null
        expires_at:
          type:
            - string
            - 'null'
          format: date
          description: >-
            Data em que o cupom expira e não pode mais ser usado. O cupom é
            válido até 23:59 do dia especificado. Formato YYYY-MM-DD.
          default: null
        item_ids:
          type: array
          x-stoplight:
            id: hvaz6dl149o6r
          uniqueItems: true
          maxItems: 30
          description: >-
            Produtos aos quais o desconto será aplicado. Essa opção está
            disponível apenas quando `type` for igual a `percent_discount`.
          items:
            x-stoplight:
              id: vlze0hehb0m2f
            type: object
            properties:
              id:
                type: integer
                x-stoplight:
                  id: m2s3o0nswxgb9
                description: ID do produto associado ao cupom.
              name:
                type: string
                x-stoplight:
                  id: azod22j0swduy
                description: Nome do produto associado ao cupom.
    BadRequest:
      type: object
      examples:
        - code: 4000
          message: Parâmetros inválidos
          details: updated_since não é uma data válida
        - code: 4000
          message: Parâmetros inválidos
          details: status contém valores inválidos
      properties:
        code:
          type: integer
          description: Código interno de identificação do erro
        message:
          type: string
          description: Mensagem de resumo do erro
        details:
          type: string
          description: Informações adicionais sobre o erro
      required:
        - code
        - message
      title: BadRequest
      x-internal: false
    Unauthorized:
      type: object
      x-stoplight:
        id: 43a37f11m9auy
      examples:
        - code: 4010
          message: Token inválido
      title: Unauthorized
      x-internal: false
      properties:
        code:
          type: integer
          description: Código interno de identificação do erro
        message:
          type: string
          description: Mensagem de resumo do erro
      required:
        - code
        - message
  responses:
    BadRequest:
      description: Algum parâmetro enviado é inválido.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequest'
    Unauthorized:
      description: >-
        Não autorizado. Não foi enviado o token no header "X-API-KEY" ou ele é
        inválido.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
    TooManyRequests:
      description: >-
        Muitas requisições foram feitas em um curto período. Verifique nossas
        regras de rate limit.
      content: {}
  securitySchemes:
    apiKey:
      name: X-API-KEY
      type: apiKey
      in: header
      description: >-
        Token específico do estabelecimento integrado. Disponível na seção de
        integrações do Portal do estabelecimento.

````