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

# Get My Order

> Detalhe de um pedido do comprador autenticado, com os campos do checkout e o conteúdo entregue.
<Warning>O conteúdo em `deliveries` só sai para pedidos aprovados. Reembolso, cancelamento, recusa e chargeback revogam o acesso ao que foi comprado, e a lista volta vazia. A checagem é feita no servidor, então vale para qualquer front.</Warning>
<Note>Um pedido que não pertence ao comprador da sessão responde `404`, e não `403`: para quem pergunta, o pedido de outra pessoa simplesmente não existe.</Note>



## OpenAPI

````yaml /openapi/storefront-account.yaml get /webstore/account/order/{order_id}
openapi: 3.1.0
info:
  title: CentralCart Storefront API (Conta)
  version: 1.0.0
  description: Histórico de pedidos e avaliação, na visão do comprador autenticado.
servers:
  - url: https://api.centralcart.io/v1
    description: Produção
security: []
paths:
  /webstore/account/order/{order_id}:
    get:
      tags:
        - Conta
      summary: Get My Order
      description: >-
        Detalhe de um pedido do comprador autenticado, com os campos do checkout
        e o conteúdo entregue.

        <Warning>O conteúdo em `deliveries` só sai para pedidos aprovados.
        Reembolso, cancelamento, recusa e chargeback revogam o acesso ao que foi
        comprado, e a lista volta vazia. A checagem é feita no servidor, então
        vale para qualquer front.</Warning>

        <Note>Um pedido que não pertence ao comprador da sessão responde `404`,
        e não `403`: para quem pergunta, o pedido de outra pessoa simplesmente
        não existe.</Note>
      operationId: getWebstoreMyOrder
      parameters:
        - $ref: '#/components/parameters/StoreDomain'
        - name: order_id
          in: path
          required: true
          description: Identificador público do pedido.
          schema:
            type: string
      responses:
        '200':
          description: Pedido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDetail'
              example:
                id: KgCzCUtJDsvM
                status: APPROVED
                price: 49.9
                currency: BRL
                gateway: PIX
                created_at: '2024-03-03T23:40:02.000-03:00'
                paid_at: '2024-03-03T23:43:12.000-03:00'
                coupon: PROMO10
                fields:
                  - name: nickname
                    value: jogador123
                packages:
                  - id: 1
                    name: VIP Inicial
                    quantity: 1
                    price: 49.9
                    image: https://cdn.centralcart.io/stores/1/packages/image.png
                    options:
                      - name: Duração
                        value: 30 dias
                deliveries:
                  - id: 91
                    type: LICENSE_KEY
                    value: XXXX-YYYY-ZZZZ
                    render: true
                    created_at: '2024-03-03T23:43:14.000-03:00'
        '401':
          $ref: '#/components/responses/CustomerUnauthenticated'
        '404':
          description: Pedido não encontrado, ou não pertence a este comprador
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                errors:
                  - message: Pedido não encontrado.
      security:
        - customerAuth: []
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:
    OrderDetail:
      allOf:
        - $ref: '#/components/schemas/OrderSummary'
        - type: object
          properties:
            coupon:
              type: string
              nullable: true
            fields:
              type: array
              description: Campos personalizados de checkout preenchidos no pedido.
              items:
                type: object
                properties:
                  name:
                    type: string
                  value:
                    type: string
            packages:
              type: array
              items:
                allOf:
                  - $ref: '#/components/schemas/OrderPackage'
                  - type: object
                    properties:
                      options:
                        type: array
                        description: Escolhas feitas nos campos personalizados do produto.
                        items:
                          type: object
                          properties:
                            name:
                              type: string
                              nullable: true
                            value:
                              type: string
                              nullable: true
            deliveries:
              type: array
              description: Conteúdo entregue. Vazio para pedidos que não estão aprovados.
              items:
                type: object
                properties:
                  id:
                    type: number
                  type:
                    type: string
                    enum:
                      - LICENSE_KEY
                      - CONTENT
                      - DOWNLOAD
                      - CHAT
                  value:
                    type: string
                    nullable: true
                  render:
                    type: boolean
                    description: Se o conteúdo deve ser exibido como HTML.
                  created_at:
                    type: string
                    nullable: true
    Error:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
              code:
                type: string
              ref:
                type: string
    OrderSummary:
      type: object
      properties:
        id:
          type: string
          description: Identificador público do pedido, o mesmo que aparece na URL.
        status:
          type: string
          enum:
            - PENDING
            - APPROVED
            - REJECTED
            - CANCELED
            - REFUNDED
            - CHARGEDBACK
        price:
          type: number
        currency:
          type: string
        gateway:
          type: string
        created_at:
          type: string
          nullable: true
        paid_at:
          type: string
          nullable: true
        packages:
          type: array
          items:
            $ref: '#/components/schemas/OrderPackage'
    OrderPackage:
      type: object
      properties:
        id:
          type: number
          description: ID do produto no catálogo.
        name:
          type: string
        quantity:
          type: number
        price:
          type: number
        image:
          type: string
          nullable: true
  responses:
    CustomerUnauthenticated:
      description: Sessão 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
  securitySchemes:
    customerAuth:
      type: http
      scheme: bearer
      description: '`access_token` do comprador, devolvido por `POST /webstore/auth/verify`.'

````