Generelle API Verbesserungen

Ich arbeite aktuell an einer Zeitfassungsapp für Bexio, leider ist die API meiner Meinung nach unfertig und inkonsistent. Nachfolgend einige Beispiele:

  • Arbeitspackete können nur über ein Projekt abgerufen werden, wenn ich die gesamte Liste an Areitspaketen anzeigen will muss ich über jedes Projekt iterieren. Gewünscht bzw. konsistent wäre der Endpunkt https://api.bexio.com/3.0/packages/ (wichtig)

  • Man kann keine Redirect URL für den Logout Endpunkt setzen, dadurch kann man den Logout flow nicht korrekt abbilden (wichtig)

  • Endpunkte erlauben kein sinnvolles Filtern (bsp. Timesheet filter auf user_id) (wichtig)

  • Das Benutzerprofil welches beim Login aufgerufen werden kann enhält die Benutzerid nicht, ausserdem heissen die Felder statt firstname nun given_name und statt lastname family_name

  • Mann kann keine CORS headers setzen und benötigt dadurch einen CORS proxy

  • Der OAuth flow ist ok (hab ich nach langem hin und her in iOS und Android hingekriegt), ein einfacher Basic auth würde das ganze viel einfach machen.

  • Lukas Schönbächler
  • Oct 4 2020