2017-09-16 1 views
0

La documentation de l'API REST Magento 2 explique comment définir des attributs custom_attributes sur un client lors de sa mise à jour ou de sa création. http://devdocs.magento.com/swagger/index_20.html#/Attribut personnalisé client API Magento 2 REST

Malheureusement, je ne pouvais pas obtenir ce travail ...

Mon POST et PUT données de demande JSON est:

{ 
    "customer": { 
     "custom_attributes": [ 
      { 
       "attribute_code": "firstname", 
       "value": "TEST" 
      } 
     ], 
     "email": "[email protected]", 
     "extension_attributes": [], 
     "firstname": "Someone", 
     "gender": null, 
     "lastname": "Else", 
     "middlename": null, 
     "taxvat": null, 
     "website_id": "1" 
    } 
} 

Le Client est créé, mais l'est pas Prénom "TEST". Y a-t-il quelqu'un qui a eu le même problème et l'a réparé? Faites-moi savoir comment.

Répondre

1

Ma meilleure estimation est que, étant donné que Firstname est un attribut prêt à l'emploi existant - l'affectation de mappage nom-valeur d'attribut OOTB aura préséance.

Pourriez-vous essayer à nouveau, avec un nom d'attribut unique personnalisé (par exemple quelque chose qui ne heurte pas OOTB noms d'attributs)

Vous devez définir un attribut personnalisé client avant de pouvoir utiliser l'API M2 pour effectuer des opérations sur cet attribut client personnalisé.

Ce thread StackExchange - https://magento.stackexchange.com/questions/88245/magento2-create-a-customer-custom-attribute - contient des informations supplémentaires sur la procédure de configuration d'un attribut client personnalisé.

+0

J'ai fait exactement la même chose avec un article et un attribut "description" qui a fonctionné. Pourquoi cela ne fonctionne-t-il pas pour les clients? Je ne pouvais pas trouver l'endroit dans le code Magento 2 où cette demande est traitée, peut-être que vous pouvez me fournir l'emplacement? – MmynameStackflow

+0

- En regardant la WebAPI définie ('Magento \ Customer \ etc \ webapi.xml') pour la méthode en question l'appel d'API' POST/V1/customers' est géré par 'Magento \ Client \ Api \ AccountManagementInterface :: createAccount () ' - D'après le fichier di.xml (' Magento \ Client \ etc \ di.xml') 'Magento \ Client \ Api \ AccountManagementInterface' est implémenté par' Magento \ Customer \ Model \ AccountManagement' ('Magento \ Client \ Model \ AccountManagement.php') - Je recommande d'utiliser Xdebug pour parcourir le code afin de comprendre comment/pourquoi l'attribut ne se met pas à jour. –

+0

Merci d'avoir choisi @Sharath Kumar. Ma conclusion: Ce n'est tout simplement pas possible et Magento 2 ne fait rien avec custom_attributes sur l'API Customer. Contrairement à l'API du produit. Je me demande pourquoi la documentation dit que vous pouvez ... – MmynameStackflow