...
Informações | ||
---|---|---|
| ||
Nesta nova proposta, a indicação do tipo de operação - upsert ou delete - está vinculada ao método HTTP utilizado na requisição. Mais informações serão prestadas na seção Interface deste documento. |
Uma mensagem da transação CostCenter, versão 2.000, seria expressa da seguinte forma, usando o formato JSON proposto:
Bloco de código | ||
---|---|---|
| ||
{ "header" : { "UUID" : "d6bbfa63-ca27-e2ac-0b14-101970f59a5b", "type" : "BusinessMessage", "subType" : "event", "transaction" : "CostCenter", "version" : "2.000", "sourceApplication": "P1299", "productName" : "PROTHEUS", "productVersion" : "12.1.17", "companyId" : "99", "branchId" : "01", "generatedOn" : "2017-11-14T11:47:00-03:00", "deliveryType" : "async", }, "content" : { "CompanyId" : "99", "BranchId" : "01", "CompanyInternalId" : "99", "Code" : "ABC001", "InternalId" : "99|ABC001", "RegisterSituation" : "Active", "Name" : "Centro de Custo ABC001", "ShortCode" : "ABC001", "SPED" : ""true, "Class" : ""2 } } |
A mensagem de resposta correspondente seria semelhante ao exemplo abaixo:
Bloco de código | ||
---|---|---|
| ||
{ "header" : { "UUID" : "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6", "type" : "Response", "subType" : "event", "transaction" : "CostCenter", "version" : "2.000", "sourceApplication" : "LGX12", "productName" : "LOGIX", "productVersion" : "12.1.15", "generatedOn" : "2017-11-14T11:47:15-03:00", "deliveryType": "async" }, "content" : { "receivedMessage" : { "UUID" : "<originalMsgUUID>d6bbfa63-ca27-e2ac-0b14-101970f59a5b", "SentBysentBy" : "<sourceApplication>P1299", "event" : "upsert|delete" }, "processingInformation" : { "processedOn" : "2017-11-14T11:47:15-03:00", "status" : "OK|ERROR|WARNING", "details" : [ { "code" : "FE001", "message" : "Mensagem padrão no formato incorreto.", "detailedMessage" : "" }, { "helpUrlcode" : "AE004", "message" : "http://<serverName>" // Opcional Empresa não configurada para integração.", "detailedMessage" : "" } ] }, "returnContent" : { "listOfInternalID" : [ { "codename" : "CostCenter", "messageorigin" : "99|ABC001", "detailedMessagedestination" : "10|1000" }, { "helpUrl "name" : "Company", "http://<serverName>" // Opcional "origin" : "99", "destination" : "10" } ] } } } |
A nova proposta fornece também um modelo para lote de mensagens, que corresponde a um array JSON, onde cada elemento corresponde a uma mensagem no formato JSON.
Bloco de código | ||
---|---|---|
| ||
{ "items" : [ { "returnContentheader" : { "UUID" : "", "type" : "", "atributo1subType" : "", "atributo2transaction" : "customerVendor", "version" : "listOfInternalID" : [2.001", "sourceApplication": "", // Opcional em caso de resposta"productName" de: requests"", "productVersion" : {"", "generatedOn" : "", "name "deliveryType" : "InternalIdName"async", }, "content" : { "origin "atributo1" : "", "atributo2" : "", ... "destinationatributoN" : "" } },{ "header" : { { "UUID" : "", ... "transaction" : "item", "name "version" : "InternalIdName3.001", ... "origin "deliveryType" : "async" }, "content" : { "atributo1" : "", "destinationatributo2" : "", } ... ] "atributoN" : "" } } ] } |
O lote de mensagens tem algumas características importantes:
As mensagens padronizadas em formato JSON serão recebidas por um endpoint padrão, conforme descrito abaixo:
...