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

# Push new articles

> Will import new articles into the system and return errors if any



## OpenAPI

````yaml post /articles
openapi: 3.0.4
info:
  title: EzyConnect API
  description: API to Ezytail Logistics Platform
  contact:
    name: Ezytail
    url: https://ezytail.com
    email: contact@ezytail.com
  version: v1
servers: []
security:
  - Bearer: []
paths:
  /articles:
    post:
      tags:
        - Articles
      summary: Push new articles
      description: Will import new articles into the system and return errors if any
      operationId: AddArticle
      parameters:
        - name: validationOnly
          in: query
          schema:
            type: boolean
            default: false
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Article'
          text/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Article'
          application/*+json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Article'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/OperationResult'
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResult'
            text/json:
              schema:
                $ref: '#/components/schemas/OperationResult'
        '206':
          description: Partial Content
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
        default:
          description: Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    Article:
      required:
        - activityCode
        - activityName
        - articleReference
        - longArticleDescription
        - netWeightPerUVC
        - shortArticleDescription
      type: object
      properties:
        activityCode:
          title: CODEACTI
          maxLength: 3
          minLength: 1
          type: string
          description: Unique identifier of the article
          x-tags:
            - Activité
        dateCreated:
          title: DATECREATION
          type: string
          format: date-time
          nullable: true
        dateLastUpdated:
          title: DATELASTUPDATE
          type: string
          format: date-time
          nullable: true
        activityName:
          title: LIBACTI
          maxLength: 30
          minLength: 1
          type: string
          description: Nom de l'activité
          x-tags:
            - Activité
        articleReference:
          title: CODARTI
          maxLength: 16
          minLength: 1
          type: string
          description: Référence article *
          x-tags:
            - Entête Article
        longArticleDescription:
          title: DS1ARTI
          maxLength: 60
          minLength: 1
          type: string
          description: Désignation longue de l'article
          x-tags:
            - Entête Article
        shortArticleDescription:
          title: DS2ARTI
          maxLength: 30
          minLength: 1
          type: string
          description: Désignation courte de l'article
          x-tags:
            - Entête Article
        doReferenceCode:
          title: REFCLIE
          maxLength: 30
          type: string
          description: Code Référence chez le client
          nullable: true
        nomenclatureManaged:
          title: NOMENCL
          type: boolean
          description: Article ayant une gestion de la nomenclature *
        articleType:
          title: TYPARTI
          type: integer
          description: '0 : stockable / 1 : consommable / 2 : service *'
          format: int32
        netWeightPerUVC:
          title: POIDNET
          type: integer
          description: Poids Net de l'UVC
          format: int32
          x-tags:
            - UVC
        grossWeightPerUVC:
          title: POIDUVC
          type: integer
          description: Poids brut de l'UVC
          format: int32
          nullable: true
          x-tags:
            - UVC
        lengthPerUVC:
          title: LONGUVC
          type: integer
          description: Longueur de l'UVC
          format: int32
          nullable: true
          x-tags:
            - UVC
        widthPerUVC:
          title: LARGUVC
          type: integer
          description: Largeur de l'UVC
          format: int32
          nullable: true
          x-tags:
            - UVC
        heightPerUVC:
          title: HAUTUVC
          type: integer
          description: Hauteur de l'UVC
          format: int32
          nullable: true
          x-tags:
            - UVC
        quantityPerPCB:
          title: PCBARTI
          type: integer
          description: Quantité de PCB
          format: int32
          nullable: true
          x-tags:
            - PCB
        quantityPerSPCB:
          title: SPCARTI
          type: integer
          description: Quantité de SPCB
          format: int32
          nullable: true
          x-tags:
            - SPCB
        grossWeightPerPCB:
          title: POIDPCB
          type: integer
          description: Poids brut du PCB
          format: int32
          nullable: true
          x-tags:
            - PCB
        lengthPerPCB:
          title: LONGPCB
          type: integer
          description: Longueur du PCB
          format: int32
          nullable: true
          x-tags:
            - PCB
        widthPerPCB:
          title: LARGPCB
          type: integer
          description: Largeur du PCB
          format: int32
          nullable: true
          x-tags:
            - PCB
        heightPerPCB:
          title: HAUPTCB
          type: integer
          description: Hauteur du PCB
          format: int32
          nullable: true
          x-tags:
            - PCB
        grossWeightPerSPCB:
          title: POIDSPC
          type: integer
          description: Poids brut du SPCB
          format: int32
          nullable: true
          x-tags:
            - SPCB
        lengthPerSPCB:
          title: LONGSPC
          type: integer
          description: Longueur du SPCB
          format: int32
          nullable: true
          x-tags:
            - SPCB
        widthPerSPCB:
          title: LARGSPC
          type: integer
          description: Largeur du SPCB
          format: int32
          nullable: true
          x-tags:
            - SPCB
        heightPerSPCB:
          title: HAUTSPC
          type: integer
          description: Hauteur du SPCB
          format: int32
          nullable: true
          x-tags:
            - SPCB
        articleCategory:
          title: CATARTI
          maxLength: 25
          type: string
          description: Catégorie de l'article *
          nullable: true
          x-tags:
            - Logistique & Stockage
        articleRotationClass:
          title: ABCARTI
          maxLength: 25
          type: string
          description: Classe de rotation de l'article *
          nullable: true
          x-tags:
            - Logistique & Stockage
        receptionMethod:
          title: MDRARTI
          maxLength: 25
          type: string
          description: Taille emplacement dans REFLEX
          nullable: true
          x-tags:
            - Logistique & Stockage
        storageMethod:
          title: MDSARTI
          maxLength: 25
          type: string
          description: Famille de péremption dans reflex
          nullable: true
          x-tags:
            - Logistique & Stockage
        preferredStorageZone:
          title: ZONPREF
          maxLength: 25
          type: string
          description: Zone préférentielle de stockage
          nullable: true
          x-tags:
            - Logistique & Stockage
        preferredStorageAisle:
          title: ALLPREF
          maxLength: 25
          type: string
          description: Famille de stockage dans REFLEX
          nullable: true
          x-tags:
            - Logistique & Stockage
        storageClass:
          title: CLASTOC
          maxLength: 25
          type: string
          description: Classe de stockage *
          nullable: true
          x-tags:
            - Logistique & Stockage
        preparationMethod:
          title: MDPARTI
          maxLength: 25
          type: string
          description: Famille de préparation dans REFLEX
          nullable: true
          x-tags:
            - Logistique & Stockage
        articlePackaging:
          title: EMBARTI
          maxLength: 30
          type: string
          description: Emballage article
          nullable: true
        supplierArticleReference:
          title: REFFOUR
          maxLength: 50
          type: string
          description: Référence fournisseur *
          nullable: true
        supplierArticleDescription:
          title: DESFOUR
          maxLength: 100
          type: string
          description: Désignation fournisseur
          nullable: true
        supplierCode:
          title: CODFOUR
          maxLength: 14
          type: string
          description: Code fournisseur *
          nullable: true
        supplierArticleReference2:
          title: REFOUR2
          maxLength: 20
          type: string
          description: Référence de l'article chez le fournisseur 2 *
          nullable: true
        supplierArticleReference3:
          title: REFOUR3
          maxLength: 20
          type: string
          description: Référence de l'article chez le fournisseur 3 *
          nullable: true
        supplierArticleReference4:
          title: REFOUR4
          maxLength: 20
          type: string
          description: Référence de l'article chez le fournisseur 4 *
          nullable: true
        supplierArticleReference5:
          title: REFOUR5
          maxLength: 20
          type: string
          description: Référence de l'article chez le fournisseur 5 *
          nullable: true
        brandCode:
          title: CODMARQ
          maxLength: 8
          type: string
          description: Code marque *
          nullable: true
        articleAnalysisCode:
          title: CANARTI
          maxLength: 1
          type: string
          description: >-
            Code analyse de l'article : E = Article normal, C = Article
            comptable, D = Echantillons
          nullable: true
        articlePrice1:
          title: PX1ARTI
          type: integer
          description: Prix 1 de l'article
          format: int32
          nullable: true
        articlePrice2:
          title: PX2ARTI
          type: integer
          description: Prix 2 de l'article
          format: int32
          nullable: true
        articlePrice3:
          title: PX3ARTI
          type: integer
          description: Prix 3 de l'article
          format: int32
          nullable: true
        articlePrice4:
          title: PX4ARTI
          type: integer
          description: Prix 4 de l'article
          format: int32
          nullable: true
        articleFamily:
          title: FM1ARTI
          maxLength: 10
          type: string
          description: Famille de l'article *
          nullable: true
        articleSubFamily:
          title: FM2ARTI
          maxLength: 20
          type: string
          description: Sous Famille de l'article *
          nullable: true
        articleBrand:
          title: MARQUE1
          maxLength: 20
          type: string
          description: Marque de l'article *
          nullable: true
        articleSize:
          title: TAILLE1
          maxLength: 10
          type: string
          description: Taille de l'article
          nullable: true
        articleColor:
          title: COLORIS
          maxLength: 30
          type: string
          description: Couleur de l'article
          nullable: true
        articleTypology:
          title: TYPOLOG
          maxLength: 20
          type: string
          description: Typologie de l'article *
          nullable: true
        modelReference:
          title: REFMODL
          maxLength: 100
          type: string
          description: Référence du modèle de l'article *
          nullable: true
        modelDescription:
          title: DESMODL
          maxLength: 100
          type: string
          description: Description du modèle de l'article
          nullable: true
        saleExpirationDate:
          title: DLVARTI
          type: boolean
          description: Date limite de vente
        receptionDeadlineInDays:
          title: DLVRECE
          type: integer
          description: Date limite de réception en J
          format: int32
          nullable: true
        shippingDeadlineInDays:
          title: DLVEXPE
          type: integer
          description: Date limite d'expédition en J
          format: int32
          nullable: true
        serializedArticle:
          title: NOSERIE
          type: boolean
          description: Article ayant une gestion par numéro de série
          nullable: true
        lotTrackedArticle:
          title: NOSLOTS
          type: boolean
          description: Article ayant une gestion par numéro de lot
          nullable: true
        miniArticlesManaged:
          title: NOMINIA
          type: boolean
          description: Article ayant une gestion du type mini articles
          nullable: true
        quantityDeclarationManaged:
          title: DECARTI
          type: boolean
          description: Article ayant une gestion de déclaration de la quantité
          nullable: true
        fragileArticle:
          title: ARTIFRA
          type: boolean
          description: Article fragile nécessitant une préparation spécifique
          nullable: true
        customField1:
          title: SPECIF1
          type: string
          description: Champ spécifique 1 *
          format: date-time
          nullable: true
        customField2:
          title: SPECIF2
          type: string
          description: Champ spécifique 2 *
          format: date-time
          nullable: true
        customField3:
          title: SPECIF3
          maxLength: 256
          type: string
          description: Champ spécifique 3 *
          nullable: true
        customField4:
          title: SPECIF4
          maxLength: 256
          type: string
          description: Champ spécifique 4 *
          nullable: true
        customField5:
          title: SPECIF5
          maxLength: 256
          type: string
          description: Champ spécifique 5 *
          nullable: true
        customField6:
          title: SPECIF6
          maxLength: 256
          type: string
          description: Champ spécifique 6 *
          nullable: true
        customField7:
          title: SPECIF7
          maxLength: 256
          type: string
          description: Champ spécifique 7 *
          nullable: true
        customField8:
          title: SPECIF8
          maxLength: 256
          type: string
          description: Champ spécifique 8 *
          nullable: true
        customField9:
          title: SPECIF9
          maxLength: 256
          type: string
          description: Champ spécifique 9 *
          nullable: true
        customField10:
          title: SPECIF10
          maxLength: 256
          type: string
          description: Champ spécifique 10 *
          nullable: true
        customField11:
          title: SPECIF11
          maxLength: 256
          type: string
          description: Champ spécifique 11 *
          nullable: true
        customField12:
          title: SPECIF12
          type: integer
          description: Champ spécifique 12 *
          format: int32
          nullable: true
        customField13:
          title: SPECIF13
          type: integer
          description: Champ spécifique 13 *
          format: int32
          nullable: true
        customField14:
          title: SPECIF14
          type: integer
          description: Champ spécifique 14 *
          format: int32
          nullable: true
        customField15:
          title: SPECIF15
          type: integer
          description: Champ spécifique 15 *
          format: int32
          nullable: true
        customField16:
          title: SPECIF16
          type: integer
          description: Champ spécifique 16 *
          format: int32
          nullable: true
        customField17:
          title: SPECIF17
          type: string
          description: Champ spécifique 17 *
          format: date-time
          nullable: true
        customField18:
          title: SPECIF18
          type: string
          description: Champ spécifique 18 *
          format: date-time
          nullable: true
        uvcQuantityPerCartonOrPalette:
          title: SUPARTI
          type: integer
          description: UVC Quantity Per Carton Or Palette
          format: int32
          nullable: true
          x-tags:
            - Transport & Point relais
        weightPerCartonOrPalette:
          title: POIDSUP
          type: integer
          description: Weight Per Carton Or Palette
          format: int32
          nullable: true
          x-tags:
            - Logistique & Stockage
        lengthPerCartonOrPalette:
          title: LONGSUP
          type: integer
          description: Length Per Carton Or Palette
          format: int32
          nullable: true
          x-tags:
            - Logistique & Stockage
        widthPerCartonOrPalette:
          title: LARGSUP
          type: integer
          description: Width Per Carton Or Palette
          format: int32
          nullable: true
          x-tags:
            - Logistique & Stockage
        heightPerCartonOrPalette:
          title: HAUTSUP
          type: integer
          description: Height Per Carton Or Palette
          format: int32
          nullable: true
          x-tags:
            - Logistique & Stockage
        customsCode:
          title: CODDOUA
          maxLength: 15
          type: string
          description: Code douane
          nullable: true
          x-tags:
            - Logistique & Stockage
        countryOfOriginCode:
          title: CODPROV
          maxLength: 15
          type: string
          description: Code Pays d'origine
          nullable: true
          x-tags:
            - Logistique & Stockage
        topHazardousMaterial:
          title: RTOP_ARTICLE_DANGEREUX
          type: boolean
          description: Top Article Dangereux
          nullable: true
        topAlcoholArticle:
          title: RTOP_ARTICLE_ALCOOL
          type: boolean
          description: Top Article Alcool
          nullable: true
        topConsignedArticle:
          title: RTOP_ARTICLE_CONSIGNE
          type: boolean
          description: Top Article Consigné
          nullable: true
        disableProduit:
          title: disable_produit
          type: boolean
          description: 'Produits n''est plus pris en compte '
          nullable: true
        barcodes:
          type: array
          items:
            $ref: '#/components/schemas/Barcode'
          description: Liste des codes-barres *
          nullable: true
          x-tags:
            - Identification Article
        alcool:
          $ref: '#/components/schemas/Alcool'
        logisticalVariants:
          type: array
          items:
            $ref: '#/components/schemas/LogisticalVariant'
          nullable: true
        id:
          type: string
          nullable: true
          readOnly: true
      additionalProperties: false
    OperationResult:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/StatusEnum'
        operationId:
          type: string
          nullable: true
          readOnly: true
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/OperationError'
          nullable: true
          readOnly: true
        passed:
          type: array
          items:
            type: string
          nullable: true
          readOnly: true
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    Barcode:
      required:
        - code
      type: object
      properties:
        code:
          maxLength: 17
          minLength: 1
          type: string
          x-tags:
            - Déclaration du code barre
        isPrimary:
          type: boolean
          nullable: true
        barcodeUnit:
          maxLength: 17
          type: string
          nullable: true
          x-tags:
            - Déclaration du code barre
        barcodeQuantity:
          type: integer
          format: int32
          x-tags:
            - Déclaration du code barre
        logisticalVariantCode:
          maxLength: 3
          type: string
          nullable: true
          x-tags:
            - Déclaration du code barre
        disabled:
          type: boolean
          nullable: true
        id:
          type: string
          nullable: true
          readOnly: true
      additionalProperties: false
    Alcool:
      required:
        - articleReference
      type: object
      properties:
        articleReference:
          title: CODARTI
          maxLength: 16
          minLength: 1
          type: string
          description: Référence article
        regieCodes:
          title: RegieCodes
          maxLength: 2
          type: string
          description: code régie
          nullable: true
        degree:
          title: Degree
          type: number
          description: Le degré d'alcool
          format: double
          nullable: true
        capacity:
          title: Capacity
          type: number
          description: Contenance en ml
          format: double
          nullable: true
        itemType:
          title: ItemType
          maxLength: 3
          type: string
          description: 'Valeurs possibles : 010=acquit / 020=CRD '
          nullable: true
        categoryOfTaxation:
          title: CategoryOfTaxation
          maxLength: 50
          type: string
          description: Libelle fiscal
          nullable: true
        customsBrandName:
          title: CustomsBrandName
          maxLength: 40
          type: string
          description: Nom de la marque douanière
          nullable: true
        customsClassification:
          title: CustomsClassification
          maxLength: 9
          type: string
          description: Rubrique douanière
          nullable: true
        id:
          type: string
          nullable: true
          readOnly: true
      additionalProperties: false
    LogisticalVariant:
      required:
        - articleReference
      type: object
      properties:
        id:
          type: string
          nullable: true
          readOnly: true
        articleReference:
          title: CODARTI
          maxLength: 16
          minLength: 1
          type: string
          description: Référence article
        dateCreation:
          type: string
          format: date-time
        dateLasteUpdate:
          type: string
          format: date-time
          nullable: true
        numeroObjet:
          type: integer
          format: int32
          nullable: true
        logisticalVariantCode:
          type: string
          nullable: true
        lvTypeCode:
          type: string
          nullable: true
        baseLv:
          type: boolean
          nullable: true
        packagingLv:
          type: boolean
          nullable: true
        managementLv:
          type: boolean
          nullable: true
        subpackagingLvCode:
          type: string
          nullable: true
        quantityInSubpackagingLv:
          type: integer
          format: int32
          nullable: true
        quantityInBaseLv:
          type: string
          nullable: true
        netWeight:
          type: integer
          format: int32
          nullable: true
        grossWeight:
          type: integer
          format: int32
          nullable: true
        height:
          type: integer
          format: int32
          nullable: true
        width:
          type: integer
          format: int32
          nullable: true
        depth:
          type: integer
          format: int32
          nullable: true
        volume:
          type: integer
          format: int32
          nullable: true
        standardPrice:
          type: integer
          format: int32
          nullable: true
        checkAtReceipt:
          type: boolean
          nullable: true
        repackingAtReceipt:
          type: boolean
          nullable: true
        hdTypeCode:
          type: string
          nullable: true
        locationSizeCode:
          type: string
          description: Taille emplacement dans REFLEX
          nullable: true
        storageGroupCode:
          type: string
          description: Famille de stockage dans REFLEX
          nullable: true
        bulkStorageGroupCode:
          type: string
          nullable: true
        subpackagingLvNbConstitutingLayer:
          type: integer
          format: int32
          nullable: true
        heightLayer:
          type: number
          format: double
          nullable: true
        preparationGroupCode:
          type: string
          description: Famille de préparation dans REFLEX
          nullable: true
        kit:
          type: boolean
          nullable: true
        newLv:
          type: boolean
          nullable: true
        rfxDateLastUpdate:
          type: string
          format: date-time
          nullable: true
        rfxDateCreation:
          type: string
          format: date-time
          nullable: true
        codeUserCreation:
          type: string
          nullable: true
        codeUserLastUpdate:
          type: string
          nullable: true
        lastEvent:
          type: string
          nullable: true
        disableVl:
          type: boolean
          nullable: true
        specif1:
          title: SPECIF1
          type: string
          description: Champ spécifique 1
          format: date-time
          nullable: true
        specif2:
          title: SPECIF2
          type: string
          description: Champ spécifique 2
          format: date-time
          nullable: true
        specif3:
          title: SPECIF3
          type: string
          description: Champ spécifique 3
          format: date-time
          nullable: true
        specif4:
          title: SPECIF4
          type: string
          description: Champ spécifique 4
          format: date-time
          nullable: true
        specif5:
          title: SPECIF5
          maxLength: 256
          type: string
          description: Champ spécifique 5
          nullable: true
        specif6:
          title: SPECIF6
          maxLength: 256
          type: string
          description: Champ spécifique 6
          nullable: true
        specif7:
          title: SPECIF7
          maxLength: 256
          type: string
          description: Champ spécifique 7
          nullable: true
        specif8:
          title: SPECIF8
          maxLength: 256
          type: string
          description: Champ spécifique 8
          nullable: true
        specif9:
          title: SPECIF9
          type: integer
          description: Champ spécifique 9
          format: int32
          nullable: true
        specif10:
          title: SPECIF10
          type: integer
          description: Champ spécifique 10
          format: int32
          nullable: true
        specif11:
          title: SPECIF11
          type: integer
          description: Champ spécifique 11
          format: int32
          nullable: true
        specif12:
          title: SPECIF12
          type: integer
          description: Champ spécifique 12
          format: int32
          nullable: true
        barcodes:
          type: array
          items:
            $ref: '#/components/schemas/Barcode'
          nullable: true
      additionalProperties: false
    StatusEnum:
      enum:
        - 0
        - 1
        - 2
      type: integer
      format: int32
    OperationError:
      type: object
      properties:
        code:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: oauth2
      description: |-
        JWT Authorization header using the Bearer scheme. \r\n\r\n 
                          Enter 'Bearer' [space] and then your token in the text input below.
                          \r\n\r\nExample: 'Bearer 12345abcdef'
      flows:
        authorizationCode:
          authorizationUrl: https://auth.ezytail.com/connect/authorize
          tokenUrl: https://auth.ezytail.com/connect/token
          scopes:
            ezy_connect: EzyConnect API Scope

````