IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

API magento dans windev


Sujet :

WinDev

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 15
    Points : 16
    Points
    16
    Par défaut Test requete
    Jreposte ici, je crois que le MP est pas passé.

    En fait j'ai essayé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Filtre est un STfilters
    Resultat est un STcatalogProductEntityArray
    Produit est un STcatalogProductEntity
    sSdSession est une chaîne
     
    sSdSession = MagentoService.login("test","azerty")
     
    Dimension(Filtre:m_filter:m_associativeArray,1)
    //Filtre:m_filter:m_associativeArray[1]:m_key = ""
    //Filtre:m_filter:m_associativeArray[1]:m_value = ""
     
    Resultat=MagentoService.catalogProductList(sSdSession,Filtre,"0")
     
    POUR TOUT Produit DE Resultat:m_catalogProductEntityArray
    	Trace(Produit:m_name)
    FIN
     
    MagentoService.endSession(sSdSession)
    Pour récupérer tous les produits mais ca ne me renvoie rien.

    Alors serait ce un problème sur le filtrage, je ne veux pas filtrer j'ai donc laissé vide mais je ne sais pas si c'est correcte.
    Sinon ou trouves tu Tatayo les types de filtres comme id_order etc...

    Ou alors ca vient du parcours du tableau mais je ne sais pas il me semble bon ?

    Qu'en penses tu ?

    Dernière chose après j'arrête sais tu exploiter les codes erreurs qu'ils mettent sur le site de l'api magento : 101 Product not exists. ?

    Voila encore merci

  2. #22
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 244
    Points : 12 878
    Points
    12 878
    Par défaut
    Je viens de regarder dans mon code de test, et la seule différence est là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Resultat  = MagentoService.catalogproductlist(sIdSession,Filtre,"")
    Je j'ai pas passé de storeview en paramètre, mais comme je n'utilise pas cette méthode en production, je ne suis pas sûr que ça change quelquechose...
    Pour les filtres, il s'agit juste des attributs, donc je regarde ce qu'il y a dans les structures générées par le Webservice, et je tatonne. En tout cas pour ne pas filtre, il suffit effectivement de ne rien affecter à la variable STfilter.

    En ce qui concerne les codes d'erreur, comme ce WebService est utilisé dans un process en batch, je me "contente" de les prendre tels quels, de les logguer et les envoyer par mail (ce qui parfois fait beaucoup de mails ). Je n'ai pas trouvé de doc regroupant les messages d'erreur, mais je n'ai pas trop cherché non plus.

    Tatayo.

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 15
    Points : 16
    Points
    16
    Par défaut Débloqué mais rebloqué :)
    Salut Tatayo, merci pour tout ton aide cela nous a permis de bien avancer et mieux comprendre l'api.

    Pour mon problème ou je n'arrivais pas à récupérer les infos de ma base avec le message SOAP-ERROR: Encoding: object hasn't 'website_ids'

    Voici la solution :
    http://www.magentocommerce.com/bug-t...sue?issue=6614

    Par contre j'ai un petit problème sur la récupération des dates created_at et updated_at, elles sont bien remplies dans la base mais impossible de les récupérer je récupère bien les autres infos :m_name... mais impossible pour :m_updated_at et m_created_at

    As tu deja eu ce problème de date ?

    Autre problème, je n'arrive pas à récupérer le manufacturer qui n'est pas dans la liste des attributs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sListeAttributs est une chaîne = 
    "name,description,short_description,weight,status,url_key,url_path,visibility,has_options,gift_message_available,price,special_price,special_from_date,special_to_date,tax_class_id,websites,category_ids,website_ids,meta_title,meta_keyword,meta_description,custom_design,custom_layout_update,options_container"
    Je pense qu'il s'agit d'un "additional_attribut" ? Si oui comment exploiter ces attributs additionnels ?

    J'ai fait ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    sListeAttributs2 est une chaîne="manufacturer"
     
    Dimension(Attributs:m_additional_attributes:m_ArrayOfString,ChaîneOccurrence(sListeAttributs2,",") + 1)
     
    POUR nIndice = 1 _A_ ChaîneOccurrence(sListeAttributs2,",") + 1
    	Attributs:m_additional_attributes:m_ArrayOfString[nIndice]= ExtraitChaîne(sListeAttributs2,nIndice,",")
    FIN
    Mais après je ne sais pas comment afficher ces attributs ?

    Es tu tomber sur ces types de problème mon bon Tatayo ?

    Merci à toi

  4. #24
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 244
    Points : 12 878
    Points
    12 878
    Par défaut
    Salut pfont,
    Pour les additional attributes, je fais exactement ce que tu décris.
    Je ne me sers pas des dates de création/modifications (en tous cas celle de Magento), donc je ne les récupère pas. Par contre j'ai noté que certains attributs étendus ne sont pas renvoyés (je ne les ai plus en tête, mais j'en avais au moins 2 qui n'étaient pas renvoyés). Peut-être que ces des dates sont aussi concernés par ce qui semble être un bug de l'interface.

    Pour afficher les attributs étendus, regarde bien la définition de la structure que renvoie catalogProductInfo(), et tu auras la réponse.
    Petit indice: le nom est plutôt explicite

    Tatayo.

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 15
    Points : 16
    Points
    16
    Par défaut Un ptit monologue
    Je comprend pas trop la logique :

    Par exemple on veut récupérer la liste des produits avec MagentoService.catalogProductList qui retourne un tableau de produits : STcatalogProductEntityArray

    Donc pour parcourir nos produits on parcourt le tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    POUR TOUT Produit DE Resultat:m_catalogProductEntityArray
      info(Produit:m_name)
    FIN
    ou "Produit" est un produit donc un STcatalogProductEntity
    (en fait jviens de capter que windev s'en fou du type de l'objet dans un POUR TOUT .... DE le typage se fait en auto)

    Donc jusque là c'est logique.

    Ensuite pour afficher les attributs avec la méthode MagentoService.catalogProductInfo qui renvoie STcatalogProductReturnEntity (hummm c'est quoi la différence entre un STcatalogProductEntity et un STcatalogProductReturnEntity ???)

    Enfin bref on cale un
    ArticleDetail = MagentoService.catalogProductInfo(sSdSession,id,"0",Attributs)
    et on accède par ArticleDetail:m_price

    et heu....

    Heu ok j'ai compris...

    Donc ca donnerai ca pour exploiter les additionnal attributes :

    ArticleDetail:m_additional_attributes:m_associativeArray[0]:m_value

    Oui.... logique okkkkkkkkkkkkkk

    Du coup je viens de saisir la différence entre STcatalogProductEntity et STcatalogProductReturnEntity.

    Merci Tatayo de m'avoir fait monologuer la solution

Discussions similaires

  1. Utiliser les APIs Orange dans Windev
    Par Orange Api Team dans le forum WinDev
    Réponses: 1
    Dernier message: 15/04/2010, 17h06
  2. Réponses: 3
    Dernier message: 28/02/2007, 15h39
  3. Erreur d'import d'une base Access dans WinDev
    Par freebsnet dans le forum Access
    Réponses: 3
    Dernier message: 21/02/2007, 09h40
  4. Réponses: 3
    Dernier message: 10/10/2006, 16h30
  5. Demande d'information pour ajout d'API Java dans eclipse
    Par BernardT dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/07/2005, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo