GraphQL Service
Beskrivelse
Hva er GraphQL API Service for Visma Business?
I ett grensesnitt får du tilgang til alle tabeller fra Visma Business, og du kan enkelt følge relasjoner på kryss og tvers av tabellene.
I tillegg kan man enkelt hente innhold i memo-filer, dokumenter og bilder. Bildefiler kan i tillegg skaleres direkte fra løsningen, slik at man kan hente ut thumbnails uten tilleggs-prosesser.
GraphQL for Visma Business er en tjeneste som installeres lokalt på samme server som Visma Business, og kan valgfritt publiseres ut på internett på en sikker måte.
Se og utforsk skjema på https://demo-vbus-graphql.sync-it.no/graphql/
Autentisering
Autentisering gjøres med en api-nøkkel, og tilgang kan styres på tabell-nivå hvor tilgang til å lese, skrive og slette kan styres individuelt.
Eksempler
Her følger noen eksempler på spørringer.
Hent produkt med filter
Dette eksemplet vil hente generell produktinformasjon for produkt 1002, men også innholdet fra memo-filen.
Feltene "thumbnail" og "image" vil være url-er til bildene, ferdig skalert.
I tillegg hentes kundepris for kunde 10002 og lagersaldo.
query getProducts {
product(where: { productNo: { eq: "1002"} }) {
nodes {
productNo
description
customerPrice(customerNo: 10002){
price
customerPrice
discount1
}
memoFileContent
thumbnail: pictureFileUrl(public: true, height: 200, width: 200)
image: pictureFileUrl(public: true)
joindown_StockBalance {
joinup_Warehouse {
warehouseNo
name
}
availableToPick
physicalStockValueDomestic
}
}
}
} Respons {
"data": {
"product": {
"nodes": [
{
"productNo": "1002",
"description": "Olyo MS 0704 Carbon Crown Rescue",
"customerPrice": {
"price": 595,
"customerPrice": 386.75,
"discount1": 35
},
"memoFileContent": "This is the content of the memo file",
"thumbnail": "https://demo-vbus-graphql.sync-it.no/fileService/C8KB8kKnGfhvg5uxccwP.../358.png",
"image": "https://demo-vbus-graphql.sync-it.no/fileService/C8KB8kKnGfhvg5uxccwP.../358.jpg",
"joindown_StockBalance": [
{
"joinup_Warehouse": {
"warehouseNo": 1,
"name": "Standard"
},
"availableToPick": 0,
"physicalStockValueDomestic": 1500
}
]
}
]
}
}
}
Opprett en ordre
mutation createOrder {
order_create(
order: {
orderType: NORMAL_ORDER
customerNo: 10002
orderLines: [
{ productNo: "1002", quantity: 5 }
{ productNo: "1001", quantity: 4 }
]
}
) {
orderNo
orderType
transactionType
customer: joinup_Associate_via_CustomerNo {
name
}
orderLines: joindown_OrderLine {
productNo
quantity
priceDomestic
}
}
}
Respons {
"data": {
"order_create": {
"orderNo": 452,
"orderType": "NORMAL_ORDER",
"transactionType": "SALES",
"customer": {
"name": "Access Vital AS"
},
"orderLines": [
{
"productNo": "1002",
"quantity": 5,
"priceDomestic": 595
},
{
"productNo": "1001",
"quantity": 4,
"priceDomestic": 995
}
]
}
}
}
Opprett et bilag
mutation batchCreate {
batch_create(
batch: {
valueDate: 20220101
voucherSeriesNo: 2
voucherLines: [
{
debitAccountNo: 1920
amountInCurrency: 250
text: "demo transaction"
},
{
amountInCurrency: 250
creditAccountNo: 7790
text: "demo transaction"
},
]
}
) {
valueDate
batchNo
joindown_Voucher {
lineNo
voucherNo
}
}
}
Respons {
"data": {
"batch_create": {
"valueDate": 20220101,
"batchNo": 118,
"joindown_Voucher": [
{
"lineNo": 1,
"voucherNo": 20183
},
{
"lineNo": 2,
"voucherNo": 20183
}
]
}
}
}
De viktigste fordelene
Priser
pr. klient