WebService Soap ou API Rest

SUGGESTED

Bonjour

j'ai pu configurer un Webservice de type objet pour créer des devis.

je le teste avec SoapUI et mon devis se crée bien, je peux le modifier, le supprimer.

tout est ok de ce coté.

je voudrais maintenant pouvoir passer ce devis en commande toujours en utilisant mon WebService (ou en passant par l'api) mais je ne trouve pas de solution pour faire ça.

quelqu'un aurait il déjà utilisé les actions de la fenêtre via webservice ou api?

Merci d'avance

Sylvain

  • 0

    Bonjour  ,

    Merci d'avoir utilisé Community Hub.

    Nous remarquons qu'il n'y a malheureusement pas eu de réponse à votre question de la part des autres membres de la communauté.

    Nous invitons vivement chacun des membres de la communauté à être actifs et à répondre sur les forums. Les réponses sont l’affaire de tous et permettent  aux forums de grandir, et aux utilisateurs de mieux connaitre et utiliser leur solution.
    Aussi, n’hésitez pas vous-même à répondre aux questions qui pourraient être posées et qui seraient en attente de réponse.

    Nous espérons une réponse prochaine à votre demande.

    Dans l’attente, et pour vous aiguiller d'avantage, vous pouvez consulter l’assistance ou certains articles sur la base de Connaissance Sage KB : https://fr-kb.sage.com.

    Edwin

  • 0
    SUGGESTED

    Bonjour  ,

    En attendant des retours de la part de la communauté, nous vous conseillons de vous rapprocher de votre intégrateur pour comprendre comment mettre en place ce Webservice.

    Merci d'avoir utilisé la communauté.

    Yoan

  • 0 in reply to Yoan

    je l'ai déjà fait et en gros il me réponds qu'il n'est pas compétent sur le sujet. c'est pour ca que j'ai décidé d'exposer mon problème ici

  • 0 in reply to Sylvain Watier

    Bonjour Sylvain 
    Avez-vous réussi a creer avec l'API REST un devis ? 
    Nous cherchons a créer un devis avec l'API REST sans succés .... 
    Merci par avance 

  • 0 in reply to Bruno ROTROU

    Bonjour Bruno,

    je n'ai pas utilisé l'api rest pour la création de devis. j'ai créé un webservice Soap pour la création du devis et aussi pour convertir le devis en commande. je n'utilise l'api rest que pour récupérer la liste des devis

  • 0 in reply to Sylvain Watier

    Merci pour l'info 
    On bloque sur les champs obligatoires a envoyer dans notre payload, il semble manquer qq chose mais on ne trouve pas quel champ. Sans abuser de votre temps , auriez vous une idée du payload a transmettre a minima pour un devis ? 
    Un grand merci par avance
    Cordialement 
    Bruno 

  • 0 in reply to Bruno ROTROU
    SUGGESTED

    Bonjour,

    Je ne sais pas ce qu'est "payload" mais pour créer un devis, et de manière général lorsqu'on utilise un WS, il est plus simple de créer un traitement qui va tout gérer. Dans le cas présent, il lancera un import d'un fichier csv via un modèle déjà opérationnel.

    Nous faisons comme cela pour nos dizaines de WS.

    Cdt

  • 0
    SUGGESTED

    Bonjour  ,  ,

    Je pars du principe que vous maitrisez le code L4G et les web services SOAP.

    3 façons de procéder, j'essaye de vous syntéthiser les solutions:

    Première solution, comme si on faisait un picking de liste gauche sur les devis dans la fonction des commandes en création. Le point d'entrée LEFT_BOX permet de simuler le picking et de faire la création de commandes:

    • Envoyer les informations de devis nécessaires au picking côté commande
    • Dans l'evenement AV_WS, déclarer une structure type variables globales tableau pour récupérer les infomations, par exemple:

    Global Char XV1NUMORI (30)(60)
    [V]XV1NUMORI([L]II)=[L]NUMORI_2([L]II)

    le programme wrapper contient le nom des variables qui sont chargés avec le payload d'entrées du WS. Attention cela dépend directement des écrans.

    •  dans le PE LEFT_BOX,
      • en fonction du type de document, simuler l'appel des tiroirs:

    Gosub TIROIR From SUBSOHA
    Gosub DEB_PICK From SUBSOHA

    • Filtrer ensuite lignes par lignes pour charger l'ecran comme le picking

    #Filtering the lines table with the proper criteria. The more criteria, the more precise the selection
        For [F:POQ] Where  find([F:POQ]POHNUM, [V]XV1NUMORI(0..[V]XV1NBOFDOC))<>0 and find([F:POQ]POPLIN, [V]XV1LINORI(0..[V]XV1NBOFDOC))<>0
            Gosub PICKE From SUBPIHA
            #BGZ - Accomodate partial invoicing
            If [V]XV1QTYUOM(nolign-1)<>[M:PIH3]QTYUOM(nolign-1)
              [M:PIH3]QTYUOM(nolign-1)=[V]XV1QTYUOM(nolign-1)
              Call C_QTYUOM([M:PIH3]QTYUOM(nolign-1)) From SUBPIH
              Call AM_QTYUOM([M:PIH3]QTYUOM(nolign-1)) From SUBPIH
            Endif
            etc.
        Next POQ

    • le document commande de vente va être créé, et dans le retour avec l'evement AP_WS, supprimez les globales pour être propre:

    $AP_WS
    If NUMORI_2(0)="" : Return : Endif
    
    Kill [V]XV1NUMORI

    Cette technique demande pas mal de maitrise, mais elle fonctionne bien et permet de la fléxibilité.

    Deuxième technique, utiliser le web services AOWSIMPORT pour envoyer le payload de la commande à créer. Le modèle d'import SOH sera utilisé et vous pouvez choisir de le faire en synchrone (temps réel) où en asynchrone (via le batch). la documentation pour commencer:
    https://developer.sage.com/x3/import-export-guide/developing-with-web-services/

    Troisième technique, vous publiez un sugprog qui va :
    - Exporter les données du devis
    - lancer un importsil de la commande
    - renvoyer le numéro de commande et les infos dont vous avez besoin dans le système externe.

    Si cela vous semble vous encore trop flou, contactez le centre d'excellence Sage X3 à [email protected], et mettez bien en copie votre partenaire intégrateur. Nous sommes une équipe d'experts X3 techniques et fonctionnelles. Nous avons l'habitude de ce genre de sujet et nous proposerons un accompagnement en fonction de vos besoins toujours en lien avec votre partenaire.

    N'hésitez pas à nous faire savoir si cette réponse vous a été utile en la marquant comme vérifiée.

  • 0 in reply to Bruno Gonzalez

    merci pour la réponse mais ma demande datant de 11 mois j'ai trouvé comment faire depuis un moment deja. ce que j'ai d'ailleurs expliqué a Bruno Rotrou il y a quelques jours. pour votre information je suis passé par la 3eme solution que vous proposez 

    Merci tous de meme d'avoir pris le temps de me répondre

  • 0 in reply to Bruno Gonzalez

    Merci pour les infos , nous etudions cela de prêt , mais on essaie de voir si c'est possible via API REST. Traitant en permanence avec des API REST , voir même de grande complexité, Les manières qu'a X3 avec SOAP de traiter des enreigistrment , me semblent provenir d'un autre siècle ;-) . Si nous n'avons pas le choix nous ferons comme vous tous par SOAP , mais du coup on a la lecture des objets en REST et la création en SOAP , c'est bof ... 
    Ce qui est étonnant , pour créer une affaire par exemple en REST on y arrive ? je me dis alors , pourquoi pas le devis ? 
    Un grand merci a tous pour votre temps 
    A+