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

# Resolve Referral Code

> Diz se um código de indicação existe na loja e por quantos dias a atribuição vale.
<Note>Não exige sessão, porque quem chega por um link de indicação ainda não está logado. Chame ao ver um `?ref=` na URL e, se `valid` for `true`, guarde o código por `days` dias e mande em `affiliate_code` no checkout. Código inexistente responde `200` com `valid: false`, e não `404`: um link de indicação torto não deve virar erro na vitrine.</Note>



## OpenAPI

````yaml /openapi/storefront-affiliate.yaml get /webstore/affiliate/ref/{code}
openapi: 3.1.0
info:
  title: CentralCart Storefront API (Afiliados)
  version: 1.0.0
  description: >-
    Programa de afiliados da loja, na visão do comprador que indica. Todas as
    rotas exigem a sessão do cliente, exceto a que resolve um código de
    indicação.
servers:
  - url: https://api.centralcart.io/v1
    description: Produção
security:
  - customerAuth: []
paths:
  /webstore/affiliate/ref/{code}:
    get:
      tags:
        - Afiliados
      summary: Resolve Referral Code
      description: >-
        Diz se um código de indicação existe na loja e por quantos dias a
        atribuição vale.

        <Note>Não exige sessão, porque quem chega por um link de indicação ainda
        não está logado. Chame ao ver um `?ref=` na URL e, se `valid` for
        `true`, guarde o código por `days` dias e mande em `affiliate_code` no
        checkout. Código inexistente responde `200` com `valid: false`, e não
        `404`: um link de indicação torto não deve virar erro na vitrine.</Note>
      operationId: resolveWebstoreReferralCode
      parameters:
        - $ref: '#/components/parameters/StoreDomain'
        - name: code
          in: path
          required: true
          description: Código vindo do `?ref=` da URL.
          schema:
            type: string
      responses:
        '200':
          description: Situação do código
          content:
            application/json:
              schema:
                type: object
                properties:
                  valid:
                    type: boolean
                    description: >-
                      Se o código corresponde a um afiliado ou a um link desta
                      loja.
                  ref_code:
                    type: string
                  days:
                    type: number
                    description: >-
                      Por quantos dias guardar a atribuição. Quando o código não
                      existe, vem o padrão da loja.
              examples:
                Válido:
                  value:
                    valid: true
                    ref_code: joao
                    days: 30
                Inexistente:
                  value:
                    valid: false
                    ref_code: joao
                    days: 30
      security: []
components:
  parameters:
    StoreDomain:
      name: x-store-domain
      in: header
      required: true
      description: 'Domínio da sua loja (ex: sualoja.centralcart.ai)'
      schema:
        type: string
  securitySchemes:
    customerAuth:
      type: http
      scheme: bearer
      description: '`access_token` do comprador, devolvido por `POST /webstore/auth/verify`.'

````