Forum Discussion
post request
Hi folks, I wish to connect to our new software provider via Api
https://docs.api.myunisoft.fr/#b953be72-03e7-4be6-8638-d14025bdab46
I have no problem to make get request, but the post didn't work with PowerBi
I arrive to make the post request with https://web.postman.co/
https://api.myunisoft.fr/api/v1/export/fec?export_type=1&from=2021-01-01&to=2021-12-30I cannot give you the real values, but here my code
let
vToken = "Bearer "&"TokenXXX",
vSecret="SecretXXX",
vsociety="XXXX",
vUrl = "https://api.myunisoft.fr/api/v1/export/FEC?export_type=1&from=2021-01-01&to=2021-12-30",
body = "{""}",
Source = Json.Document(Web.Contents(vUrl, [Headers=[Authorization="vToken", #"X-Third-Party-Secret"="vSecret", #"society-id"="vsociety",#"Content-Type"="application/json"],Content = Text.ToBinary(body)]))
in
SourceI try without content = text.tobinary or content = text.tobinary ="" etc ...
My last reseach make me think that i come from that i should send a empty body information ...
The last error return unable to convert a value type binary in text
Normally the value are a FEC, a text file with value, example from postman:
JournalCode|JournalLib|EcritureNum|EcritureDate|CompteNum|CompteLib|CompAuxNum|CompAuxLib|PieceRef|PieceDate|EcritureLib|Debit|Credit|EcritureLet|DateLet|ValidDate|Montantdevise|Idevise|RefInterne
RAN|RAN|2101RAN3182509|20210101|10130000|Capital souscrit appelé versé|||CEX0121|20210101|S.A.N.|0|1000|||20210101|||E3182509
RAN|RAN|2101RAN3182509|20210101|11900000|Report à nouveau débit|||CEX0121|20210101|S.A.N.|9706,25|0|||20210101|||E3182509
thanks
6 Replies
- AnonymousNot applicable
Hi nicolast29,
I modify the code to split the URL to root and relativepath and add a query to the connection. You can try to use the following query if they suitable for your requirement:
let vToken = "Bearer " & "TokenXXX", vSecret = "SecretXXX", vsociety = "XXXX", rootURL = "https://api.myunisoft.fr/api", relativePath = "/v1/export/FEC", //vUrl = "https://api.myunisoft.fr?export_type=1&from=2021-01-01&to=2021-12-30", Source = Json.Document( Web.Contents( rootURL, [ Headers = [ Authorization = vToken, #"X-Third-Party-Secret" = vSecret, #"society-id" = vsociety, #"Content-Type" = "application/json" ], RelativePath = relativePath, Query = [ export_type = "1", from = "2021-01-01", to = "2021-12-30" ] ] ) ) in SourceRegards,
Xiaoxin Sheng
- nicolast29Helper V
Thanks for your answer
I modify my code with your informations but i still have a reponse error:
DataSource.Error : Web.Contents n'a pas réussi à obtenir le contenu de « https://api.myunisoft.fr/api/v1/export/FEC?export_type=1&from=2021-01-01&to=2021-12-31 » (405) : Method Not Allowed
Détails :
DataSourceKind=Web
DataSourcePath=https://api.myunisoft.fr/api/v1/export/FEC
Url=https://api.myunisoft.fr/api/v1/export/FEC?export_type=1&from=2021-01-01&to=2021-12-31- nicolast29Helper V
I make further search,
It seem that i should have a body in order to make a POST request
https://developer.genesys.cloud/forum/t/connecting-with-power-bi/14366
but in my case i should send a empty body
I try by adding this
vbody = "the post method",
Source =
Json.Document(
Web.Contents(
//vURL,
rootURL,
[
Headers = [
Content=Text.ToBinary(vbody),
Authorization = vToken,
#"X-Third-Party-Secret" = vSecret,
#"society-id" = vsociety,
#"Content-Type" = "application/json"
],
RelativePath = relativePath,
Query = [
export_type = "1",
from = "2021-01-01",
to = "2021-12-31"
]
]
)
)
in
Sourcebut i still have a error :
Expression.Error : Désolé... Nous n'avons pas pu convertir une valeur de type Binary en type Text.
Détails :
Value=[Binary]
Type=[Type]It is the same with Content=Text.ToBinary("")
- nicolast29Helper V
thanks for helping, but still not working, i will try to call the editor