openapi: 3.1.0
info:
  title: King Jouet API
  version: 1.0.0
  description: API pour la gestion des produits et des commandes de King Jouet
  contact:
    name: Support Freepry API King Jouet
    email: jdecampos@lizee.co
  license:
    name: Proprietary
    url: https://www.king-jouet.com/terms
servers:
  - url: https://n8nkj.freepry.com/webhook/live/v1
    description: Serveur live (production)
  - url: https://n8nkj.freepry.com/webhook/main/v1
    description: Serveur main (développement)
tags:
  - name: Achats
    description: Opérations liées aux achats des clients
paths:
  /listing-achat:
    get:
      summary: Liste des achats
      description: Récupère la liste des achats effectués
      operationId: getListingAchat
      tags:
        - Achats
      servers:
        - url: https://n8nkj.freepry.com/webhook/live/v1
          description: Serveur live (production)
        - url: https://n8nkj.freepry.com/webhook/main/v1
          description: Serveur main (développement)
      responses:
        '200':
          description: Liste des achats récupérée avec succès
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    total:
                      type: integer
                      description: Nombre total d'achats correspondant aux critères
                    achats:
                      type: array
                      items:
                        type: object
                        required:
                          - date_validation_depot
                          - reference_magasin
                        properties:
                          reference_magasin:
                            type: string
                            description: Code du magasin où l'achat a été effectué
                          date_validation_depot:
                            type: string
                            format: date-time
                            description: Date de validation du dépôt (format ISO 8601)
                          montant_reprise:
                            type: number
                            format: float
                            description: Montant de la reprise en euros
                          reference_reprise:
                            type: string
                            description: Numéro de référence unique de la reprise
                          referentiel_tva:
                            type: string
                            description: Référentiel TVA associé à l'achat
              examples:
                success:
                  summary: Exemple de réponse réussie avec données
                  value:
                    - total: 3
                      achats:
                        - reference_magasin: '1103'
                          date_validation_depot: '2025-07-07T13:45:15.012Z'
                          montant_reprise: 0.7
                          reference_reprise: '0011752672551335'
                          referentiel_tva: NORM_B
                        - reference_magasin: '1103'
                          date_validation_depot: '2025-07-16T13:34:10.188Z'
                          montant_reprise: 4.5
                          reference_reprise: '0011752672551336'
                          referentiel_tva: NORM_B
                        - reference_magasin: '1103'
                          date_validation_depot: '2025-07-16T13:34:10.188Z'
                          montant_reprise: 3.3
                          reference_reprise: '0011752672551337'
                          referentiel_tva: NORM_B
                empty:
                  summary: Exemple de réponse sans données
                  value:
                    - total: 0
                      achats: []
        '403':
          description: Erreur d'authentification
          content:
            text/plain:
              example: Authorization data is wrong!
        '500':
          description: Erreur serveur
          content:
            application/json:
              example:
                code: 0
                message: 'Workflow Webhook Error: Workflow could not be started!'
  /modification-achat:
    post:
      summary: Modification d'achats en masse
      description: >-
        Modifie plusieurs achats existants à partir de leurs références de
        reprise
      operationId: postModificationAchat
      tags:
        - Achats
      servers:
        - url: https://n8nkj.freepry.com/webhook/live/v1
          description: Serveur live (production)
        - url: https://n8nkj.freepry.com/webhook/main/v1
          description: Serveur main (développement)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - reference_reprise
              properties:
                reference_reprise:
                  type: array
                  items:
                    type: string
                  description: >-
                    Liste des numéros de référence unique des reprises à
                    modifier
                  example:
                    - '05101752844098558'
                    - '05101752844098559'
                    - '05101752844098560'
            examples:
              single:
                summary: Modification d'un seul achat
                value:
                  reference_reprise:
                    - '05101752844098558'
              multiple:
                summary: Modification de plusieurs achats
                value:
                  reference_reprise:
                    - '05101752844098558'
                    - '05101752844098559'
                    - '05101752844098560'
      responses:
        '200':
          description: Workflow démarré avec succès
          content:
            text/plain:
              schema:
                type: string
              example: Workflow was started
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
    basicAuth:
      type: http
      scheme: basic
      description: Authentification par nom d'utilisateur et mot de passe
security:
  - basicAuth: []
