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

# Récupérer un panier

> Récupère un panier existant afin de vérifier son statut.



## OpenAPI

````yaml /openapi.yaml get /api/v1/stores/cart/{cartId}
openapi: 3.0.3
info:
  title: Maketou API
  version: 1.0.0
  description: >-
    API publique de Maketou pour créer des paniers, initier un paiement et
    consulter le statut d'un panier.
servers:
  - url: https://api.maketou.net
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Paniers
    description: Création et consultation des paniers Maketou.
paths:
  /api/v1/stores/cart/{cartId}:
    get:
      tags:
        - Paniers
      summary: Récupérer un panier
      description: Récupère un panier existant afin de vérifier son statut.
      operationId: retrieveCart
      parameters:
        - name: cartId
          in: path
          required: true
          description: Identifiant du panier.
          schema:
            type: string
            format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
      responses:
        '200':
          description: Panier récupéré.
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/XRateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/XRateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/XRateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CartDetails'
              example:
                id: fd2d91d7-20d2-4b86-b067-d474fb0d1e60
                createdAt: '2025-11-28T14:27:00.805Z'
                updatedAt: '2025-11-28T14:27:00.805Z'
                paymentId: 4d729bf5-ef1e-4f7f-bf10-e63bd3db9b04
                status: waiting_payment
                customerInfo:
                  lang: fr-FR
                  email: customer@example.com
                  phone: '+33612345678'
                  lastName: Doe
                  firstName: John
                meta:
                  userId: ok
        '401':
          description: Clé API invalide ou manquante.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Panier introuvable.
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/XRateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/XRateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/XRateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          $ref: '#/components/responses/RateLimited'
      security:
        - bearerAuth: []
components:
  headers:
    XRateLimitLimit:
      description: Nombre maximal de requêtes autorisées dans la fenêtre appliquée.
      schema:
        type: integer
        example: 60
    XRateLimitRemaining:
      description: Nombre de requêtes restantes dans la fenêtre en cours.
      schema:
        type: integer
        example: 42
    XRateLimitReset:
      description: >-
        Date de réinitialisation de la fenêtre au format timestamp Unix en
        secondes.
      schema:
        type: integer
        format: int64
        example: 1752508860
    RetryAfter:
      description: Nombre de secondes à attendre avant d'envoyer une nouvelle requête.
      schema:
        type: integer
        example: 8
  schemas:
    CartDetails:
      allOf:
        - $ref: '#/components/schemas/Cart'
        - type: object
          properties:
            paymentId:
              type: string
              format: uuid
              example: 4d729bf5-ef1e-4f7f-bf10-e63bd3db9b04
            meta:
              type: object
              additionalProperties:
                type: string
              example:
                userId: ok
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          example: INVALID_PRODUCT
        message:
          type: string
          example: The product is not available or does not belong to this store
    Cart:
      type: object
      required:
        - id
        - createdAt
        - updatedAt
        - status
        - customerInfo
      properties:
        id:
          type: string
          format: uuid
          example: fd2d91d7-20d2-4b86-b067-d474fb0d1e60
        createdAt:
          type: string
          format: date-time
          example: '2025-11-28T14:27:00.805Z'
        updatedAt:
          type: string
          format: date-time
          example: '2025-11-28T14:27:00.805Z'
        status:
          $ref: '#/components/schemas/CartStatus'
        customerInfo:
          $ref: '#/components/schemas/CustomerInfo'
    CartStatus:
      type: string
      enum:
        - waiting_payment
        - completed
        - abandoned
        - payment_failed
      description: Statut du panier.
    CustomerInfo:
      type: object
      properties:
        firstName:
          type: string
          example: John
        lastName:
          type: string
          example: Doe
        email:
          type: string
          format: email
          example: customer@example.com
        phone:
          type: string
          example: '+33612345678'
        lang:
          type: string
          example: fr-FR
  responses:
    RateLimited:
      description: Limite de fréquence dépassée.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/XRateLimitLimit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/XRateLimitRemaining'
        X-RateLimit-Reset:
          $ref: '#/components/headers/XRateLimitReset'
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            code: RATE_LIMITED
            message: Too many requests. Please retry later.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: Utilisez votre clé API de Maketou dans le header Authorization.

````