> ## 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.

# Autenticação

> É nesta requisição que você poderá estar obtendo o token de acesso às demais requisições. Note que este mesmo token é necessário em todas as requisições subjacentes. Este token, como pode ser visto na resposta logo abaixo, é do tipo `Bearer`.

Para autenticar, nesta rota utilize o `email` e o `password` ambos divididos com `:` e convertidos para o padrão 'encode' Base64 (vide RFC 4648), obedecendo o padrão demonstrado abaixo e inseridos no header `X-CREDENTIALS`.

Exemplo: `--header 'X-CREDENTIALS: base64_encode([email]:[password])'`

Os campos client_id e client_secret são adicionados no corpo da requisição (raw), como demonstra o exemplo logo abaixo.




## OpenAPI

````yaml POST /auth/login
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:
  /auth/login:
    post:
      summary: Login
      description: >-
        É nesta requisição que você poderá estar obtendo o token de acesso às
        demais requisições. Note que este mesmo token é necessário em todas as
        requisições subjacentes. Este token, como pode ser visto na resposta
        logo abaixo, é do tipo `Bearer`.


        Para autenticar, nesta rota utilize o `email` e o `password` ambos
        divididos com `:` e convertidos para o padrão 'encode' Base64 (vide RFC
        4648), obedecendo o padrão demonstrado abaixo e inseridos no header
        `X-CREDENTIALS`.


        Exemplo: `--header 'X-CREDENTIALS: base64_encode([email]:[password])'`


        Os campos client_id e client_secret são adicionados no corpo da
        requisição (raw), como demonstra o exemplo logo abaixo.
      parameters:
        - name: Accept
          in: header
          required: true
          schema:
            type: string
          example: application/json
        - name: Content-Type
          in: header
          required: true
          schema:
            type: string
          example: application/json
        - name: X-CREDENTIALS
          in: header
          required: true
          schema:
            type: string
          example: '{{x_credential}}'
      requestBody:
        content:
          application/json:
            example:
              client_id: '{{client_id}}'
              client_secret: '{{client_secret}}'
            schema:
              type: object
              properties:
                client_id:
                  type: string
                client_secret:
                  type: string
      responses:
        '200':
          description: Login Response
          content:
            application/json:
              example:
                access_token: 6|KPFUf8qNNernBuWdnxqSxFSceKPuPDQII2hqqKyi
                token_type: Bearer
                expires_in: '2023-07-26 12:09:41'
              schema:
                type: object
                properties:
                  access_token:
                    type: string
                  token_type:
                    type: string
                  expires_in:
                    type: string

````