BC API - PowerApps Custom Connector erstellen

7. August 2020 22:38

Hi,

über Power Apps ist es möglich eine Connection zu BC herzustellen, gelistet werden aber nur die "vor"veröffentlichten Entities.

Bin dieses Beispiel gefolgt: How to Create Custom API for BC

Extension mit der eigenen table und Page Type API veröffentlicht, kann die Sachen auch im BC sehen, und habe die API Page als Webservice veröffentlicht.
Ich bekomme die neue Tabelle in Power Apps aber nicht zu sehen, habe dann versucht mit Postman die API Url auszulesen, dort ist die Entität auch nicht gelistet.

https://api.businesscentral.dynamics.com/v1.0/{GUID}/Sandbox/api/v1.0/


Da die "Vor"veröffentlichten Tables , welche ich in PowerApps sehe, sind auch nicht unter den WebServices gelistet, nun frage ich mich woher das kommt und was ich machen könnte um eine eigene Tabelle bzw. eine andere NAV Tabelle zu veröffentlichen.

Vielleicht habt Ihr ein paar Vorschläge für mich,

vielen Dank
Zuletzt geändert von elTorito am 11. August 2020 00:09, insgesamt 2-mal geändert.

Re: BC Tabelle/Entität erstellen/veröffentlichen

11. August 2020 00:08

so.
ein schritt weiter ...

Wenn ich via Postman die url Abfrage:

https://api.businesscentral.dynamics.com/v2.0/{tenant guid}/Sandbox/api/pka/airplanes/beta/
erhalte ich als response:

Code:
 "@odata.context": "https://api.businesscentral.dynamics.com/v2.0/{tenant guid}/Sandbox/api/pka/airplanes/beta/$metadata",
    "value": [
        {
            "name": "companies",
            "kind": "EntitySet",
            "url": "companies"
        },
        {
            "name": "subscriptions",
            "kind": "EntitySet",
            "url": "subscriptions"
        },
        {
            "name": "airplaneModels",
            "kind": "EntitySet",
            "url": "airplaneModels"
        }
    ]
}


wenn ich folgende url abfrage:
https://api.businesscentral.dynamics.com/v2.0/{tenant guid}/Sandbox/api/pka/airplanes/beta/companies({companyid})/airplaneModels

erhalte ich die liste meiner flugzeuge:
Code:
{
    "@odata.context": "https://api.businesscentral.dynamics.com/v2.0/{guid}/Sandbox/api/pka/airplanes/beta/$metadata#companies({companyid})/airplaneModels",
    "value": [
        {
            "@odata.etag": "W/\"JzQ0O0JzMEZaZ2tGSTNMSUhCeFFqcVVEVlk2b2ErWlY4T0JoTFVQbG9HM2JIaVU9MTswMDsn\"",
            "id": "228def7b-dc35-4ba3-9c9e-032e1cfd6fc1",
            "icaoCode": "AEST",
            "description": "Piper Aerostar"
        },
        {
            "@odata.etag": "W/\"JzQ0O0s2OEJ6NzgxQWxEcCtxWXFaL3RUUmlDcC83TGtHRkdQV1BxUUVlNUxvME09MTswMDsn\"",
            "id": "274efc96-e07f-4294-94ea-04e6afbac946",
            "icaoCode": "FA50",
            "description": "Dassault Falcon 50"
        },
        {
            "@odata.etag": "W/\"JzQ0O1pMQ0x1eXVJUXFmVnBSbW1VdVdOS1ZHK0hDRzVSN3VUbXZSZjFEeUNyZEk9MTswMDsn\"",
            "id": "d9323e21-5480-4ce7-8b4d-05fa73431f44",
            "icaoCode": "BE35",
            "description": "Beechcraft 35 Bonanza"
        },


Jetzt versuche ich auf der Power Apps Seite den Custom Connector einzurichten, da weiß ich aber schon wieder nicht was ich als request url nehmen soll, ich habe es mal versucht mit:
https://api.businesscentral.dynamics.com/v2.0/{guid}/Sandbox/api/pka/airplanes/beta/companies({companyid))/airplaneModels

Als default reponse habe ich das Json Object mit der liste meiner flugzeuge eingetragen.

Hier als request url:
https://api.businesscentral.dynamics.com/v2.0/{guid}/Sandbox/api/pka/airplanes/beta/companies({companyid})/airplaneModels
cr1.png

cr4.png


Response Body:
cr5.png


cr2.png

cr3.png


Wenn ich den test am Ende ausführe wird folgende Url versucht aufzurufen:
'https://europe-002.azure-apim.net/apim/warehouse-20connector-5f1bf169489534d036-5f4b4434ff2f2abf62/4a21c9c7623d48258a284ba005492045/a11-bbe7-000d3a23196c)/airplaneModels?Company=CRONUS%2520DE'

wird quittiert mit:
Code:
{
  "error": {
    "code": "BadRequest_NotFound",
    "message": "Bad Request - Error in query syntax.  CorrelationId:  5c6e20ed-a956-4de8-bf06-e484628ee558."
  }
}


Wahrscheinlich falsche request/Reponse Sachen eingetragen, aber was wäre richtig?

Vielen Dank
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: BC API - PowerApps Custom Connector erstellen

14. August 2020 12:40

Habs jetzt endlich hinbekommen in Powerapps ein Custom Connector zu Business Central zu erstellen.

Nun wollte ich das ganze mal über eine Canvas App testen, geht allerdings ohne PowerApp per App Plan nicht.
Finde auch nicht die Möglichkeit den Plan als Trial auszuwählen :(

Wie funktioniert das eigentlich bei PowerApps welche Model Driven sind?
Dort ist der Einsatz von Custom Connectoren nicht möglich.

Das ganze würde dann über CDS Entities laufen?

Danke