NAV 2018 - API Page

20. März 2020 15:20

Hallo zusammen,

ich bin momentan vergebens auf der Suche nach einer Dokumentation für den PageType "API" passend für NAV 2018.

Folgend meine bisherigen Versuche und Recherche Ergebnisse, vielleicht kann mir jemand weiterhelfen, wie man die Pages mit einer Versionsnummer veröffentlicht.

Anlegen der Seite und verwenden dieser mit der standard API Version "beta" funktioniert einwandfrei und lässt sich wie erhofft mit SOAP (freigegebener Webservice) und OData ansprechen.
Die OData URL sieht dabei wie folgt aus
https://host:port/NAV_Instanz/api/beta/companies()/customAPIPage.

"customAPIPage" ist dabei der "EntitySetName" der Page.

Ändere ich die APIVersion jetzt aber auf "v1.0" ist dieser Endpunkt nicht wie erhofft über
https://host:port/NAV_Instanz/api/v1.0/companies()/customAPIPage
erreichbar und er verschwindet zudem aus der Übersicht:
https://host:port/instanz/api/beta/$metadata

Im Internet kursieren URL abwandlungen wie zB
https://<baseURL>:<port>/api/<APIversion>/ oder
https://localhost:7048/NAV/api/[APIPublisher]/[APIGroup]/[YourVersion]

wobei ich beim zweiteren von der MS BC Version ausgehe, da hier die Parameter APIPublisher und APIGroup gefordert sind.


Desweiteren habe ich von der Tabelle (ID 2000000193) Api Web Service gehört, welche die Pages mit dem Typen "API" auflistet und die Version, sowie die Veröffentlichung regelt. (siehe Anhang)
Diese Tabelle ist entweder in meiner Version nicht sichtbar oder existiert nicht.


In NAV existiert die Page "API Setup" in welcher man die Pages mit Typ "API" hinzufügen und diese einer Vorlagen hinzufügen kann. Allerdings ist mir noch nicht klar, wofür diese Einrichtung verwendet wird und was die Vorlagen bewirken. Die Aktion, welche wohl die NAV standard API Seiten hinzufügen sollte ("APIs integrieren") hat bei mir keinerlei Funktion und es werden keine Einträge der Liste hinzugefügt.


Mein allgemeines Ziel ist es, eine Page mit SubPages zu haben, welche von SOAP und OData verwendet werden kann. Normale Pages liefern beim Aufrufen per OData keine SubPage Informationen, weshalb ich es momentan mit dem PageType "API" versuche. Mit dem Typ besteht nämlich die Möglichkeit, dass die SubPAges mit ausgegeben werden.

Ich hoffe es gibt hier jemanden, der/die Licht ins dunkeln bringen könnte und mich über die richtige Verwendung der API Pages in Kenntnis setzen kann.

Vielen Dank und viele Grüße
Tim
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von TimLR am 23. März 2020 10:43, insgesamt 1-mal geändert.

Re: NAV 2018 - API Page

23. März 2020 09:31

Hi,

das ist eine virtuelle Tabelle.
https://community.dynamics.com/business/b/tharangacnavblog/posts/list-of-system-and-hidden-tables-microsoft-dynamics-nav-2018

Ich kenne deinen Stand nicht, aber hier mal eine gute Info für die Custom-Api
https://community.dynamics.com/business/b/dkatson/posts/how-to-create-custom-apis-for-business-central-even-from-macos

Re: NAV 2018 - API Page

23. März 2020 10:44

sweikelt hat geschrieben:Ich kenne deinen Stand nicht, aber hier mal eine gute Info für die Custom-Api
https://community.dynamics.com/business/b/dkatson/posts/how-to-create-custom-apis-for-business-central-even-from-macos


Hi,

danke erstmal für die Antwort. Auf den Beitrag bin ich auch schon gestoßen, das Problem dabei ist allerdings, dass der Blog augenscheinlich für BusinessCentral und nicht NAV 2018 ist.

Die angesprochenen URLs im Blog habe ich auch schon probiert, allerdings ist das Problem, dass "hier die Parameter APIPublisher und APIGroup gefordert sind" (s.O.) und diese nicht als Seitenparameter existieren.

Zudem sollte doch meine Page mit Typ "API" und ApiVersion "v1.0" dann auch in der virtuellen Tabelle auftauchen nur mit der Version "v1.0" anstatt "beta" und den Flag "published" haben, oder nicht?
Sobald ich die APIVersion ändere, ist diese nicht mehr in der Tabelle zu finden und nicht in den Metadaten (https://host:port/instanz/api/beta/$metadata) angezeigt.


Hast du dazu eine Idee?


Gruß

Re: NAV 2018 - API Page

23. März 2020 11:59

Soweit ich weiß, wurden die API-Pages erst mit BC 12 oder BC 13 als beta eingeführt. Mit NAV 2018 wird das wohl eng :)

Re: NAV 2018 - API Page

23. März 2020 12:05

Okay, dass klingt erstmal Schade.
Dann frag ich mich, wieso der PageTyp "API" und sowie die Seiten und Tabellen dann schon in unserer NAV 11.0 Version existieren...

Würde zumindest erklären, warum man dazu keinerlei Informationen findet.

Hat vielleicht jemand anderes erfreulichere Nachrichten? :D

Re: NAV 2018 - API Page

23. März 2020 18:33

https://saurav-nav.blogspot.com/2018/04/microsoft-dynamics-nav-2018-api-part-4.html

Part 5 ->
https://saurav-nav.blogspot.com/2019/09/api-part-5-add-custom-api-in-list.html

Part 6 - die Demo - konnte ich nicht finden

ich denke auch, dass Part 3 noch interessant für dich ist

Re: NAV 2018 - API Page

23. März 2020 19:23

Oh wow, nun bin ich baff... Ich hätte schwören können, die gabs erst später. Sorry wegen der falschen Info.