| |
Miembro registrado 49 mensajes |
|
| Publicado el 03,marzo 2020 - 08:16 |
Bonjour,
Je me rapproche de vous car je ne suis pas très expert dans la manipulation des API et j'ai du mal à comprendre le fonctionnement de celle-ci.
Quelqu'un pourrait-il m'aider s'il vous plait
Page de l'API https://api.fulleapps.io/docs/
Explication fournies:
Pour utiliser l'API en externe, vous devez utiliser la clé utilisateur unique de votre compte commerçant. Cette clé est disponible à la demande auprés de votre revendeur. Une fois la clé obtenue, utilisez celle ci dans un header Authorization afin de récupérer et gérer les données de compte via notre API REST. Pour utiliser l'API avec votre clé, voici un exemple du header à placer : 'Authorization' : 'Mutual %CLE_UTILISATEUR%'
J'ai bien la clé mais où faut-il la renseigner? Quel adresse dois-je renseigner dans ma ligne restrequette.url
Merci à vous pour votre aide |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 134 mensajes |
|
| Publicado el 03,marzo 2020 - 10:00 |
Bonjour,
Quelque chose comme ça ?
requete est un restRequête reponse est un restRéponse
port est un entier protocole, serveur, url_compte est une chaîne
protocole = "https://" serveur = "api.fulleapps.io"; port = 443
url_compte = "/account"
requete..URL = protocole + serveur + ":" + port + url_compte requete..Méthode = httpGet
requete..entete [ "Accept" ] = "application/json" requete..Entête [ "Authorization" ] = "Mutual " + valeur_de_la_cle
reponse = RESTEnvoie( requete )
SI ErreurDétectée ALORS Erreur( ErreurInfo( errComplet ) ) SINON Trace( reponse..Contenu ) FIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 03,marzo 2020 - 10:27 |
Bonjour Julien,
Merci pour votre réponse je vais tester et vous tiens informé
un grand merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 03,marzo 2020 - 10:39 |
| Ca fonctionne merci beaucoup |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 03,marzo 2020 - 13:36 |
Re bonjour,
Je remonte bien le retour de l'API mais je ne parviens pas a en extraire les données j'ai essayé avec jsonversvariant mais cela ne fonctionne pas
Merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 2.682 mensajes |
|
| Publicado el 03,marzo 2020 - 14:39 |
qu'est ce qui ne fonctionne pas ?
-- Cordialement,
Philippe SAINT-BERTIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 03,marzo 2020 - 14:48 |
je ne parviens pas a recupérer la liste des éléments dont j'ai besoins
lorsque je test avec jsonversvariant j'ai le retour suivant :

et lorsque j'utilise reponseJson est un JSON = reponse..Contenu j'ai en retour

je souhaite récupérer la liste des articles je peux vous fournir la clé de test que j'utilise : "3e67788c611f2b3b16f4bfc49ccea465fa9c8b71"
Merci à vous |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 134 mensajes |
|
| Publicado el 03,marzo 2020 - 15:19 |
Re,
Il faut faire un resultat est un Variant et resultat = JSONVersVariant( reponse..Contenu ). Je ne sais pas quelle requête vous faites mais à vu de nez il faudrait faire un
resultat = JSONVersVariant( reponse..Contenu ) SI resultat.list..Existe ALORS POUR i = 1 _À_ TableauOccurrence( resultat.list ) Trace( resultat.list[ i ].id ) FIN FIN
Le meilleur moyen de savoir est de mettre un point d'arrêt juste après resultat = JSONVersVariant( reponse..Contenu ) et regarder dans le volet Débogueur le contenu de resultat

|
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 03,marzo 2020 - 16:52 |
| Merci beaucoup cela fonctionne et effectivement c'est bien plus pratique d'utiliser les points d'arret je n'y avait pas pensé merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 05,marzo 2020 - 13:44 |
Re bonjour à tous
Je vous remercie pour votre aide cela fonctionne parfaitement, toutefois comment doit-on procéder pour la méthode post en effet lorsque je met l'exemple fourni sur le site de l'api il y a des [] et du coup je n'arrive pas à programmer le post il y a t il une méthode particulière là aussi ?
Merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 134 mensajes |
|
| Publicado el 05,marzo 2020 - 14:48 |
Bonjour,
Pour un POST :
VariableRAZ( requete ) requete..URL = protocole + serveur + url requete..Méthode = httpPost requete..Entête [ "Accept" ] = "application/json" requete..Entête [ "Authorization" ] = "Mutual " + valeur_de_la_cle requete..ContentType = typeMimeJSON requete..Contenu = SansEspace( VariantVersJSON( parametres ) ) reponse = RESTEnvoie( requete ) où parametres est un Variant rempli avec vos infos (ex. parametres.id = 12345, parametres.monTableau[ 1 ] = [ "valeurA" , "valeurB" ], etc.). |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 05,marzo 2020 - 19:16 |
Bonsoir merci poue votre retour julien j'ai fais comme vous me l'avez conseillé et cela me renvoi une erreur peut-être ai-je mal renseigné quelque chose ?
sCle est une chaîne = SAI_Cle requete est un restRequête reponse est un restRéponse
port est un entier protocole, serveur, url_compte est une chaîne
protocole = "https://" serveur = "api.fulleapps.io"; port = 443
url_compte = "/rubrics" parametres est un Variant
VariableRAZ( requete ) requete..URL = protocole + serveur + ":" + port + url_compte requete..Méthode = httpPost requete..Entête [ "Accept" ] = "application/json" requete..Entête [ "Authorization" ] = "Mutual " + sCle requete..ContentType = typeMimeJSON requete..Contenu = SansEspace( VariantVersJSON( parametres ) )
parametres.rubrics.id = 6 parametres.rubrics.name = "TEST RUBRIQUE" parametres.rubrics.order_name = "1 TEST RUBRIQUE" parametres.rubrics.color = "#000000" parametres.rubrics.archive = "0" parametres.rubrics.id_kitchen_level = "null" parametres.rubrics.decimals = "0" parametres.rubrics.excluded = "0" parametres.rubrics.id_parent = "null" parametres.rubrics.tax_grouping.id = "25258" parametres.rubrics.tax_grouping.name = "ALCOOL 20%" parametres.rubrics.tax_grouping.archive = "0" parametres.rubrics.tax_grouping.id_tax_1 = "12345" parametres.rubrics.tax_grouping.id_tax_2 = "16342" parametres.rubrics.tax_grouping.percent_tax_1 = "100" parametres.rubrics.tax_grouping.percent_tax_2 = "0" parametres.rubrics.order_slot = "15" parametres.rubrics.limit_order_slot = "0"
reponse = RESTEnvoie( requete )
SI ErreurDétectée ALORS Erreur( ErreurInfo( errComplet ) ) FIN
Merci pour votre aide |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 134 mensajes |
|
| Publicado el 06,marzo 2020 - 09:56 |
Bonjour,
Le remplissage du variant parametres doit se faire avant la ligne requete..Contenu = SansEspace( VariantVersJSON( parametres ) ) |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 06,marzo 2020 - 10:22 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 06,marzo 2020 - 11:09 |
| J'ai bien mis les éléments "parametres" où indiqué mais rien n'est envoyé je n'ai aucun retour m'informant d'une quelconque erreur |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 953 mensajes |
|
| Publicado el 06,marzo 2020 - 12:42 |
bonjour,
si jamais présentez votre code une fois modifié, mais du bout de code que je vois,
après un restEnvoie() , il faut tester ErreurDetecté ok, mais cela n'indique que si la requête est bien partie ou non, cela ne vous indique pas le retour du serveur. Il faut analyser la valeur de la propriété ..CodeEtat de votre variable resteReponse ( reponse ).
de plus, vous souhaitez faire quoi avec votre code ? Créer une rubrique ? ou la modifier ?
Si c'est une création et que tout c'est correctement déroulé, vous devriez avoir 200 dans reponse..CodeEtat |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 06,marzo 2020 - 12:58 |
| Bonjour Christophe je souhaite faire une création dans un premier temps mais la modification viendra également dans un second temps |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 06,marzo 2020 - 13:06 |
| Je viens d'essayer avec le reponse..CodeEtat et cela me renvoi bien 200 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 953 mensajes |
|
| Publicado el 06,marzo 2020 - 13:14 |
et du coup,
quelle valeur avez vous dans la propriété 'CodeEtat' de votre variable restResponse ( response ) ?
de plus dans votre code, vous spécifié l'ID alors que c'est une création, et que 'pour moi' , vous ne devriez pas. L'ID est attribuée par le serveur , ce n'est pas à vous de la définir.
je connais pas ces API mais un truc du genre :
Après, vous spécifié des ID de tax , je pense qu'il faut qu'ils existent dans votre système... Attention à order_slot et limit_order_slot qui sont spécifié en 'number' , des valeurs numérique.
sCle est une chaîne = SAI_Cle requete est un restRequête reponse est un restRéponse
port est un entier protocole, serveur, url_compte est une chaîne
protocole = "https://" serveur = "api.fulleapps.io"; port = 443
url_compte = "/rubrics" parametres est un Variant
VariableRAZ( requete ) requete..URL = protocole + serveur + ":" + port + url_compte requete..Méthode = httpPost requete..Entête [ "Accept" ] = "application/json" requete..Entête [ "Authorization" ] = "Mutual " + sCle requete..ContentType = typeMimeJSON
parametres.id = Null parametres.name = "TEST RUBRIQUE" parametres.order_name = "1 TEST RUBRIQUE" parametres.color = "#000000" parametres.archive = "0" parametres.id_kitchen_level = Null parametres.decimals = "0" parametres.excluded = "0" parametres.id_parent = Null parametres.tax_grouping.id = "25258" parametres.tax_grouping.name = "ALCOOL 20%" parametres.tax_grouping.archive = "0" parametres.tax_grouping.id_tax_1 = "12345" parametres.tax_grouping.id_tax_2 = "16342" parametres.tax_grouping.percent_tax_1 = "100" parametres.tax_grouping.percent_tax_2 = "0" parametres.order_slot = 15 parametres.limit_order_slot = 0
requete..Contenu = SansEspace( VariantVersJSON( parametres ) )
reponse = RESTEnvoie( requete )
SI ErreurDétectée ALORS SI reponse..CodeEtat=200 ALORS Info("Création OK !",reponse..Contenu) SINON Erreur("Erreur de création !","Code état : "+reponse..CodeEtat,reponse..Contenu) FIN FIN
à tester...Mensaje modificado, 06,marzo 2020 - 13:16 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 134 mensajes |
|
| Publicado el 06,marzo 2020 - 13:30 |
Avec la clé de test donnée auparavant ça fonctionne :
requete est un restRequête reponse est un restRéponse parametres, resultat est un Variant
port est un entier protocole, serveur, url_rubrique est une chaîne
protocole = "https://" serveur = "api.fulleapps.io"; port = 443
url_rubrique = "/rubrics"
requete..URL = protocole + serveur + ":" + port + url_rubrique requete..Méthode = httpPost
requete..Entête [ "Accept" ] = "application/json" requete..Entête [ "Authorization" ] = "Mutual " + "3e67788c611f2b3b16f4bfc49ccea465fa9c8b71"
parametres.id = Null parametres.name = "TEST RUBRIQUE" parametres.order_name = "1 TEST RUBRIQUE" parametres.color = "#000000" parametres.archive = "0" parametres.id_kitchen_level = Null parametres.decimals = "0" parametres.excluded = "0" parametres.id_parent = Null parametres.tax_grouping.id = "25258" parametres.tax_grouping.name = "ALCOOL 20%" parametres.tax_grouping.archive = "0" parametres.tax_grouping.id_tax_1 = "12345" parametres.tax_grouping.id_tax_2 = "16342" parametres.tax_grouping.percent_tax_1 = "100" parametres.tax_grouping.percent_tax_2 = "0" parametres.order_slot = 15 parametres.limit_order_slot = 0
requete..ContentType = typeMimeJSON requete..Contenu = SansEspace( VariantVersJSON( parametres ) )
reponse = RESTEnvoie( requete )
SI ErreurDétectée ALORS Erreur( ErreurInfo( errComplet ) ) SINON resultat = JSONVersVariant( reponse..Contenu ) Trace( "ici" ) FIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 06,marzo 2020 - 15:03 |
Merci Christophe pour votre aide
Christophe : CodeEtat renvois : 200 Je me suis basé sur la doc de l'api qui indique que l'id est obligatoire c'est pour cela que je l'ai mis mais effectivement il me semble logique qu'il soit fourni automatiquement en effet
Julien : Le code fonctionne en effet mais aucune modification n'est effective sur le serveur je vais tester sans les id
Merci encore |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 06,marzo 2020 - 16:23 |
Un grand merci à tous vous êtes tous au top il faut effectivement ne pas renseigner les ID
Merci beaucoup. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 10,marzo 2020 - 13:38 |
Bonjour je reviens vers vous j'ai une petite question:
Comment renseigner la date de début et de fin lorsque celle ci est obligatoire pour obtenir la réponse?
pour le palmares des ventes par exemple je dois fournir ceci
from_date - required
Date de début de période (YYYY-MM-DD)
to_date required Date de fin de période (YYYY-MM-DD)
id_point_of_sale integer
Identifiant du point de vente associé à la vente id_device integer
Identifiant de l'appareil associé à la vente service_number integer
Numéro de service associé à la vente id_operator integer
Identifiant de l'opérateur associé à la vente id_sale_method integer
Identifiant du mode de vente associé à la vente id_client integer
Identifiant du client associé à la vente
Merci à vous |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 12,marzo 2020 - 06:31 |
Re bonjour,
je suis désolé quoi que j'essai je ne parviens pas à renseigner le champ obligatoire :
mon code :
requete est un restRequête reponse est un restRéponse
port est un entier protocole, serveur, url_compte est une chaîne
protocole = "https://" serveur = "api.fulleapps.io"; port = 443
url_compte = "/top_products/statistics"
requete..URL = protocole + serveur + ":" + port + url_compte requete..Méthode = httpGet
requete..Entête [ "Accept" ] = "application/json" requete..Entête [ "Authorization" ] = "Mutual " + "520852062bbc6da2540752926c2a9c75a8df3aa3" reponse = RESTEnvoie( requete )
SI ErreurDétectée ALORS Erreur( ErreurInfo( errComplet ) ) SINON resultat est un Variant resultat = JSONVersVariant( reponse..Contenu ) resultat.request.from_date = "2020-02-01" resultat.request.to_date = "2020-02-29" SI resultat.rubrics..Existe ALORS POUR i = 1 _À_ TableauOccurrence( resultat.rubrics ) sArticle est une chaîne = resultat.rubrics[ i ].name Trace(sArticle) FIN FIN FIN
les retour avec 2 méthodes ;


le "rubrics" reste inaccessible
Merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 49 mensajes |
|
| Publicado el 30,marzo 2020 - 11:57 |
Bonjour Julien je reviens vers vous car je bloque sur un dernier point et je pense le dernier
Lorsque je souhaite créer ou modifier un produit l'API demande un tableau de chaine pour les prix et les catégories
j'ai créé une structure que j'affecte à un tableau mais je n'arrive pas à l'envoyer il n'est jamais pris en compte
Ma structure est la suivante :
stTarif est une structure sIdTaxGroup est une chaîne sIMoveVente est une chaîne sIdPeriode est une chaîne moPrix est un monétaire FIN UnPrix est un stTarif tabInfoPrix est un tableau de stTarif POUR TOUT Liste_Prix UnPrix.sIdTaxGroup = Liste_Prix.Id_TaxG UnPrix.sIMoveVente = Liste_Prix.Id_ModeVente UnPrix.sIdPeriode = Liste_Prix.Id_Periode UnPrix.moPrix = Liste_Prix.Tarif TableauAjoute(tabInfoPrix, UnPrix) FIN
j'ai ensuite essayé divers moyen pour le retourner :
Methode 1 :
POUR i = 1 _À_ TableauOccurrence( parametres.prices ) parametres.prices.id_tax_grouping = UnPrix.sIdTaxGroup parametres.prices.id_sale_method = UnPrix.sIMoveVente parametres.prices.id_price_period = UnPrix.sIdPeriode parametres.prices.price = UnPrix.moPrix FIN
Méthode 2:
POUR TOUT i de tabInfoPrix parametres.prices.id_tax_grouping = UnPrix.sIdTaxGroup parametres.prices.id_sale_method = UnPrix.sIMoveVente parametres.prices.id_price_period = UnPrix.sIdPeriode parametres.prices.price = UnPrix.moPrix FIN
Pourriez vous m'indiquer comment retourner le tableau demandé
Merci de votre aide |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 134 mensajes |
|
| Publicado el 30,marzo 2020 - 15:58 |
Bonjour,
Il faut mettre un indice au niveau de prices pour qu'il soit considéré comme un tableau
i est un entier parametres est un Variant
i = TableauAjouteLigne( parametres.prices ) parametres.prices[ i ].id_tax_grouping = UnPrix.sIdTaxGroup parametres.prices[ i ].id_sale_method = UnPrix.sIMoveVente parametres.prices[ i ].id_price_period = UnPrix.sIdPeriode parametres.prices[ i ].price = UnPrix.moPrix
POUR TOUT UnPrix de tabInfoPrix i = TableauAjouteLigne( parametres.prices ) parametres.prices[ i ].id_tax_grouping = UnPrix.sIdTaxGroup parametres.prices[ i ].id_sale_method = UnPrix.sIMoveVente parametres.prices[ i ].id_price_period = UnPrix.sIdPeriode parametres.prices[ i ].price = UnPrix.moPrix FIN |
| |
| |
| | | |
|
| | |
| |
| Publicado el 30,marzo 2020 - 17:27 |
Woaw ca à l'aire tellement simple une semaine que je me prends la tête
un grand merci |
| |
| |
| | | |
|
| | |