# Atualizar cadeia de ofertas

Atualiza uma cadeia de ofertas específica.

Endpoint: PUT /v2/project/{project_id}/admin/offer_chain/id/{offer_chain_id}
Version: 2.0.0
Security: basicAuth

## Path parameters:

  - `project_id` (integer, required)
    ID de projeto. Você pode encontrar esse parâmetro na sua Conta de Distribuidor, próximo ao nome do projeto e na barra de endereços do navegador ao trabalhar com um projeto. O URL tem o seguinte formato: https://publisher.xsolla.com//projects/.
    Example: 44056

  - `offer_chain_id` (integer, required)
    ID de cadeia de ofertas.
    Example: 101

## Request fields (application/json):

  - `id` (integer)
    ID exclusivo da cadeia de ofertas.

  - `name` (object,null, required)
    Objeto com traduções para o nome do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, en) ou códigos de idioma de cinco caracteres (por exemplo, en-US). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as opções para o mesmo idioma são fornecidas (por exemplo, en e en-US), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na [documentação](/pt/doc/shop-builder/references/supported-languages/).

  - `order` (integer)
    Define a ordem do arranjo.

  - `description` (object,null)
    Objeto com traduções para a descrição do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, en) ou códigos de localidade de cinco caracteres (por exemplo, en-US). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as opções para o mesmo idioma são fornecidas (por exemplo, en e en-US), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na [documentação](/pt/doc/shop-builder/references/supported-languages/).

  - `date_start` (string, required)
    Data em que a cadeia de ofertas é iniciada.

  - `date_end` (string,null)
    Data em que a cadeia de ofertas termina. Pode ser null. Se date_end for null, a cadeia de ofertas não terá um limite de tempo.

  - `is_enabled` (boolean, required)

  - `recurrent_schedule` (any)

  - `steps` (array, required)

  - `steps.step_id` (integer,null)
    ID exclusivo da etapa da cadeia. Especifique-o durante a atualização para reter o progresso do usuário para esta etapa.

  - `steps.step_number` (integer, required)
    Número da etapa.

  - `steps.is_free` (boolean, required)
    Indica se a etapa da cadeia de ofertas é gratuita:Se true, a etapa deve ser resgatada usando a chamada Resgate a etapa da cadeia de oferta gratuita.Se false, ela deve ser comprada usando a chamada Criar ordem para a etapa da cadeia de ofertas pagas.

  - `steps.items` (array, required)

  - `steps.items.sku` (string, required)
    ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.

  - `steps.items.quantity` (integer, required)
    Quantidade da recompensa de itens para esta etapa da cadeia.

  - `steps.items.order` (integer,null)
    Ordem de recompensa para a etapa da cadeia de ofertas.

  - `is_always_visible` (boolean)
    Se a cadeia é visível a todos os usuários. Se true, a cadeia é sempre exibida, independentemente do status de autenticação ou atributos do usuário.

Para configurar a personalização, você precisa passar false. A lógica da exibição da cadeia será a seguinte:
  * Se false for passado e as condições de visibilidade forem especificadas na matriz attribute_conditions, a cadeia é considerada personalizada e exibida somente a usuários autorizados que cumprem as condições especificadas.
  * Se false for passado e a matriz attribute_conditions não for passada ou estiver vazia, a cadeia é exibida a usuários não autorizados, bem como nos casos onde nenhuma cadeia correspondente é encontrada para o usuário autorizado.

  - `attribute_conditions` (array)
    Condições para validar atributos do usuário.
Determina a disponibilidade da cadeia com base em se os atributos de usuário correspondem a todas as condições especificadas.

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1020

  - `errorMessage` (string)
    Example: "[0401-1020]: Error in Authentication method occurred"

## Response 404 fields (application/json):

  - `statusCode` (integer)
    Example: 422

  - `errorCode` (integer)
    Example: 1102

  - `errorMessage` (string)
    Example: "[0401-1102]: Unprocessable Entity. The property `property_name` is required"

  - `transactionId` (string)
    Example: "x-x-x-x-transactionId-mock-x-x-x"

  - `errorMessageExtended` (object,null)

## Response 422 fields (application/json):

  - `statusCode` (integer)
    Example: 422

  - `errorCode` (integer)
    Example: 1102

  - `errorMessage` (string)
    Example: "[0401-1102]: Unprocessable Entity. The property `property_name` is required"

  - `transactionId` (string)
    Example: "x-x-x-x-transactionId-mock-x-x-x"

  - `errorMessageExtended` (object,null)


## Response 204 fields
