Accéder au contenu principal Passer au contenu complémentaire

Créer ou mettre à jour des enregistrements par lots

Crée ou met à jour par lots plusieurs enregistrements de données appartenant à une ou plusieurs entité(s) dans le conteneur de données spécifié. Les enregistrements seront fournis dans le contenu de requête au format XML ou JSON.

Note InformationsRemarque : L'ID que vous avez soumis sera utilisé pour créer l'enregistrement, même si l'ID est configuré pour être auto-généré dans le modèle de données. Une opération de mise à jour aura lieu si un enregistrement avec le même ID existe déjà dans MDM.

Vous pouvez également effectuer une mise à jour partielle de nombreux enregistrements appartenant à une entité en une opération de masse via l'API REST. Pour plus d'informations, consultez Mise à jour partielle de masse d'enregistrements de données MDM via l'API REST (uniquement en anglais).

Requête
POST /services/rest/data/{containerName}/batch

Le corps est une représentation XML ou JSON de l'enregistrement ou des enregistrements à créer ou à mettre à jour. Les enregistrements sous forme de représentation XML doivent être entourés par une balise racine avec un nom arbitraire, records par exemple. Chaque enregistrement contient :

  • un ou plusieurs champ(s) de clé(s) primaire(s) avec valeur(s), obligatoires car il(s) sera(ont) utilisé(s) pour spécifier l'enregistrement à créer ou à mettre à jour. Si l'enregistrement n'existe pas dans le conteneur de données, il sera créé. Si l'enregistrement existe déjà dans le conteneur de données, il sera mis à jour ;
  • autres champs définis pour l'entité spécifiée, dans laquelle les champs obligatoires doivent être renseignés.
Paramètres
  • containerName : valeur String qui spécifie le nom du conteneur de données dans lequel vous souhaitez créer ou mettre à jour différents enregistrements de données.
  • container : valeur String qui représente le type du conteneur de données. La valeur est soit MASTER (default), soit STAGING.
  • updateReport : valeur booléenne qui contrôle la création d'une entrée dans le journal (rapport de mise à jour). Par défaut, la valeur est false.
  • beforeSaving : valeur booléenne qui contrôle l'appel d'un processus Before Saving. Par défaut, la valeur est false. Si le paramètre beforeSaving est défini sur true, le paramètre updateReport doit également être défini sur true étant donné qu'une entrée de journal (rapport de mise à jour) est nécessaire pour appeler le processus Before Saving.
En-têtes
  • Content-Type : application/xml ou text/xml ou application/json
    Note InformationsRemarque : Si la déclaration XML est incluse dans le contenu de la requête XML et que l'attribut d'encodage est utilisé, vous devez définir sa valeur à UTF-8.
  • Authorization : schéma d'authentification basique
Réponse Aucun contenu.
Statut
  • 200 OK : l'opération a bien été exécutée.
  • 400 BAD REQUEST la requête contient un paramètre invalide, par exemple un nom de stockage invalide, un type de stockage invalide ou un mauvais document XML.
  • 401 UNAUTHORIZED : la connexion échoue, l'identifiant ou le mot de passe est invalide.
  • 403 FORBIDDEN : l'autorisation requise est manquante, par exemple pas d'autorisation en écriture (WRITE).
  • 404 NOT FOUND : la ressource n'existe pas, par exemple l'URL du service est invalide.
  • 500 INTERNAL SERVER ERROR : autres erreurs, par exemple le processus Before Saving retourne une erreur.
Limitation Cette API REST ne supporte pas la création et la mise à jour de différents enregistrements par lots pour l'entité Role dans le conteneur de données système PROVISIONING.

Exemple de requête au format XML

<records>
    <Store>
        <Id>100001</Id>
        <Address>Beijing APM</Address>
    </Store>
    <Store>
        <Id>100002</Id>
        <Address>Beijing Department Store</Address>
    </Store>
    <Product>
        <Picture>/imageserver/upload/TalendShop/dog.jpg</Picture>
        <Id>231035933</Id>
        <Name>Talend Dog T-Shirt</Name>
        <Description>Doggie t-shirt from American Apparel</Description>
        <Features>
            <Sizes>
                <Size>Small</Size>
                <Size>Medium</Size>
                <Size>Large</Size>
                <Size>X-Large</Size>
            </Sizes>
            <Colors>
                <Color>White</Color>
            </Colors>
        </Features>
        <Availability>false</Availability>
        <Price>16.99</Price>
        <Family>[3]</Family>
        <OnlineStore>Talend Shop@@http://www.cafepress.com/Talend.231035933</OnlineStore>
        <Stores>
            <Store>100001</Store>
            <Store>100002</Store>
        </Stores>
    </Product>
</records>

Exemple de requête au format JSON

[
    {
        "Store": {
            "Id": "100001",
            "Address": "Beijing APM"
        }
    },
    {
        "Store": {
            "Id": "100002",
            "Address": "Beijing Department Store"
        }
    },
    {
        "Product": {
            "Picture": "/imageserver/upload/TalendShop/dog.jpg",
            "Id": "231035933",
            "Name": "Talend Dog T-Shirt",
            "Description": "Doggie t-shirt from American Apparel",
            "Features": {
                "Sizes": {
                    "Size": [
                        "Small",
                        "Medium",
                        "Large",
                        "X-Large"
                    ]
                },
                "Colors": {"Color": "White"}
            },
            "Availability": "false",
            "Price": "16.99",
            "Family": "[3]",
            "OnlineStore": "Talend Shop@@http://www.cafepress.com/Talend.231035933",
            "Stores": {
                "Store": [
                    "100001",
                    "100002"
                ]
            }
        }
    }
]

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !