S15 Unique Article Identifier Data
- Status
 - 
Version 1.0 published 04.04.2024
 - Approval
 - 
- 
DeepSea:
 
 - 
 - Comment
 - 
Die erste Version wird für die Anbindung von FINE Richtung Händler im Kontext NEON entwickelt.
 
1. Stakeholder
| Role | Application | Responsible | 
|---|---|---|
Communication  | 
Integration Layer  | 
|
Leading App  | 
Bube  | 
|
InterfaceOwner  | 
Bube  | 
|
Producer  | 
FINE  | 
|
Consumer  | 
ReTuna  | 
2. Business Context
Bereitstellung von Daten (z.B. Lieferantenstammdaten, IMEI, etc.) über eine REST-API mittels Angabe einer BUAID. Die Sammlung der Daten auf Seiten FINE erfolgt über die S01 WarehouseStock gesendeten Lagerbestandsdaten.
3. Information flow
| Partner | Direction | FINE-Service | Topic/API | Description | Status | 
|---|---|---|---|---|---|
WMS:kMotion ILOWA  | 
send  | 
BuBe:StockService  | 
to define  | 
UniqueArticleIdentifierDataWms.v2.0  | 
planned  | 
ERP:DeepSea (reTuna)  | 
receive  | 
BuBe:UniqueArticleIdentifierRestService  | 
REST endpoint: /buaid/{buaid}  | 
UniqueArticleIdentifierDataErp.v1.0  | 
ready  | 
ERP:DeepSea (reTuna)  | 
receive  | 
BuBe:UniqueArticleIdentifierRestService  | 
REST endpoint: /v2/buaid/{buaid}  | 
UniqueArticleIdentifierDataErp.v2.0  | 
planned  | 
| Enivronment | REST-Endpoint | 
|---|---|
non-live  | 
|
live  | 
Autorisierung erfolgt über den entsprechenden Service-Account.
4. Interface
4.1. Direction WMS to FINE
4.1.1. Header
This interface uses the Service Header
Special expression for this interface:
| Fieldname | Expression | Version | 
|---|---|---|
eventType  | 
STOCK  | 
|
context  | 
UNIQUE_ARTICLE_IDENTIFIER_DATA  | 
4.1.2. Data model
| Property | Type | Description | 
|---|---|---|
(Root)  | 
object  | 
Unique Article Identifier  | 
eventId*  | 
string (uuid)  | 
UUID for this event  Minimum Length:  36  | 
eventTime*  | 
string (date-time)  | 
the date and time, when this event occured as an ISO-8601 timestamp.  | 
traceId*  | 
string (uuid)  | 
The unique traceId  Minimum Length:  36  | 
eventType*  | 
string (enum)  | 
event type  Any of:  [
  "STOCK"
]  | 
context*  | 
string (enum)  | 
context  Any of:  [
  "UNIQUE_ARTICLE_IDENTIFIER_DATA"
]  | 
version*  | 
string  | 
Json schema version  Minimum Length:  3  | 
data*  | 
object  | 
|
status*  | 
string (enum)  | 
Status  Any of:  [
  "UPDATE"
]  | 
buaid*  | 
string  | 
buaid  Maximum Length:  50  | 
supplier*  | 
object  | 
|
logisticsSupplierId*  | 
string  | 
technical logistics supplier id  Maximum Length:  36  | 
id  | 
string  | 
supplier number  Maximum Length:  50  | 
bestBeforeDate  | 
string (date)  | 
best Before Date  | 
batch  | 
string  | 
batch  Maximum Length:  100  | 
imei  | 
string  | 
imei  Maximum Length:  50  | 
imei2  | 
string  | 
imei2  Maximum Length:  50  | 
serialNumber  | 
string  | 
serial number  Maximum Length:  100  | 
4.1.3. Enumeration
4.1.4. Example
4.1.5. Version history
| Version | Number | File | Published on | Changes | 
|---|---|---|---|---|
previous version  | 
||||
current version WMS  | 
||||
coming version  | 
2.0 APLHA  | 
4.1.6. Changelog
4.1.7. Schema
{
  "$schema": "http://json-schema.org/draft-07/schema",
  "type": "object",
  "title": "Unique Article Identifier",
  "description": "Get unique article identifier data for a Buaid",
  "definitions": {
    "status": {
      "title": "Type of status",
      "description": "Type of status",
      "type": "string",
      "maxLength": 50,
        "enum": ["UPDATE"]
    }
  },
  "required": [
    "eventId",
    "eventTime",
    "traceId",
    "eventType",
    "context",
    "version",
    "data"
  ],
  "properties": {
    "eventId": {
      "description": "UUID for this event",
      "type": "string",
      "format": "uuid",
      "minLength": 36,
      "maxLength": 36,
      "title": "UUID for this event",
      "examples": [
        "00ce536f-923a-42f4-8128-be118faf1d87"
      ],
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "eventTime": {
      "description": "the date and time, when this event occured as an ISO-8601 timestamp.",
      "type": "string",
      "format": "date-time",
      "title": "the date and time, when this event occured as an ISO-8601 timestamp.",
      "examples": [
        "2022-03-31T12:41:06.036+0200"
      ]
    },
    "traceId": {
      "title": "The unique traceId",
      "description": "Global unique Id for tracing the flow of events",
      "type": "string",
      "format": "uuid",
      "minLength": 36,
      "maxLength": 36,
      "examples": ["00ce536f-923a-42f4-8138-33418faf1342"]
    },
    "eventType": {
      "title": "event type",
      "description": "the snapshot type to which the data belongs, currently only snapshots are supported",
      "type": "string",
      "maxLength": 20,
      "enum": ["STOCK"],
      "examples":["STOCK"]
    },
    "context": {
      "title": "context",
      "description": "The context specified here means the business domain.",
      "type": "string",
      "maxLength":50,
      "enum": [
          "UNIQUE_ARTICLE_IDENTIFIER_DATA"
      ]
    },
    "version": {
      "description": "JSON schema version",
      "type": "string",
      "pattern": "^[0-9]+[.][0-9]+$",
      "minLength": 3,
      "maxLength": 4,
      "title": "Json schema version",
      "examples": [
        "1.0",
        "1.11",
        "1.1"
      ]
    },
    "data": {
      "type": "object",
      "properties": {
        "status": {
          "title": "Status",
          "description": "Status",
          "$ref": "#/definitions/status"
        },
        "buaid": {
          "title": "buaid",
          "description": "bi unique article ID, unique identification of an individual unit in the logistical process",
          "type": "string",
          "maxLength": 50,
          "examples":["2344545-334542-465g45ddf"]
        },
        "supplier": {
          "type": "object",
          "properties": {
            "logisticsSupplierId": {
              "title": "technical logistics supplier id",
              "description": "logistics supplier ID - LSAS based ID",
              "type": "string",
              "maxLength": 36,
              "examples":["123"]
            },
            "id": {
              "title": "supplier number",
              "description": "supplier number (LKZ) - deprecated",
              "type": "string",
              "maxLength": 50,
              "examples":["4"]
            }
          },
          "required": [
            "logisticsSupplierId"
          ]
        },
        "bestBeforeDate": {
          "title": "best Before Date",
          "description": "best before date",
          "type": "string",
          "format":"date",
          "examples":["2022-12-31"]
        },
        "batch": {
          "title": "batch",
          "description": "batch number",
          "type": "string",
          "maxLength": 100,
          "examples":["124345d"]
        },
        "imei": {
          "title": "imei",
          "description": "IMEI of a technical device",
          "type": "string",
          "maxLength": 50,
          "examples":["2345-45452-43365-5643"]
        },
        "imei2": {
          "title": "imei2",
          "description": "second IMEI of dual sim technical device",
          "type": "string",
          "maxLength": 50,
          "examples":["2345-45452-43365-5643"]
        },
        "serialNumber": {
          "title": "serial number",
          "description": "serial number of the manufacturer",
          "type": "string",
          "maxLength": 100,
          "examples":["D345-gkjpo-3112"]
        }
      },
      "required": [
        "status",
        "buaid",
        "supplier"
      ]
    }
  }
}
4.2. Direction FINE to ERP
4.2.1. Header
This interface uses the Service Header
Special expressions for this interface:
| Fieldname | Expression | 
|---|---|
eventType  | 
STOCK  | 
context  | 
UNIQUE_ARTICLE_IDENTIFIER_DATA  | 
4.2.2. Data model
| Property | Type | Description | 
|---|---|---|
(Root)  | 
object  | 
Unique Article Identifier  | 
eventId*  | 
string (uuid)  | 
UUID for this event  Minimum Length:  36  | 
eventTime*  | 
string (date-time)  | 
the date and time, when this event occured as an ISO-8601 timestamp.  | 
traceId*  | 
string (uuid)  | 
The unique traceId  Minimum Length:  36  | 
eventType*  | 
string (enum)  | 
event type  Any of:  [
  "STOCK"
]  | 
context*  | 
string (enum)  | 
context  Any of:  [
  "UNIQUE_ARTICLE_IDENTIFIER_DATA"
]  | 
version*  | 
string  | 
Json schema version  Minimum Length:  3  | 
data*  | 
object  | 
|
status*  | 
string (enum)  | 
Status  Any of:  [
  "NOT_FOUND",
  "SUCCESS"
]  | 
buaid*  | 
string  | 
buaid  Maximum Length:  50  | 
supplier  | 
object  | 
|
id  | 
string  | 
supplier number  Maximum Length:  50  | 
name  | 
string  | 
Name of supplier  Maximum Length:  50  | 
erpSupplierId  | 
string  | 
technical erp supplier id  Maximum Length:  36  | 
bestBeforeDate  | 
string (date)  | 
best Before Date  | 
batch  | 
string  | 
batch  Maximum Length:  100  | 
imei  | 
string  | 
imei  Maximum Length:  50  | 
imei2  | 
string  | 
imei2  Maximum Length:  50  | 
serialNumber  | 
string  | 
serial number  Maximum Length:  100  | 
4.2.3. Enumeration
Field: status
| Meta Value | Description | 
|---|---|
NOT_FOUND  | 
no data found for BUAID  | 
SUCCESS  | 
data found for BUAID  | 
4.2.4. Example
{
	"eventId": "86da275a-cdaa-4a5a-87a3-371d8d816ee4",
	"traceId": "86da275a-cdaa-4a5a-87a3-371d8d816ee4",
	"version": "2.0",
	"eventTime": "2024-03-07T11:02:06.928Z",
	"eventType": "STOCK",
	"context": "UNIQUE_ARTICLE_IDENTIFIER_DATA",
	"data": {
		"status": "SUCCESS",
		"buaid": "aaada2c3-b46d-4a95-a1c6-576a07170eea",
		"supplier": {
			"id": "12345",
			"name": "Mustermann AG"
		}
	}
}
4.2.5. Version history
| Version | Number | File | Published on | Changes | 
|---|---|---|---|---|
previous version  | 
||||
current version  | 
1.0  | 
04.03.2024  | 
- first draft  | 
|
coming version  | 
2.0  | 
- change event type - add context - rename fields of supplier - Look at chapter "Changelog"  | 
4.2.6. Changelog
Changes V1.0
- 
first draft
 
Changes V2.0
- 
Standard header:
- 
event type is now "STOCK"
 - 
context "UNIQUE_ARTICLE_IDENTIFIER_DATA"
 
 - 
 - 
Payload (Data)
- 
rename fields of supplier
 
 - 
 
4.2.7. Schema
{
  "$schema": "http://json-schema.org/draft-07/schema",
  "type": "object",
  "title": "Unique Article Identifier",
  "description": "Get unique article identifier data for a Buaid",
  "definitions": {
    "status": {
      "title": "Type of status",
      "description": "Type of status",
      "type": "string",
      "maxLength": 50,
        "enum": ["NOT_FOUND", "SUCCESS"]
    }
  },
  "required": [
    "eventId",
    "eventTime",
    "traceId",
    "eventType",
    "context",
    "version",
    "data"
  ],
  "properties": {
    "eventId": {
      "description": "UUID for this event",
      "type": "string",
      "format": "uuid",
      "minLength": 36,
      "maxLength": 36,
      "title": "UUID for this event",
      "examples": [
        "00ce536f-923a-42f4-8128-be118faf1d87"
      ],
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "eventTime": {
      "description": "the date and time, when this event occured as an ISO-8601 timestamp.",
      "type": "string",
      "format": "date-time",
      "title": "the date and time, when this event occured as an ISO-8601 timestamp.",
      "examples": [
        "2022-03-31T12:41:06.036+0200"
      ]
    },
    "traceId": {
      "title": "The unique traceId",
      "description": "Global unique Id for tracing the flow of events",
      "type": "string",
      "format": "uuid",
      "minLength": 36,
      "maxLength": 36,
      "examples": ["00ce536f-923a-42f4-8138-33418faf1342"]
    },
    "eventType": {
      "title": "event type",
      "description": "the snapshot type to which the data belongs, currently only snapshots are supported",
      "type": "string",
      "maxLength": 20,
      "enum": ["STOCK"],
      "examples":["STOCK"]
    },
    "context": {
      "title": "context",
      "description": "The context specified here means the business domain.",
      "type": "string",
      "maxLength":50,
      "enum": [
          "UNIQUE_ARTICLE_IDENTIFIER_DATA"
      ]
    },
    "version": {
      "description": "JSON schema version",
      "type": "string",
      "pattern": "^[0-9]+[.][0-9]+$",
      "minLength": 3,
      "maxLength": 4,
      "title": "Json schema version",
      "examples": [
        "1.0",
        "1.11",
        "1.1"
      ]
    },
    "data": {
      "type": "object",
      "properties": {
        "status": {
          "title": "Status",
          "description": "Status",
          "$ref": "#/definitions/status"
        },
        "buaid": {
          "title": "buaid",
          "description": "bi unique article ID, unique identification of an individual unit in the logistical process",
          "type": "string",
          "maxLength": 50,
          "examples":["2344545-334542-465g45ddf"]
        },
      "supplier": {
        "type": "object",
        "properties": {
          "id": {
            "title": "supplier number",
            "description": "supplier number (LKZ) - deprecated",
            "type": "string",
            "maxLength": 50,
            "examples":["4"]
          },
          "name": {
            "title": "Name of supplier",
            "description": "Name of supplier",
            "type": "string",
            "maxLength": 50,
            "examples":["Zomtec GmbH"]
          },
          "erpSupplierId": {
            "title": "technical erp supplier id",
            "description": "erp supplier ID - LSAS based ID",
            "type": "string",
            "maxLength": 36,
            "examples":["123"]
          }
        }
      },
      "bestBeforeDate": {
        "title": "best Before Date",
        "description": "best before date",
        "type": "string",
        "format":"date",
        "examples":["2022-12-31"]
      },
      "batch": {
        "title": "batch",
        "description": "batch number",
        "type": "string",
        "maxLength": 100,
        "examples":["124345d"]
      },
      "imei": {
        "title": "imei",
        "description": "IMEI of a technical device",
        "type": "string",
        "maxLength": 50,
        "examples":["2345-45452-43365-5643"]
      },
      "imei2": {
        "title": "imei2",
        "description": "second IMEI of dual sim technical device",
        "type": "string",
        "maxLength": 50,
        "examples":["2345-45452-43365-5643"]
      },
      "serialNumber": {
        "title": "serial number",
        "description": "serial number of the manufacturer",
        "type": "string",
        "maxLength": 100,
        "examples":["D345-gkjpo-3112"]
      }
    },
    "required": [
      "status",
      "buaid"
    ]
    }
  }
}