Connect API – oversikt¶
Connect API er server-API-et som Ionic-appen (og web-klienten) snakker med.
Det er en ASP.NET Web API-applikasjon på .NET Framework 4.8, hostet på
IIS (lokalt JHSVMAPP340-01). API-et eier ingen forretningslogikk mot Visma
selv — det kaller VBS-integrasjonen jhlVismaAPI
(samme forretningslag som ConnectMonitor), og snakker direkte med en
Connect-database per selskap for app-spesifikke data.
Arkitektur¶
flowchart TB
APP[Ionic-app / web] -->|HTTPS + JWT Bearer| API[Connect API<br/>ASP.NET Web API .NET 4.8 · IIS]
API --> BIZ["jhlVismaAPI.Business<br/>(dependencies/jhlVismaAPI.dll)"]
BIZ --> VBS[Visma Business Services<br/>WCF GenericService] --> VB[(Visma SQL)]
API --> CSQL[(ConnectSQL per selskap<br/>RefreshTokens, Survey, Deviation)]
API --> FORMS[(FormsDB / ePortal-DB)]
API --> EXT[Landax · ABAX · NorTrace · Dottie · SMS · e-post]
classDef sys fill:#f8d7da,stroke:#b53b46
class API,BIZ,VBS sys
- Forretningslag:
new jhlVismaAPI.Business(companyID)(DLL idependencies/jhlVismaAPI.dll) → VBS WCF-tjeneste (VBS_Endpoint) + Visma SQL. Operasjonene er dokumentert under VBS-integrasjon. - Connect-database (
ConnectSQL_‹selskap›): app-data somRefreshTokens, survey-/kiosk-token, avvik. - Forms/ePortal (
FormsDBEntities,Eportal_‹selskap›): skjema og timeregistrering (Entity Framework). - Multi-tenant: selskap (
CompanyID) følger med i token og i alle spørringer; hvert selskap har egne connection strings.
Avhengigheter¶
| Avhengighet | Bruk | Auth (nøkkelnavn) |
|---|---|---|
Visma Business (VBS) via jhlVismaAPI |
All ordre-/kunde-/bilagslogikk | VBS_Endpoint, VBS_User, sertifikat VBSTestCert |
| Landax | Avvik, skjema/survey, dokumenter, medarbeidere | OAuth2 Landax_* |
| ABAX | Kjøretøyposisjoner (flåtekart) | OAuth2 ABAXClientId/Secret |
| Soolo/NorTrace | Tanknivå | Bearer NorTraceBearer |
| Dottie | Medarbeiderdata | API-nøkkel per selskap |
| SMS (LinkMobility) | Målerstand-SMS (webhook + utsending) | SMS_* |
| E-post (SMTP) | Kvitteringer, varsler | system.net/mailSettings |
Biblioteker av betydning: System.IdentityModel.Tokens.Jwt (JWT),
RepoDb (RefreshTokens/Survey/Deviation), EntityFramework (Forms/ePortal),
Swashbuckle (Swagger), NLog (logg), Microsoft.Data.SqlClient.
Swagger / API-dokumentasjon¶
Swagger er aktivert via Swashbuckle (SwaggerConfig), tittel
«KNAPPHUS CONNECT - API», versjon v1, på /swagger. Se også den innebygde
Connect API (Swagger)-siden for utviklere.
Prosjektstruktur¶
| Mappe | Innhold |
|---|---|
Controllers/ |
API-endepunkter (+ undermapper Customers, Eportal, Forms, Landax) |
Filters/ |
JwtAuthenticationAttribute, KeyAuthenticationAttribute, feilhåndtering |
Helpers/ |
JwtManager, EncryptionHelper, AbaxHelper, DottieHelper |
Repositories/ |
RefreshTokenRepository, SurveyRepository, DeviationRepository (RepoDb) |
Models/ |
request/response + business objects (BO, Authentication, ABAX) |
App_Start/ |
WebApiConfig, RouteConfig, FilterConfig, SwaggerConfig |
Utils/ |
PDF-generering, CompaniesSection-parser |
Ruting er attributtbasert (MapHttpAttributeRoutes) med fallback
api/{controller}/{action}. CORS er åpent (Access-Control-Allow-Origin: *).
Undersider¶
- Autentisering (JWT + refresh) — pålogging, token-fornying, kjente fallgruver
- Endepunktsreferanse — alle kontrollere og endepunkter
Relaterte sider¶
- Integrasjoner: Oversikt · Visma Business (VBS)
- VBS-integrasjon (jhlVismaAPI) — forretningslaget API-et kaller
- Drift og overvåking