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

# Registra um Plano Anual

> Este endpoint realiza o registro de um plano anual, compreendendo os campos demonstrados no corpo da requisição.

| Campo | Descrição |
| --- | --- |
| `model_id` | Corresponde ao `ID` modelo do dispositivo do qual será realizada a devida contração do plano anual. O identificador do modelo pode ser encontrado na coleção de Modelos de Dispositivos. |
| `used` | Informa que o dispositivo em questão possui mais de três meses de uso, por padrão esse valor é `false` |
| `protection_id` | Corresponde ao `ID` do plano de proteção que pode ser obtido ao realizar uma cotação para Planos Anuais. |
| `imei` | Corresponde ao número de série do dispositivo. |
| `imei_2` | Alguns dispositivos podem ter mais de um IMEI, quando houver se faz necessária a inserção deste dado, como dispõe as Condições Gerais da Clubfix. |
| `customer_id` | Corresponde ao `ID` do cliente cadastrado na nossa base através do endpoint `customers` que dispõe a seção de Clientes. |
| `payment.method` | Este campo se refere ao método de pagamento utilizado para os planos anuais de parceiros que não utilizam o Gateway da Clubfix. |
| `payment.installments` | Este campo se refere à quantidade de parcelas em que o plano anual foi processado quando o parceiro em questão não utiliza o Gateway da Clubfix. |

> Observa-se então que o registro de um plano anual de parceiros que não utilzem o nosso gateway deve vir acompanhado de um objeto `payment` contemplando o método de processamento e a quantidade de parcelas.

<ParamField header="Authorization" type="string" required>
  Token de autenticação do tipo Bearer obtido através do endpoint de login.
</ParamField>

<ParamField header="Accept" type="string" required>
  Deve ser definido como `application/json`.
</ParamField>

<ParamField header="Content-Type" type="string" required>
  Deve ser definido como `application/json`.
</ParamField>


## OpenAPI

````yaml POST /annual-plans
openapi: 3.0.3
info:
  title: Clubfix Webservice de Parceiros
  description: >-
    Bem vido(a) à documentação do **Webservice de Parceiros** da **Clubfix.** Os
    recursos aqui dispostos são suplementados com exemplos de respostas
    esperadas, para nortear a implementação. Caso haja algum empecilho ou erro
    não esperado, fique à vontade para chamar o suporte em TI pelos canais que
    você já conhece.


    Observação: Utilize sempre os cabeçalhos `Content-Type` e `Accept` como
    `application/json`


    #### **URL Base**


    | **Ambiente** | **URL** |

    | --- | --- |

    | Homologação | [https://homolog.clubfix.com.br/webservice]() |

    | Produção | [https://clubfix.com.br/webservice]() |


    > NOTA: Para conseguir utilizar ambos ambientes, faz-se necessário solicitar
    pelo nosso time de suporte a geração das chaves de autenticação mencionadas
    na seção de **Autenticação**. 
      

    #### Paginação


    Para navegar nos recursos de listagem através de suas páginas, utilize as
    `parâmeros` dispostas na tabela abaixo


    | **Parâmetro** | **Descrição** |

    | --- | --- |

    | page | Corresponde à pagina que você deseja exibir os dados. |

    | per_page | Altera a quantidade de itens devolvidos em uma requisição. |

    | current_page | Identifica a pagina correspondente àquela requisição. |


    ### **Conhecendo os erros comuns**


    | **Status Code** | **Descrição** |

    | --- | --- |

    | 422 | Erro em algum parâmetro fornecido. O resultado deste erro será um
    objeto, onde a sua chave indicará o campo que não está em conformidade. |

    | 401 | Não autorizado. Significa que há ausência de um token válido na
    requisição, seja por expiração, não fornecimento, ou, no caso do login, as
    suas credenciais não estão corretas. |

    | 5** | Erro de servidor no endpoint requisitado. Quando isso ocorrer,
    contate o nosso suporte. |
  version: 1.0.0
servers: []
security: []
paths:
  /annual-plans:
    post:
      summary: Registra um Plano Anual
      description: >-
        Este endpoint realiza o registro de um plano anual, compreendendo os
        campos demonstrados no corpo da requisição.


        | Campo | Descrição |

        | --- | --- |

        | `model_id` | Corresponde ao `ID` modelo do dispositivo do qual será
        realizada a devida contração do plano anual. O identificador do modelo
        pode ser encontrado na coleção de Modelos de Dispositivos. |

        | `used` | Informa que o dispositivo em questão possui mais de três
        meses de uso, por padrão esse valor é `false` |

        | `protection_id` | Corresponde ao `ID` do plano de proteção que pode
        ser obtido ao realizar uma cotação para Planos Anuais. |

        | `imei` | Corresponde ao número de série do dispositivo. |

        | `imei_2` | Alguns dispositivos podem ter mais de um IMEI, quando
        houver se faz necessária a inserção deste dado, como dispõe as Condições
        Gerais da Clubfix. |

        | `customer_id` | Corresponde ao `ID` do cliente cadastrado na nossa
        base através do endpoint `customers` que dispõe a seção de Clientes. |

        | `payment.method` | Este campo se refere ao método de pagamento
        utilizado para os planos anuais de parceiros que não utilizam o Gateway
        da Clubfix. |

        | `payment.installments` | Este campo se refere à quantidade de parcelas
        em que o plano anual foi processado quando o parceiro em questão não
        utiliza o Gateway da Clubfix. |


        > Observa-se então que o registro de um plano anual de parceiros que não
        utilzem o nosso gateway deve vir acompanhado de um objeto `payment`
        contemplando o método de processamento e a quantidade de parcelas.
      parameters: []
      responses:
        '200':
          description: Success

````