The e-CoC.schema.json is a reimplementation of e-coc.org schema. This repository contains translations and templates used for HTML / PDF rendering of E-CoC certificates.
Following changes were applied :
- In
TechnicalProperties
.value
property replaceoneOf
byanyOf
(since can contain anyOf those enumerated types ) and adding the following possible type ( that was used in some example certificates )
{
"type": "array",
"maxItems": 6,
"minItems": 1,
"items": {
"type": "string"
}
}
- In
EcocData
property, the references union (DataLevelA
,DataLevelB
,DataLevelC
) is replaced byDataLevel
reference, for clarity and easier validation (since properties are not required inDataLevel
definition in the original version).
{
"type": "object",
"additionalProperties": false,
"properties": {
"DataLevel": {
"enum": ["A", "B", "C"]
},
"Data": {
"$ref": "#/definitions/HigherDataLevel"
},
"Results": {
"$ref": "#/definitions/Results"
}
},
"allOf": [
{
"if": {
"properties": { "DataLevel": { "const": "A" } }
},
"then": {
"properties": {
"Data": { "default": null },
"Results": { "default": null }
}
}
},
{
"if": {
"properties": { "DataLevel": { "const": "B" } }
},
"then": {
"properties": {
"Data": { "$ref": "#/definitions/HigherDataLevel" },
"Results": { "default": null }
}
}
},
{
"if": {
"properties": { "DataLevel": { "const": "C" } }
},
"then": {
"properties": {
"Data": { "$ref": "#/definitions/HigherDataLevel" },
"Results": { "$ref": "#/definitions/Results" }
}
}
}
],
"required": ["DataLevel"]
}
-
in
Declaration
: ifConformityStatus
= WithConcessions,Concessions
should be required -
in
Party
: ifCompanyIdentifier
only allow "DUNS", "VATID", "CageCode", which are absolute identifier and separate "CustomerNo", "SupplierNo" in a new property -
in
ObjectOfDeclaration
: renameObject
toObjectOfDeclarationItem
? -
in
Results
requires at least oneOfMaterialCertification
orChemicalAnalysis
Add some descriptions!