API de Modelos de Dados de Produtos
Obter Modelo de Dados de Produto (Completo)
Retorna o modelo de dados do produto com o ID especificado (estrutura ISO 23387). Inclui TODAS as informações: grupos de propriedades, propriedades com atributos completos do dicionário de dados (EN ISO 23386), documentos de referência, e objeto de construção.
GET /api/{pdtID}
Formato: JSON
Inclui: Todas as colunas das tabelas productdatatemplates, groupofproperties, propertiesdatadictionaries, referencedocuments, constructionobjects
Exemplo: GET /api/1
Exportar Modelo de Dados de Produto como JSON (estrutura EN ISO 23387)
Retorna o modelo de dados do produto em formato JSON completamente compatível com EN ISO 23387.
GET /api/{pdtID}/json
Formato: JSON (estrutura EN ISO 23387)
Content-Type: application/json
Estrutura:
Os GUIDs são emitidos no formato UUID com hífens (8-4-4-4-12) para validarem contra o padrão do XSD ed-2. O elemento Library só admite o atributo dt:GUID e os elementos Name (sem dateOfCreation, URI ou Definition ao nível da Library).
{"Library": {
"dt:GUID": "8d2f...-...-...-...-...",
"Name": [
{ "language": "pt", "value": "..." },
{ "language": "en", "value": "..." }
],
"DataTemplates": [{
"Name": [...],
"Definition": [...],
"ReferenceDocumentRef": { "dt:GUID": "..." },
"MajorVersion": 1,
"MinorVersion": 0,
"Status": "Active",
"IsSubtypeOfRef": { "referenceURI": "https://pdts.pt/pdtview/{id}-{slug}" },
"HasPartRef": [ { "referenceURI": "..." } ],
"HasObjectTypeRef": { "dt:GUID": "..." },
"HasPropertyRef": [ { "dt:GUID": "...", "referenceURI": "..." } ],
"HasGroupOfPropertiesRef": [ { "dt:GUID": "...", "referenceURI": "..." } ],
"dt:GUID": "...",
"dateOfCreation": "2026-03-31T12:00:00Z"
}],
"ObjectType": {
"Name": [...],
"Definition": [...],
"dt:GUID": "...",
"dateOfCreation": "..."
},
"GroupOfProperties": [{
"Name": [...],
"Definition": [...],
"IsSubtypeOfRef": { "referenceURI": "..." },
"HasPartRef": [ { "referenceURI": "..." } ],
"HasPropertyRef": [ { "dt:GUID": "...", "referenceURI": "..." } ],
"dt:GUID": "...",
"dateOfCreation": "..."
}],
"Properties": [{
"Name": [...],
"Definition": [...],
"LanguageOfCreator": "pt-PT",
"CountryOfOrigin": "PT",
"MajorVersion": 1,
"MinorVersion": 1,
"Status": "Active",
"DataType": {},
"DimensionRef": { "dt:GUID": "..." },
"UnitRef": [ { "dt:GUID": "...", "referenceURI": "..." } ],
"QuantityKindRef": [ { "dt:GUID": "...", "referenceURI": "..." } ],
"_physicalQuantity": "millimetre | en.EN",
"IsDependentOnRef": [ { "referenceURI": "..." } ],
"_dependencyDetails": [ {
"dependencyKind": "...", "expression": "...",
"targets": [ { "referenceURI": "...", "isPreferred": true, "position": 0 } ]
} ],
"IsSpecializationOfRef": { "referenceURI": "..." },
"dt:GUID": "...",
"dateOfCreation": "..."
}],
"ReferenceDocuments": [{
"Name": [...],
"Definition": [...],
"Status": "...",
"URI": "https://pdts.pt/referencedocumentview/{guid}",
"Language": "en",
"dt:GUID": "...",
"dateOfCreation": "..."
}]
}}
Exemplo: GET /api/1/json
Unidades / grandeza física / dimensão:
a unidade é referenciada por UnitRef (GUID estável, e referenceURI QUDT quando disponível);
a grandeza física por QuantityKindRef e a dimensão por DimensionRef.
O campo _physicalQuantity apresenta o par ISO 23386 "grandeza física | idioma"
(ex. "millimetre | en.EN"), ou "without" para propriedades sem unidade / de texto.
Exportar Modelo de Dados de Produto como XML (estrutura EN ISO 23387)
Retorna o modelo de dados do produto em formato XML completamente compatível com EN ISO 23387 XSD.
GET /api/{pdtID}/xml
Formato: XML
Content-Type: application/xml
Estrutura:
<?xml version="1.0" encoding="UTF-8"?>
<dt:Library xmlns:dt="https://standards.iso.org/iso/23387/ed-2/en/"
dt:GUID="8d2f...-...-...-...-...">
<dt:Name language="pt">...</dt:Name>
<dt:Name language="en">...</dt:Name>
<dt:DataTemplate dt:GUID="..." dateOfCreation="2026-03-31T12:00:00Z">
<dt:Name language="pt">...</dt:Name>
<dt:Name language="en">...</dt:Name>
<dt:Definition language="pt">...</dt:Definition>
<dt:Definition language="en">...</dt:Definition>
<dt:ReferenceDocumentRef dt:GUID="..."/>
<dt:MajorVersion>1</dt:MajorVersion>
<dt:MinorVersion>0</dt:MinorVersion>
<dt:Status>Active</dt:Status>
<dt:IsSubtypeOfRef dt:referenceURI="https://pdts.pt/pdtview/{id}-{slug}"/>
<dt:HasPartRef dt:referenceURI="..."/>
<dt:HasObjectTypeRef dt:GUID="..."/>
<dt:HasPropertyRef dt:GUID="..." dt:referenceURI="..."/>
<dt:HasGroupOfPropertiesRef dt:GUID="..." dt:referenceURI="..."/>
</dt:DataTemplate>
<dt:ObjectType dt:GUID="..." dateOfCreation="...">
<dt:Name language="en">...</dt:Name>
<dt:Definition language="en">...</dt:Definition>
<dt:IsSubtypeOfRef dt:referenceURI="..."/>
</dt:ObjectType>
<dt:GroupOfProperties dt:GUID="..." dateOfCreation="...">
<dt:Name language="pt">...</dt:Name>
<dt:Definition language="pt">...</dt:Definition>
<dt:IsSubtypeOfRef dt:referenceURI="..."/>
<dt:HasPropertyRef dt:GUID="..." dt:referenceURI="..."/>
</dt:GroupOfProperties>
<dt:Property dt:GUID="..." dateOfCreation="...">
<dt:Name language="pt">...</dt:Name>
<dt:Definition language="pt">...</dt:Definition>
<dt:LanguageOfCreator>pt-PT</dt:LanguageOfCreator>
<dt:CountryOfOrigin>PT</dt:CountryOfOrigin>
<dt:MajorVersion>1</dt:MajorVersion>
<dt:MinorVersion>1</dt:MinorVersion>
<dt:Status>Active</dt:Status>
<dt:ReferenceDocumentRef dt:GUID="..."/>
<dt:DataType name="STRING"/>
<dt:DimensionRef dt:GUID="..."/>
<dt:UnitRef dt:GUID="..." dt:referenceURI="..."/>
<dt:QuantityKindRef dt:GUID="..." dt:referenceURI="..."/>
<dt:IsDependentOnRef dt:referenceURI="..."/>
<dt:IsSpecializationOfRef dt:referenceURI="..."/>
</dt:Property>
<dt:ReferenceDocument dt:GUID="..." dateOfCreation="...">
<dt:Name language="en">...</dt:Name>
<dt:Definition language="en">...</dt:Definition>
<dt:Status>...</dt:Status>
<dt:Language>en</dt:Language>
<dt:URI>https://pdts.pt/referencedocumentview/{guid}</dt:URI>
</dt:ReferenceDocument>
</dt:Library>
Exemplo: GET /api/1/xml
Obter Todos os Modelos de Dados de Produtos
Retorna todos os templates de dados de produtos.
GET /api/productDataTemplates
Obter todas as propriedades do Dicionário de Dados
Retorna todas as propriedades do dicionário de dados dos modelos de dados do produto.
GET /api/dataDictionary
Obter uma propriedade do Dicionário de dados
Retorna uma propriedade e seus atributos do dicionário de dados.
GET /api/dataDictionary/{Id}
Obter Documentos de Referência
Retorna os documentos de referência usados nos templates de dados de produtos.
GET /api/referenceDocuments
Obter um Documento de Referência
Retorna um documento de referência usado nos templates de dados de produtos.
GET /api/referenceDocuments/{GUID}
Obter Grupos de Propriedades
Retorna os grupos de propriedades para os templates de dados de produtos.
GET /api/groupsOfProperties
Obter um Grupo de Propriedades
Retorna um grupo de propriedades e seus atributos para um template de dados de produto.
GET /api/groupsOfProperties/{Id}
Obter Todos os objectos de construção
Retorna todos os objectos de construção.
GET /api/constructionObjects
Obter Todas as Unidades
Retorna todas as unidades (ISO 23387 UnitType), cada uma com o seu URI de identidade resolúvel (@id), grandeza física e dimensão associadas, e a ligação à autoridade externa QUDT (sameAs, quando disponível).
GET /api/units
Formato: JSON
[{
"@id": "https://pdts.pt/unit/mm",
"type": "Unit",
"guid": "...",
"code": "mm",
"name": "millimetre",
"physicalQuantity": { "name": "length", "languageIsoCode": "en.EN", "@id": "https://pdts.pt/quantitykind/length" },
"dimension": { "canonical": "L", "@id": "https://pdts.pt/dimension/L" },
"sameAs": "http://qudt.org/vocab/unit/MilliM"
}]
Detalhe: siga o @id de cada unidade para GET /api/unit/{code} (representação completa, incl. escala/base/coeficiente).
Obter Todas as Grandezas Físicas
Retorna todas as grandezas físicas (ISO 23387 QuantityKindType), cada uma com o seu URI de identidade (@id) e a dimensão associada.
GET /api/quantityKinds
Formato: JSON
[{
"@id": "https://pdts.pt/quantitykind/length",
"type": "QuantityKind",
"guid": "...",
"name": "length",
"languageIsoCode": "en.EN",
"dimension": { "canonical": "L", "@id": "https://pdts.pt/dimension/L" },
"sameAs": null
}]
Obter Todas as Dimensões
Retorna todas as dimensões (ISO 23387 DimensionType), cada uma com o seu URI de identidade (@id) e os 7 expoentes SI (ordem ISO 80000).
GET /api/dimensions
Formato: JSON
[{
"@id": "https://pdts.pt/dimension/L",
"type": "Dimension",
"guid": "...",
"canonical": "L",
"exponents": {
"Length": "1.000", "Mass": "0.000", "Time": "0.000", "ElectricCurrent": "0.000",
"ThermodynamicTemperature": "0.000", "AmountOfSubstance": "0.000", "LuminousIntensity": "0.000"
},
"sameAs": null
}]