REST API/WCF Services
ByggeBasen tilbyder adgang til REST API/WCF services til tilmeldte brugere (Kæder, Byggecentre og leverandører).
Hvis et tredjeparts firma ønskes som dataleverandør på vegne af et tilmeldt firma, kræver dette at det kæden/byggecentret/leverandøren kontakter ByggeBasens support på support@byggebasen.dk, og verificerer at tredjepart må få adgang til deres data.
ByggeBasens services giver adgang til samme features som er mulige at bruge manuelt på hjemmesiderne, såsom hentning er produkter, oprettelser, opdateringer, ajourføring af priser, upload af dokumentation mm.
Dette kan enten gøres via ByggeBasens REST API, eller WCF referencer til service endepunkterne som tillader basic, soap og net.tcp/Duplex konfigurationer.
Miljøer og udvikling
ByggeBasen har WCF webservice og REST API endepunkter tilgængelige på to endepunkter i driftmiljøet.
Standard endepunktet kan findes på http://services.byggebasen.dk/V3/BBService.svc
Beta endepunktet der altid indeholder de nyeste features kan findes på http://servicesbeta.byggebasen.dk/V3/BBService.svc
Disse endepunkter eksisterer også i et sikkert testmiljø, som ByggeBasen foreslår man udvikles op imod indtil man er klar til at deploye i produktion.
Testmiljøets endepunkt kan findes på https://servicetest.byggebasen.dk/V3/BBService.svc.
Dette endepunkt har også en SWAGGER side på https://servicetest.byggebasen.dk/V3/api-docs, med en liste af alle kontrakter i endepunktet, en beskrivelse af hvad de gør, og eksempler på produktoprettelser/opdateringer osv.
Denne SWAGGER side kan man så også lave direkte tests på, og se resultaterne af kald.
SWAGGER siden fungerer både som dokumentation, oversigt over kontraktmuligheder, samt som et testværktøj for udviklere.
For at tilgå sig REST API og WCF services kræver systemet en speciel service bruger, som ByggeBasens support kan oprette hvis der skrives til support@byggebasen.dk.
Da testmiljøet og driftmiljøet er to separate miljøer, betyder det at service brugere fra testmiljøet ikke kan bruges til at tilgå sig driften.
Testmiljøets dummy-data afspejler ikke produktionen 1-til-1, så flere af leverandørs produkter kan enten ikke eksistere, eller være slettede og kræve gendannelse.
Hentning af produkter
For at trække alle produkter ud kan man bruge [getChangedProdukt] der kræver en fra-dato og returnerer en liste med dbnumre, på produkter der har været oprettelser/ændringer i siden datoen. Eks:
{
"tunUser": {
"TunUserNr": "1234",
"UserName": "1234",
"Password": "1234"
},
"date": "/Date(946681200000)/"
}
Efter man har fået listen med dbnumre returneret kan man hente disse produkter via [getProduktBatch] kontrakten, der kræver en liste med dbnumre (maks. 1000 af gangen), som den så returnerer produkterne for. Eks:
{
"tunUser": {
"TunUserNr": "1234",
"UserName": "1234",
"Password": "1234"
},
"tunnr": [
1234561,
1234562,
1234563,
1234564
]
}
Opdatering af produktdata
Oprettelser og opdateringer af produkter/priser/logistikdata mm. gøres via [AjourProdukt] kontrakten, som kan findes og testes under Products fanen på SWAGGER - som også har forskellige eksempler på opdateringer/oprettelser.
Dokumentation kan ajourføres via [InsertKatalogueData] kontrakten under Documentation fanen - denne har også eksempler på indsættelser.
Hvis man ikke sender felterne ind vil de ikke nulstilles. Eks. på ændring af farve:
{
"user": {
"TunUserNr": "1234",
"UserName": "1234",
"Password": "1234"
},
"produkt": {
"TUNNR": 1234567,
"TUNBRUGERNR": 1234,
"FARVE": "blå"
}
}
De vil dog blive nulstillet hvis man sender dem ind som blanke. Eks. på ændring af farve der nulstiller modeltypen.
{
"user": {
"TunUserNr": "1234",
"UserName": "1234",
"Password": "1234"
},
"produkt": {
"TUNNR": 1234567,
"TUNBRUGERNR": 1234,
"FARVE": "blå",
"MODEL_TYPE": ""
}
}
I bunden af [AjourProdukt] kontraktens eksempler på SWAGGER siden, er der også en forklaring på hvilke kontrakter man kan bruge for at hente priskalender, varegrupper mm.