Quick Start

Getting Started

API Key

Vraag uw api key aan bij Vanmarcke-Software om connectie te maken met uw dossier. Via deze API-key gebruikt u voor Authenticatie:

  • Headers aanpassen: X-ApiKey: {Your-Api-Key} aan headers toevoegen
  • URL aanpassen: http://{QueryUrl}?ApiKey={Your-Api-Key}

Formaat

U kan kiezen tussen JSON en XML als formaat dat de API retourneert.

  • Headers aanpassen: Accept: application/xml aan headers toevoegen
  • URL aanpassen: http://{QueryUrl}?ApiKey={Your-Key}&format={formaat}

Query Opties

met behulp van OData kan u Query opties meegeven in de URI zodat u slechts de set van data terugkrijgt die u nodig hebt. bijvoorbeeld:
http://localhost/Products?$orderby=Name om de resultaten te sorteren op Name.
de beschikbare Query opties zijn:

Option Description
$expand Zal een gerelateerd object uitbreiden (bijvoorbeeld object "Department" van het object "Article").
$filter Filtert het resultaat op basis van een Boolean conditie.
$orderby Sorteert het bekomen resultaat.
$select Selecteert welke properties in het resultaat moeten worden geretourneerd.
$skip Skip de eerste n resultaten.
$top toont enkel de eerste n resultatens.

Filteren

met de $filter optie kan u de reltaten di u terugkrijgt filteren aan de hand van een boolean expressie. enkele voorbeelden:

Gelijk aan (=) http://api.omnisoftonline.be/v1/Article?$filter=Brand eq 'Omnisoft'
verschillend van (≠) http://api.omnisoftonline.be/v1/Article?$filter=Brand ne 'Omnisoft'
Logische operatoren (and / or) http://api.omnisoftonline.be/v1/Article?$filter=Price ge 5 and Price le 15
Vraag meer info aan Vanmarcke Software indien u specifieke queries wil uitvoeren.

Paginering

Maximaal aantal objecten

Meestal worden er maximum 200 items geretourneerd bij het opvragen van een lijst. Hou hiermee rekening. We raden aan om altijd paginering toe te passen bij het opvragen van een lijst.

Bv. bij de call van : http://api.omnisoftonline.be/v1/SimpleArticle?apiKey={UW-API-KEY}&format=json&$skip=100&$top=100
Krijgt u volgende extra info in de response header:
Current-Items: 100
Current-Page: 1
Total-Items: 528
Total-Pages: 7

Belangrijkste APIs

Simple Article

Met de API SimpleArticle worden alle atikelen opgehaald met eventueel bijhoordene artikeldetails (= meerdre indien er met multimaat in Omnisoft wordt gewerkt). De API geeft ALLE artikelen weer die in omnisoft zitten. Dit is inclusief de niat-actieve artikelen en artikelen die niet voorraadig zijn. Het is aan de integrator om te beslissen welke artikelen worden getoond.

Field

Type

Description

Example

Id

int

 

13289

DetailId

int

 

2

Active

bool

actief

true

Code

string

Articlecode Omnisoft

D94423/43

DescriptionNL

string

Korte beschrijving

EL PASO/BRN SHORT HARNESS 43

DescriptionFR

string

Korte beschrijving

 

DescriptionEN

string

Korte beschrijving

 

DescriptionDE

string

Korte beschrijving

 

CoverImage

string

 

 

LongDescriptionNL

string

Lange Omschrijving

 

LongDescriptionFR

string

Lange Omschrijving

 

LongDescriptionEN

string

Lange Omschrijving

 

LongDescriptionDE

string

Lange Omschrijving

 

SupplierId

int

LeveranciersId

327

SupplierName

string

Leveranciersnaam

HARLEY DAVIDSON FOOTWEAR

ReferenceSupplier

string

Artrikelcode bij leverancier

D94423/43

DepartmentId

int

Id Groep Omnisoft

109

DepartmentCode

string

Code Groep Omnisoft

KLE

Packaging

string

verpakking

 

DefaultSaleCount

double

standaar verkoopsaantal

1

DepartmentAlternativeId

int

id webshopgroep

5

DepartmentAlternativeCode

string

code webshopgroep

0

DepartmentCashRegisterId

int

 

 

DepartmentCashRegisterCode

string

 

 

FollowupNumber

int

 

0

TaxCode1

char

BTW-Code1

3

TaxCode2

char

BTW-Code2

3

TaxCode1Part

int

% van BTW code 1 (samengesteld BTW)

100

BarCodeEAN

int

eerste 12 karakters van EAN13

100000246799

FabrikantNr

string

Nummer bij de fabrikant

 

BarCodeReference

string

Barcode referentie

 

RevenueAccount1

int

Omzetrekening1

700200

RevenueAccount2

int

omzetrekening 2

700200

PurchasePrice

double

Aankoopprijs

76.55

PurchaseDiscountPercentage

double

% kortijg op aankoopprijs

0

SalePrice

double

Verkoopssprijs 1 (klant prijscode = 1)

152.892.562

SalePrice_2

double

Verkoopssprijs 2 (klant prijscode = 2)

0

SalePrice_3

double

Verkoopssprijs 3 (klant prijscode = 3)

0

SalePrice_4

double

Verkoopssprijs 4 (klant prijscode = 4)

0

SalePrice_5

double

Verkoopssprijs 5 (klant prijscode = 5)

0

SalePrice_6

double

Verkoopssprijs 6 (klant prijscode = 6)

0

SalePrice_7

double

Verkoopssprijs 7 (klant prijscode = 7)

0

SuggestedSalePrice

double

sugestie verkoopsprijs

0

Brand

string

Merk

 

OutOfSupplierStock

boolean

niet beschikbaar bij leverancier

false

CheckStockLevel

boolean

stock controle bij verkoop

true

LastPurchase

DateTime

laatste aankoopdatum

2014-11-05T00:00:00

LastSale

DateTime

laatste verkoopdatum

2015-03-21T00:00:00

StorageNumber

string

 

 

MinimumStock

int

minimaal aantal stuks in stock

0

MaximumStock

int

maximaal aantal stuks in stock

0

ExternalId

int

Externe ID

246812001

UnitOfMeasurement

string

Eenheid

 

MinimalOrderSize

int

Minimale aankoop heoveelheid

0

ManualAdjustedPrice

boolean

Prijs manueel aangepast

true

Sync

boolean

Tonen op webshop

true

TempStock

int

Stock uit Omnisoft 3

0

Stock

int

Stock uit Omnisoft Online

0

Empties

int

Leeggoed

0

Comment

string

commentaar

 

CreatedOn

DateTime

 

2011-10-27T00:00:00

EditedOn

DateTime

 

2015-09-10T00:00:00

InventoryPrice

double

inventarisprijs (boekhoudkundig)

 

DiscountPrice

double

Soldenprijs 1

 

DiscountPrice_2

double

Soldenprijs 2

 

DiscountPrice_3

double

Soldenprijs 3

 

DiscountPrice_4

double

Soldenprijs 4

 

isLibraryArticle

boolean

Artikel uit bibliotheek

false

MaxAllowedInShoppingCart

integer

Maximale aantal in winkelwagentje

 

Volgende zaken moet u zeker weten:
Departments / Departmentalternatives

Deze worden steeds gebruikt voor de indeling van de artikelen. We houden op deze zaken geen "Parent" of "Children" bij. Dit gebeurt steeds aan de hand van de code dat het object meekrijgt:

  • objecten met 1 karakter als code zijn hoofdgroepen. Bijvoorbeeld K (KLEDIJ)
  • objecten met 2 karakters als code zijn subgroepen van de groep met het eerste karakter als code. Bijvoorbeeld KD (DAMES) is subgroep van groep K (KLEDIJ)
  • objecten met 3 karakters als code zijn subgroepen van de groep met het eerste twee karakters als code. Bijvoorbeeld KDJ (JEANS) is subgroep van groep KD (DAMES) die op zich subgroep is van K (KLEDIJ)
  • Enzovoort. We kunnen tot 5 niveaus diep gaan. Dit betekent niet dat de klant alle 5 niveaus gebruikt.
Voorraad

Indien er voorraad moet worden getoond zijn er 2 velden bruikbaar:

  • Stock dit is de voorraad die live wordt berekend uit Omisoft Online
  • TempStock: dit is de voorraad die vanuit Omnisoft 3 wordt opgevuld. Deze stock is niet live en wordt slechts periodiek opgevuld

in beide gevallen raden we aan om de voorraad in de webshop bij te houden en periodiek de voorraad op te halen. Het is pas als een order in Omnisoft wordt verwerkt dat de stock wordt aangepast en niet eerder.

Prijsbepaling

De prijsbepaling vaieert per dossier en kan complex zijn. Hiervoor raden we aan om contact op te nemen welke prijssystemen en kortingssystemen actief zijn op het dossier. we denken hierbij aan:

  • Prijsafspraken
  • Soldenprijzen
  • Prijsgroepen
  • kortingsgroepen
  • ...

Simple Client

Met de API SimpleClient worden alle klanten opgehaald. De API geeft ALLE klanten weer die in omnisoft zitten. Dit is inclusief de niet-actieve klanten. Het is aan de integrator om te beslissen welke artikelen worden getoond.

Field

Type

Description

Example

Id

int

Key van de klant

1

Active

boolean

is de klant actief

false

Nummer

int

klantnummer in Omnisoft

123

RoepNaam

string

Roepnaam (naam zonder spasties)

TESTKLANT

AanspreekTitel

string

 

Dhr

Naam

string

 

Test Klant

ContactPersoon

string

Cantactpersoon naam

John Smith

ContactPersoonTitel

string

Contactpersson functie/titel

CEO

Adres_AdresLijn1

string

Straat + huisnummer

 

Adres_AdresLijn2

string

 

 

Adres_Gemeente

string

 

 

Adres_PostCode

string

 

 

Adres_Land

string

ISO landcode

BE

Adres_Latitude

string

 

 

Adres_Longitude

string

 

 

Email

string

 

 

Beroep

string

 

 

TaalCode

string

 

NL

PrijsCode

int

 

1

BTWNr

string

 

 

Tel1

string

 

 

Tel2

string

 

 

Fax

string

 

 

GSM

string

 

 

HasShippingCost

boolean

verzendingskosten aan te rekenen?

false

TelFaxGSM

string

 

 

Website

string

 

 

BankNumber

string

 

 

BTWDef

string

 

 

TaxCode

int

 

3

ExternalCreditLine

string

 

-1

BTWC

string

 

 

TaxType

string

BTW Type (BTW-plichtig, Intracom, ..)

P

Vertegenwoordiger

int

 

1

Vertegenwoordiger2

int

 

1

AantalExFacturen

int

 

1

TypeBetalingsVoorwaarden

string

 

D

AantalDagenBetalingsVoorwaarden

int

 

0

KortingsBedrag

double

 

0

KortingsPerc

double

 

0

KortingsPercEcom

double

 

 

Nivo

int

 

0

IBANNr

string

 

 

BICNr

string

 

 

GrootBoekNr

int

 

1

Tegen

string

 

 

DagboekNr

int

 

20

KortingInGoederen

boolean

 

false

AssignedUserName

string

Usernaam toegekend in Omnisoft

 

AssignedPassword

string

Wachtwoord toegekend in Omnisoft

 

AssignedPasswordEncryptionMethod

string

Encryptiemethode op wachtwoord

None

AssignedPasswordSalt

string

SALT toegepast op wachtwoord

 

KlantIDExtern

int

KlantID in extern pakket

 

Memo

string

 

 

Self

string

 

 

RappelAfdrukken

boolean

 

true

ImmediatePayment

boolean

 

false

KortingTegoedBon

string

 

 

isGDPRCompliant

boolean

 

true

ResPercentage

double

 

 

TradePercentage

double

 

 

Comm1

string

 

 

Comm2

string

 

 

Comm3

string

 

 

Comm4

string

 

 

ClientType

int

 

 

Opvoororder1

boolean

 

false

Opofferte1

boolean

 

false

Oplev1

boolean

 

false

Opwerkbon1

boolean

 

false

Lvc1

boolean

 

false

Oprap1

boolean

 

false

Opvoororder2

boolean

 

false

Opofferte2

boolean

 

false

Oplev2

boolean

 

false

Opwerkbon2

boolean

 

false

Lvc2

boolean

 

false

Oprap2

boolean

 

false

Opvoororder3

boolean

 

false

Opofferte3

boolean

 

false

Oplev3

boolean

 

false

Opwerkbon3

boolean

 

false

Lvc3

boolean

 

false

Oprap3

boolean

 

false

Opvoororder4

boolean

 

false

Opofferte4

boolean

 

false

Oplev4

boolean

 

false

Opwerkbon4

boolean

 

false

Lvc4

boolean

 

false

Oprap4

boolean

 

false

ExtraFieldString1

string

Extra info (invulling varieert per dossier)

 

ExtraFieldString2

string

Extra info (invulling varieert per dossier)

 

ExtraFieldString3

string

Extra info (invulling varieert per dossier)

 

ExtraFieldString4

string

Extra info (invulling varieert per dossier)

 

ExtraFieldString5

string

Extra info (invulling varieert per dossier)

 

ExtraFieldString6

string

Extra info (invulling varieert per dossier)

 

ExtraFieldString7

string

Extra info (invulling varieert per dossier)

 

ExtraFieldString8

string

Extra info (invulling varieert per dossier)

 

ExtraFieldString9

string

Extra info (invulling varieert per dossier)

 

ExtraFieldString10

string

Extra info (invulling varieert per dossier)

 

FacturatieCode

int

 

2

ExtraNameField

string

 

 

SpeedorderClientCodeId

int

 

 

Volgende zaken moet u zeker weten:
TaxType

  • fdgfgd

Afbeeldingen / Documenten

Omnisoft Documents

voor Afbeeldingen en documenten gebruiken we een eigen file-systeem "Omnisoft Documents". Hiervoor hebt u dezelfde API-key nodig en de ID van het artikel waarvoor u de documenten ophaalt. Ophalen gebeurt met behulp van onderstaande URL

http://documents.omnisoftonline.be/odata/Documents?apikey={APIKEY}&$filter=Key eq ‘ARTICLE’ and ForeignKey eq {Id}&doIO=true

Hierbij krijgt u alle documenten/afbeeldingen die aan dit artikel gekoppeld zijn in een BASE64 indeling. Idien u enkel de meta-data wenst op te halen, kan u de parameter doIO=true weglaten

Field

Type

Description

Example

FileName

string

 

HRB013.jpg

RelativeLocalDirectory

string

 

/

VirtualDirectory

string

   

FullName

string

 

E:\virtual\Omnisoft-Online-Documents\App_Data\54b7475e-c710-42d2-a347-7e3443639fe5\a4659a7e-5cee-4c06-bb2a-05dff0b1934e.jpg

FullDirectoryPath

string

 

E:\virtual\Omnisoft-Online-Documents\App_Data\54b7475e-c710-42d2-a347-7e3443639fe5\

Size

int

 

196941

Extension

string

 

.jpg

Hash

string

 

F6-E1-75-59-03-2C-A5-1D-6E-99-BC-BF-E2-59-FA-CE

HashMethod

string

 

MD5

Contents

string

BASE64 indeling van het document

ForeignKey

int

 

22316

SortNumber

int

 

1

Key

string

 

ARTICLE

UserId

GUID

 

54b7475e-c710-42d2-a347-7e3443639fe5

Order doorsturen

het doorsturen van het order hangt af van welk systeem door de klant wordt gebruikt: Omnisoft Online of Omnisoft 3

Omnisoft 3

Voor het doorsturen van een order werken we met een XML-bestand die via FTP op onze server wordt geplaatst. In omnisoft gebeurd op geregelde tijdstippen een download vanop deze FTP.

Field

Description

<?xml version="1.0"?>

 

OrderViewModel

 

  • Client

 

    • KlNr

Klantnummer Omni3

    • ExternKlNr

Id van de client

    • KlNaam

 

    • AddressLine1

 

    • AddressLine2

 

    • Gemeente

 

    • PostCode

 

    • Land

 

    • Tel1

 

    • ContactPersoon

 

    • Email

 

    • BTWNr

 

    • KortingsPercentage

 

    • PrijsCode

 

    • GlobalName

 

  • Order

 

    • Id

 

    • ExternalShippingAddressId

 

    • ShippingCost

 

    • DiscountAmount

 

    • OrderDate

 

    • DeliveryDate

 

    • IsNormalOrder

 

    • IsUrgentOrder

 

    • IsBeforeADate

 

    • IsBeforeDateValue

 

    • IsPaid

 

    • OrderType ORDER

 

    • Payment

 

      • Amount

 

    • Comment

 

  • Orderlines

 

    • OrderLine

 

      • artNr

 

      • aantal

 

      • aantalVerpakking

 

      • standaardVerkoopAantal

 

      • bedrag

 

      • kortPerc

 

      • kortBedrag

 

      • volgNr

 

      • volgNrLijn

 

      • gewichtPrijsTabel

 

      • unitDescr

 

  • ShopHasAnonymousUsers

 

Volgende zaken moet u zeker weten:
Klantnr

Indien het gaat om een nieuwe klant moet u -1 meegeven als klantnummer. Bij een bestaande klant geeft u "Nummer" die u terugkrijgt van de API SimpleClient mee (= klantnr in Omnisoft 3 )

Prijsbepaling

Indien als bedrag -1 wordt meegegegeven, wordt de prijs door Omnisoft berekend. Zoniet wordt de prijs overgenomen uit de XML.

Idem voor kortPerc en kortBedrag