Produtos
Descrição
O endpoint PostAddProduct é responsável pelo cadastro de um novo produto no sistema MIMS. O cadastro pode ser visualizado na tela CAD223
Como cadastrar um novo produto
Request HTTP POST
| Tipo da Requisição | URL Exemplo |
|---|---|
| POST | {{url_base}}/PostAddProduct |
| Exemplo | http://seuIPePorta/datasnap/rest/RESTWebServiceMethods/"PostAddProduct" |
Parâmetros de Entrada
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| ProductNo | String(25) | Sim | Código externo do produto |
| Name | String(60) | Sim | Descrição do produto |
| ReducedName | String(28) | Sim | Descrição reduzida do produto |
| ProductionCode | String(10) | Sim | Código do produto na produção |
| PackageNo | String(25) | Sim | Código externo da embalagem |
| FamilyNo | String(25) | Sim | Código externo da família do produto |
| BrandNo | String(25) | Sim | Código externo da marca do produto |
| MaterialNo | String(25) | Sim | Código externo do material |
| AnimalTypeNo | String(25) | Sim | Código externo do tipo de animal |
| IntegrationNo | String(25) | Não | Código integrado do produto |
| UnitMeasurementNo | String(25) | Não | Código externo da unidade de Medida da Peça |
| BillingUnitMeasurementNo | String(25) | Não | Código externo da Unidade de Medida de Faturamento |
| ValidationRuleNo | String(25) | Não | Código externo da regra de validade |
| LabelTemplateCode | Integer | Não | Modelo Etiqueta |
| PreIdentificationLabelTemplateCode | Integer | Não | Modelo Etiqueta Pré-Identificação |
| PrimaryLabelTemplateCode | Integer | Não | Modelo Etiqueta Primária |
| Condition | ConditionProduct | Sim | Enumerador com os possíveis valores para a Condição do produto: cdFresh (Fresco), cdDeepChill (Resfriado) ou cdFrozen (Congelado) |
| Species | SpeciesProduct | Sim | Enumerador com os possíveis valores para a Espécie do produto: spcWhole (Inteiro), spcCut (Corte), spcGiblets (Miúdo), spcOther (Outro) ou spcByProduct (Subproduto) |
| RawMaterialState | RawMaterialStateProduct | Sim | Enumerador com os possíveis valores para a Estado do produto: stInNatura (In Natura) ou stSazonado (Temperado) |
| EAN13 | String(13) | Não | EAN 13 |
| EAN14 | String(14) | Não | EAN 14 |
| MinTolerancePercentage | Float | Não | Percentagem de Tolerância Mínima |
| MaxTolerancePercentage | Float | Não | Percentagem de Tolerância Máxima |
| AnimalsInPackageQty | Integer | Não | Quantidade de Animais na Embalagem |
| ProductInPackageQty | Integer | Não | Quantidade de Produtos na Embalagem |
| MinimumCapacity | Float | Não | Capacidade Mínima |
| AverageCapacity | Float | Não | Capacidade Média |
| MaximumCapacity | Float | Não | Capacidade Máxima |
| StandardCapacity | Float | Não | Capacidade Padrão |
| ProductBranchList | ProductBranchList | Sim | Lista de informações do produto por filial |
| OverwriteIfExists | Boolean | Não | Flag que indica que os dados devem ser sobrescritos caso o registro já exista |
Observação
- Nos parâmetros
LabelTemplateCode,PreIdentificationLabelTemplateCodeePrimaryLabelTemplateCode, validamos se o valor passado é maior que 0 e verificamos a existência apenas das etiquetas que possuem o código maior ou igual a 1000, pois são as etiquetas que possuem registro na view "VW_ETIQUETA". Se a etiqueta não estiver registada, geramos a exceção “A etiqueta "%s" informada não foi encontrada!” - Certifique-se de que os parâmetros
ProductNo,FamilyNo,BrandNo,MaterialNo,AnimalTypeNo,BranchNoe outros códigos externos sejam válidos e não duplicados no sistema MIMS.
📝 Objeto ProductBranchList
Descrição
O objeto ProductBranchList representa uma lista de informações do produto por filial.
Parâmetros de Entrada
Parâmetro Tipo Obrigatório Descrição BranchNo String(25) Sim Código externo da filial Name String(120) Não Descrição do produto na filial ProductionGroupNo String(20) Não Descrição do grupo de produção ClassifierGridNo String(25) Não Código externo da grade classificadora WarehouseNo String(25) Não Código externo do almoxarifado StructureNo String(25) Não Código externo da estrutura analítica UnitMeasurementNo String(25) Não Código externo da unidade de Medida da Peça UnitMeasurementIndividualNo String(25) Não Código externo da unidade de Medida da Peça individual StockSequestrationDays Integer Não Dias Sequestro em estoque ToleranceStandardDateDays Integer Não Dias de tolerância da data padrão DefaultQuantityinPallet Integer Não Quantidade padrão de embalagens para montagem do palete UnidPartQty Integer Não Quantidade de peças por unidade AnimalsInPackageQty Integer Não Quantidade de animais na embalagem ProductInPackageQty Integer Não Quantidade de produtos na embalagem MinRawMaterialPercentage Float Não Porcentagem Mínima de Produto Matéria-Prima WeightToleranceUponGroupedWeighing
PercentageFloat Não Porcentagem de Tolerância de Peso na Pesagem Agrupada MaxTolerancePercentage Float Não Porcentagem de Tolerância Máxima do Peso MinTolerancePercentage Float Não Porcentagem de Tolerância Mínima do Peso PreIdentificationLabelTemplateCode Integer Não Modelo Etiqueta Pré-Identificação PrimaryLabelTemplateCode Integer Não Modelo Etiqueta Primária RegisterAgricultureMinistryCode String(14) Sim Número Registro Ministério da Agricultura AgricultureMinistryName String(180) Sim Descrição no Ministério da Agricultura IdentifiesType IdentifiesType Não Enumerador com os possíveis valores para o Tipo de Identificação do produto: itOpticalReading(Leitura Óptica) ouitManualTyping(Digitação Manual)DispatchType DispatchType Sim Enumerador com os possíveis valores para o Tipo de Expedição do produto: dtOpticalReading(Leitura Óptica),dtManualDispatching(Expedição Manual),dtAutomaticDispatching(Expedição Automática) oudtInBulk(A Granel)OwnProduction OwnProduction Não Enumerador com os possíveis valores para a Produção Própria: opYes(Sim),opNo(Não) ouopBoth(Ambos)IsInactive Boolean Não Flag que indica que o produto está inativo HasInactiveTunnelControl Boolean Não Flag que indica que o Controle de Túneis está Inativo OverwriteIfExists Boolean Não Flag que indica que os dados devem ser sobrescritos caso o registro já exista Observação
- Nos parâmetros
PreIdentificationLabelTemplateCodeePrimaryLabelTemplateCode, validamos se o valor passado é maior que 0 e verificamos a existência apenas das etiquetas que possuem o código maior ou igual a 1000, pois são as etiquetas que possuem registro na view "VW_ETIQUETA". Se a etiqueta não estiver registada, geramos a exceção “A etiqueta "%s" informada não foi encontrada!”- Nos parâmetros
WarehouseNo,ClassifierGridNoeStructureNo, quando a requisição for uma alteração de produto e o valor informado for igual ao texto de integração padrão (definido na variável StandardIntegration do arquivo INI), o sistema não atualiza o valor desses campos. Nesses casos, o valor já existente no cadastro do produto será mantido.
Retorno
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| WebServiceReturn | WebServiceReturn | Sim | Informações padrão de resposta do WebService na execução do método |
| ProductCode | Integer | Sim | Código interno do produto gerado no sistema MIMS |
Exemplo de Request
curl --location --request POST '{{url_base}}/PostAddProduct' \
--header 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{
"ProductNo": "PROD001",
"Name": "Nome do produto Teste",
"ReducedName": "Produto Teste",
"ProductionCode": "FRG001",
"PackageNo": "EMBA123",
"FamilyNo": "FAMI123",
"BrandNo": "MARCA123",
"MaterialNo": "1117",A
"IntegrationNo": "INT123456",
"AnimalTypeNo": "TPAVE123",
"ValidationRuleNo": "VAL001",
"LabelTemplateCode": 5011,
"PreIdentificationLabelTemplateCode": 5014,
"PrimaryLabelTemplateCode": 5015,
"UnitMeasurementNo": "UN",
"BillingUnitMeasurementNo": "UN",
"ValidityRuleNo": "VALI123",
"Condition": "cdFresh",
"Species": "spcCut",
"RawMaterialState": "stInNatura",
"EAN13": "1234567899874",
"EAN14": "12345678998745",
"MaxTolerancePercentage": 85,
"MinTolerancePercentage": 60,
"AnimalsInPackageQty": 10,
"ProductInPackageQty": 30,
"MaximumCapacity": 100,
"AverageCapacity": 50,
"MinimumCapacity": 20,
"StandardCapacity": 60,
"OverwriteIfExists": true,
"ProductBranchList":[
{
"BranchNo": "BR001",
"Name": "Produto Exemplo - Filial",
"ProductionGroupNo": "GRP001",
"ClassifierGridNo": "CLF001",
"WarehouseNo": "WH001",
"StructureNo": "STR001",
"UnitMeasurementNo": "UND001",
"UnitMeasurementIndividualNo": "UNDIND001",
"StockSequestrationDays": 7,
"ToleranceStandardDateDays": 3,
"DefaultQuantityinPallet": 20,
"UnidPartQty": 10,
"AnimalsInPackageQty": 5,
"ProductInPackageQty": 50,
"MinRawMaterialPercentage": 1.5,
"WeightToleranceUponGroupedWeighingPercentage": 2.0,
"MaxTolerancePercentage": 4.0,
"MinTolerancePercentage": 1.0,
"PreIdentificationLabelTemplateCode": 1001,
"PrimaryLabelTemplateCode": 1002,
"RegisterAgricultureMinistryCode": "REG1234567890",
"AgricultureMinistryName": "Ministério da Agricultura - Unidade Exemplo",
"IdentifiesType": "itOpticalReading",
"DispatchType": "dtAutomaticDispatching",
"OwnProduction": "opYes",
"IsInactive": false,
"HasInactiveTunnelControl": false,
"OverwriteIfExists": true
}
]
}'
Exemplo de Response
{
"WebServiceReturn": {
"Status": "wrsSuccess",
"ErrorCode": "",
"Message": "",
"Actor": "",
"ReturnQuestion": null
},
"ProductCode": 789
}