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

# List Affiliate Transactions

> Extrato do afiliado, da movimentação mais recente para a mais antiga.
<Note>Cada linha é uma comissão ou um saque. Nas comissões, `order_packages` traz os produtos do pedido que gerou o crédito. Nos saques, `withdraw_info` guarda os dados de PIX usados no pedido de retirada.</Note>



## OpenAPI

````yaml /openapi/storefront-affiliate.yaml get /webstore/affiliate/transactions
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/transactions:
    get:
      tags:
        - Afiliados
      summary: List Affiliate Transactions
      description: >-
        Extrato do afiliado, da movimentação mais recente para a mais antiga.

        <Note>Cada linha é uma comissão ou um saque. Nas comissões,
        `order_packages` traz os produtos do pedido que gerou o crédito. Nos
        saques, `withdraw_info` guarda os dados de PIX usados no pedido de
        retirada.</Note>
      operationId: listWebstoreAffiliateTransactions
      parameters:
        - $ref: '#/components/parameters/StoreDomain'
        - name: page
          in: query
          required: false
          description: 'Página (padrão: 1). São 15 por página.'
          schema:
            type: number
      responses:
        '200':
          description: Extrato paginado
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/AffiliateTransaction'
              example:
                meta:
                  total: 2
                  per_page: 15
                  current_page: 1
                  last_page: 1
                data:
                  - id: 501
                    operation: COMMISSION
                    amount: 15.8
                    message: null
                    order_id: 90210
                    order_packages:
                      - package_id: 1
                        name: VIP Inicial
                        quantity: 1
                    created_at: '2024-03-03T23:43:12.000-03:00'
                  - id: 498
                    operation: WITHDRAW_PENDING
                    amount: 50
                    message: null
                    order_id: null
                    withdraw_info:
                      full_name: João da Silva
                      pix_key: comprador@example.com
                      pix_key_type: EMAIL
                      cpf_cnpj: '12345678900'
                    created_at: '2024-03-01T10:12:00.000-03:00'
        '401':
          $ref: '#/components/responses/CustomerUnauthorized'
        '404':
          $ref: '#/components/responses/AffiliateNotFound'
components:
  parameters:
    StoreDomain:
      name: x-store-domain
      in: header
      required: true
      description: 'Domínio da sua loja (ex: sualoja.centralcart.ai)'
      schema:
        type: string
  schemas:
    PaginationMeta:
      type: object
      properties:
        total:
          type: number
        per_page:
          type: number
        current_page:
          type: number
        last_page:
          type: number
    AffiliateTransaction:
      type: object
      properties:
        id:
          type: number
        operation:
          type: string
          enum:
            - COMMISSION
            - WITHDRAW_PENDING
            - WITHDRAW_SUCCESS
            - WITHDRAW_FAILED
        amount:
          type: number
        message:
          type: string
          nullable: true
        order_id:
          type: number
          nullable: true
          description: Pedido que gerou a comissão. `null` nas movimentações de saque.
        order_packages:
          type: array
          description: Produtos do pedido. Presente apenas em `COMMISSION`.
          items:
            type: object
            properties:
              package_id:
                type: number
              name:
                type: string
              quantity:
                type: number
        withdraw_info:
          allOf:
            - $ref: '#/components/schemas/WithdrawSettings'
          description: Dados de PIX do saque. Presente apenas nas movimentações de saque.
        created_at:
          type: string
    WithdrawSettings:
      type: object
      nullable: true
      required:
        - full_name
        - pix_key
        - pix_key_type
        - cpf_cnpj
      properties:
        full_name:
          type: string
        pix_key:
          type: string
        pix_key_type:
          type: string
          enum:
            - CPF
            - CNPJ
            - EMAIL
            - PHONE
            - RANDOM
        cpf_cnpj:
          type: string
    Error:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
              code:
                type: string
              ref:
                type: string
  responses:
    CustomerUnauthorized:
      description: Sessão do cliente ausente, inválida ou expirada
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            errors:
              - message: Sessão inválida ou expirada.
                code: CUSTOMER_UNAUTHENTICATED
    AffiliateNotFound:
      description: O cliente autenticado não é afiliado desta loja
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            errors:
              - message: Afiliado não encontrado
  securitySchemes:
    customerAuth:
      type: http
      scheme: bearer
      description: '`access_token` do comprador, devolvido por `POST /webstore/auth/verify`.'

````