MKG API Artikel + stuklijst

Dit artikel bevat de veelgebruikte API-aanroepen voor Artikelen en Stuklijsten.

Getest op API V3 en MKG Versie 005.91.014.


Inhoudsopgave


Data dictionary
Voor informatie over endpoints, velden en acties, zie dit artikel.

 

Postman
Voor voorbeelden van API-aanroepen, zie dit artikel.

 

Structuur halffabricaat

In een stuklijst kun je meerdere regels toevoegen. Regel 1 is vaak het eindproduct. Als je een nieuwe regel toevoegt, kun je via het veld Parent aangeven dat deze regel onderdeel is van een andere regel. Zo ontstaat een boomstructuur van eindproduct, halffabricaten en sub-halffabricaten.

Bijvoorbeeld:
Regel 2 krijgt parent = 1 → regel 2 is een halffabricaat van het eindproduct in regel 1.
Regel 3 krijgt parent = 2 → regel 3 is een halffabricaat van regel 2 (dus een subonderdeel).
Regel 4 krijgt parent = 1 → regel 4 is ook een halffabricaat direct onder regel 1.
Regel 5 krijgt parent = 4 → regel 5 is een halffabricaat van regel 4.
Zo bouw je een hiërarchie op van onderdelen binnen één stuklijst.
 
Regel 1: Eindproduct
├── Regel 2: Halffabricaat van Regel 1
│    └── Regel 3: Halffabricaat van Regel 2
├── Regel 4: Halffabricaat van Regel 1
│    └── Regel 5: Halffabricaat van Regel 4

 

Opvragen

 

Artikel zoeken

Wanneer je handmatig naar artikelen in MKG wilt zoeken, kun je de volgende GET request gebruiken om geleidelijk een lijst met mogelijkheden weer te laten geven. Vul bij 'Search' het te zoeken artikel in.

GET {{restUrl}}/Documents/arti

  • Filter: admi_num = {{admi_num}} AND arti_actief = true AND Search = "search text" 
  • FieldList: arti_code,arti_oms_1,arti_oms_2,arti_oms_3 
  • Sort: arti_code
  • NumRows: 10
{{restUrl}}/Documents/arti?Filter=admi_num = {{admi_num}} AND arti_actief = true AND Search = "search text"&FieldList=arti_code,arti_oms_1,arti_oms_2,arti_oms_3&Sort=arti_code&NumRows=10

 

Lijst met artikelen

Voor het opvragen van een lijst met artikelen kan de volgende aanroep worden gebruikt.
De API maakt gebruik van paginering, waarbij maximaal 1000 regels in één aanroep worden aangeboden.

GET {{restUrl}}/Documents/arti

  • Filter: admi_num = {{admi_num}} AND arti_actief = true AND ...
  • FieldList: arti_code,arti_oms_1,arti_oms_2,arti_oms_3,... 
  • Sort: arti_code
  • NumRows: 100
  • SkipRows: 0
{{restUrl}}/Documents/arti?Filter=admi_num = {{admi_num}} AND arti_actief = true&FieldList=arti_code,arti_oms_1,arti_oms_2,arti_oms_3&Sort=arti_code&NumRows=100&SkipRows=0

 

Specifiek artikel

Voor het opvragen van een specifiek artikel zijn er twee mogelijkheden, namelijk met de primary key en met de rowkey. De rowkey komt bij elke GET request mee en is uniek in combinatie met het endpoint.

GET {{restUrl}}/Documents/arti/{{admi_num}}+{{arti_code}}

GET {{restUrl}}/Documents/arti/{{RowKey}}

  • FieldList: arti_code,arti_actief,arti_oms_1,arti_oms_2,arti_oms_3,arti_eenh_vrd,arti_stlh_num,... 
{{restUrl}}/Documents/arti/{{admi_num}}+{{arti_code}}?FieldList=arti_code,arti_actief,arti_oms_1,arti_oms_2,arti_oms_3,arti_eenh_vrd,arti_stlh_num

 

Specifieke stuklijst opvragen

De stuklijstheader (stlh) bevat alleen het stuklijstnummer. De koppeling van een stuklijst met een artikel bevindt zich op het eindproduct van de stuklijst. Aangezien een stuklijst maar 1 eindproduct kan hebben zal dit altijd stuklijstregel 1 zijn.

De tabelstructuur van een stuklijst:

stlh - Stuklijstheader
- stlr - Eindproduct (stlr_num = 1)
-- stlm - Materialen
-- stlb - Bewerkingen
-- stlr - Halffabricaten (stlr_parent = 1)
--- stlm - Materialen
--- stlb - Bewerkingen
--- stlr - Halffabricaten (stlr_parent = ...)
---- enz..

GET  {{restUrl}}/Documents/stlr/{{admi_num}}+{{stlh_num}}+{{stlr_num}}

  • FieldList: stlh_num,stlh_num.stlh_actief,stlr_num,arti_code,stlr_oms_1,stlr_oms_2,stlr_oms_3
  {{restUrl}}/Documents/stlr/{{admi_num}}+{{stlh_num}}+{{stlr_num}}?FieldList=stlh_num,stlh_num.stlh_actief,stlr_num,arti_code,stlr_oms_1,stlr_oms_2,stlr_oms_3

 

Stuklijst Materialen

Deze stuklijst maakt gebruik van de verzameling van materialen op het endpoint van de stuklijstregel (stlr).

GET {{restUrl}}/Documents/stlr/{{admi_num}}+{{stlh_num}}+{{stlr_num}}/stlr_stlm

  • FieldList: stlm_num,arti_code,stlm_oms_1,stlm_oms_2,stlm_oms_3,stlm_aantal,stlm_eenh,... 
  • Sort: stlm_num
{{restUrl}}/Documents/stlr/{{admi_num}}+{{stlh_num}}+{{stlr_num}}/stlr_stlm?FieldList=stlh_num,stlh_num.stlh_actief,stlr_num,arti_code,stlr_oms_1,stlr_oms_2,stlr_oms_3

 

Aanmaken

 

Artikel

Voor het aanmaken van artikelen maken we gebruik van profielen in MKG (artikelsjabloon). In de module Artikelen is het mogelijk om meerdere profielen aan te maken, waarmee alle relevante informatie door MKG automatisch wordt gevuld.

Het advies is om minimaal de volgende profielen in overleg met de MKG consultant aan te maken. Per geadviseerd profiel kunnen meerdere varianten aangemaakt worden in verband met verschil in de gewenste financiële afhandeling (inkoop/verkoop/voorraadgroepen).

Profiel Artikel Inkoop Voorraad Kosten Na optimaliseren
7000 Inkoop voorraad gestuurd true true false Materiaal
7100 Inkoop order gestuurd true false false Materiaal
7200 Inkoop kosten true true true Materiaal
7300 Productie/verkoop voorraad gestuurd false true false Materiaal
7400 Productie/verkoop order gestuurd false false false Halffabricaat
7999 Onbekend/default * * * *

 

Door het gebruik van profielen volstaat het opvoeren van de basisinformatie.

POST {{restUrl}}/Documents/arti/?Profile={{profile_num}}

{{restUrl}}/Documents/arti/?Profile={{profile_num}}

Request body:

{
    "request": {
        "InputData": {
          "arti": [
                {
                  "arti_code": "Article name",
                  "arti_eenh_vrd": "st.",
                  "btwc_code": 1,
                    "vrkg_num": {{vrkg_num}},
                  "inkg_num": 1,
                    "prdg_num": {{prdg_num}},
                    "vrdg_num": {{vrdg_num}},
                  "arti_actief": true
                }
            ]
        }
    }
}

 

 

VRM-artikel aanmaken

Binnen MKG kun je ook gebruikmaken van VRM (Versnelde Reken Methode)-artikelen.
Dit zijn artikelen waarbij op het artikel alle parameters en de handelslengte vastgelegd wordt, en op de stuklijst Materialen het verbruik kan worden opgegeven. 

Het advies is om VRM-artikelen door de MKG gebruiker in MKG aan te laten maken en vervolgens over te nemen.
VRM-artikelen herken je aan het veld Formule (matf_num) dat op het artikel gevuld is.

 

Stuklijstheader aanmaken

POST {{restUrl}}/Documents/stlh/

{{restUrl}}/Documents/stlh/

Request body:

{
    "request": {
        "InputData": {
            "stlh": [
                {
                    "admi_num": {{admi_num}},
                    "stlh_actief": true,
                    "stlh_memo": "Memo text"
                }
            ]
        }
    }
}

 

Stuklijstregel aanmaken

POST {{restUrl}}/Documents/stlr/

{{restUrl}}/Documents/stlr/

Request body:

{
    "request": {
        "InputData": {
            "stlr": [
                {
                    "admi_num": {{admi_num}},
                    "stlh_num": "{{stlh_num}}",
                  "arti_code": "{{arti_code}}"
              } ] } } }

 

Stuklijst materialen aanmaken

Voeg alle benodigde materialen toe aan de stuklijstregel.

POST {{restUrl}}/Documents/stlr/{{admi_num}}+{{stlh_num}}+{{stlr_num}}/stlr_stlm

{{restUrl}}/Documents/stlr/{{admi_num}}+{{stlh_num}}+{{stlr_num}}/stlr_stlm

Request body:

{
    "request": {
        "InputData": {
            "stlm": [
                {
                    "arti_code": "{{arti_code}}",
                  "stlr_aantal": 1,
                  "eenh_code": "st."                 } ] } } }

 

Stuklijst VRM-materialen aanmaken

Binnen MKG kan er ook gebruik gemaakt worden van VRM (Versnelde Reken Methode)-artikelen.
Dit zijn artikelen waarbij op het artikel de handelslengte vastgelegd wordt, en op de stuklijst Materialen kan het verbruik opgegeven worden.

Bij VRM-artikelen liggen alle parameters vast op het artikel. Bij de stuklijst Materialen kan de hoeveelheid en de benodigde lengte worden opgegeven.

POST {{restUrl}}/Documents/stlr/{{admi_num}}+{{stlh_num}}+{{stlr_num}}/stlr_stlm

{{restUrl}}/Documents/stlr/{{admi_num}}+{{stlh_num}}+{{stlr_num}}/stlr_stlm

Request body:

{
    "request": {
        "InputData": {
            "stlm": [
                {
                    "arti_code": "{{arti_code}}",
                  "stlr_aantal": 1,
                  "eenh_code": "st.",
                  "stlm_lengte": "100", // De lengte is altijd in milimeter
                  "stlm_behoefte_obv": 3 // Behoefte op basis van product lengte en handelslengte (PL/HL)                 } ] } } }

 

Acties

 

Bijwerken revisie

Met deze PUT-call kun je een revisieberekening uitvoeren voor een artikel in MKG, waarbij je aangeeft welke onderdelen van de stuklijst (eindproducten, halffabricaten en materialen) in de revisie meegenomen moeten worden.

PUT{{restUrl}}/Documents/arti/{{arti_code}}/Service/s_recalc_revisie

{{restUrl}}/Documents/arti/{{arti_code}}/Service/s_recalc_revisie
 

Request body:

{
    "request": {
        "InputData": {
            "PartListRevision": [
                {
                    "RowKey": "X",
                  "t_eind": "true",
                  "t_half": "true",
                  "t_mat": "true"
                }
            ]
        }
    }
}