Estamos em processo de migrar todas as nossas mensagens padronizadas para o formato JSON. Consequentemente, também estamos adaptando os EAIs que as utilizam. Durante esse período de transição, faz-se necessária a existência de uma camada de conversão automática.
O conversor recebe uma mensagem em XML e a retorna na nova estrutura definida em JSON, e vice-versa. Estão disponibilizados dois métodos públicos estáticos na classe Conversor:
- ConvertXMLToJSON
- ConvertJSONToXML
Download da DLL do conversor
Trata-se de uma DLL desenvolvida em .Net CORE, e portanto pode ser importada em qualquer programa que tenha suporte para tal.
StandardMessageConversor.dll
Importando o Conversor em um projeto .Net
- Clique direito em "Dependencies" → "Add Reference"
- Buscar a DLL do conversor (StandardMessageConversor.dll).
- Agora já adicionamos a referência ao Conversor.
- A próxima etapa é adicionar o Newtonsoft.Json. É possível fazer esse processo através do NuGet.
- Clique direito no projeto → "Manage NuGet Packages"
- Buscar Newtonsoft.Json.
- Clicar em "Install" para instalar o pacote no projeto.
- O conversor está importado e pronto para uso.
Importando o Conversor em um projeto ADVPL
Note |
---|
|
Essa seção do artigo estará disponível futuramente |
Para projetos em ADVPL, precisa ser utilizada a versão 9.0.1. do Newtonsoft
Importando o Conversor em um projeto Progress
Note |
---|
|
Essa seção do artigo estará disponível futuramente |
Convertendo de XML para JSON
Code Block |
---|
language | c# |
---|
title | XML to JSON |
---|
|
string generatedMsg = Conversor.ConvertXMLToJSON(message); |
Code Block |
---|
language | c# |
---|
title | XML to JSON |
---|
|
/// <summary>
/// Recebe uma mensagem padronizada em XML e a retorna em JSON
/// </summary>
/// <param name="message">Mensagem no formato XML</param>
/// <returns>Mensagem padronizada no formato JSON</returns>
public static string ConvertXMLToJSON(string message); |
Convertendo de JSON para XML
Code Block |
---|
language | c# |
---|
title | JSON to XML |
---|
|
string generatedMsg = Conversor.ConvertJSONToXML(message, "upsert"); |
Code Block |
---|
language | c# |
---|
title | JSON to XML |
---|
|
/// <summary>
/// Recebe uma mensagem padronizada em JSON e a retorna em XML
/// </summary>
/// <param name="message"> Mensagem no formato JSON</param>
/// <param name="restVerb"> Verbo em que a mensagem foi recebida pela API Rest. Exemplos: "upsert", "delete".
/// O valor colocado nessa variavel será apresentado no elemento Event de BusinessEvent
/// </param>
/// <returns>Mensagem padronizada no formato XML</returns>
public static string ConvertJSONToXML(string message, string restVerb); |
Transações suportadas
Abaixo encontram-se as transações que estão sendo suportadas pelo conversor.
Transação | Versões | Status |
---|
Absence | Apenas 1.000 | Em testes |
AccountantAccount | Até 2.002 | Em testes |
AccountantDefaultHistory | Até 2.000 | Em testes |
AccountingCalendar | Apenas 1.000 | Em testes |
AccountingEntry | Até 2.001 | Em testes |
AccountingItem | Apenas 1.000 | Em testes |
AccountPayableDocument | Até 2.002 | Em testes |
AccountPayableDocumentDischarge | Até 2.003 | Em testes |
AccountReceivableDocument | Até 2.002 | Em testes |
AccountReceivableDocumentDischarge | Até 2.002 | Em testes |
Activity | Apenas 1.000 | Em testes |
AdditionalEntity | Apenas 1.000 | Em testes |
AdditionalEntityType | Apenas 1.000 | Em testes |
AddressStock | Apenas 1.000 | Em testes |
AgencyCreditCard | Apenas 1.000 | Em testes |
AgriculturalOwner | Apenas 1.000 | Em testes |
AgriculturalSector | Apenas 1.000 | Em testes |
AgriculturalVariety | Apenas 1.000 | Em testes |
AgriculturalYear | Apenas 1.000 | Em testes |
ApartmentType | Apenas 1.000 | Em testes |
AppointmentCost | Até 1.001 | Em testes |
AreaAndLineOfBusiness | Apenas 1.000 | Em testes |
AssetDepreciation | Apenas 1.000 | Em testes |
Assets | Até 1.001 | Em testes |
AssetsValuation | Apenas 1.000 | Em testes |
AssignmentGrade | Apenas 1.000 | Em testes |
BalanceBaselineEntry | Apenas 1.000 | Em testes |
Bank | Até 2.002 | Em testes |
BankTransaction | Apenas 2.000 | Em testes |
BankTransactions | Apenas 1.000 | Em testes |
Branch | Até 2.001 | Em testes |
BroadcastType | Apenas 1.000 | Em testes |
BrokerSystem | Apenas 1.000 | Em testes |
BudgetItems | Apenas 1.000 | Em testes |
Cabintype | Apenas 1.000 | Em testes |
CalculatedTrans | Apenas 1.000 | Em testes |
CardClassification | Apenas 1.000 | Em testes |
Carrier | Até 2.000 | Em testes |
City | Até 2.000 | Em testes |
ClassValue | Apenas 1.000 | Em testes |
CommercialFamily | Apenas 1.000 | Em testes |
Company | Até 2.002 | Em testes |
Contact | Apenas 1.000 | Em testes |
ContactRelationship | Apenas 1.000 | Em testes |
Contract | Apenas 1.000 | Em testes |
ControlItem | Apenas 1.000 | Em testes |
ControlItemReport | Apenas 1.000 | Em testes |
CorporateGroup | Apenas 1.000 | Em testes |
CostCenter | Até 2.001 | Em testes |
CoverageDocument | Até 2.004 | Em testes |
CreditRiskAnalysis | Apenas 1.000 | Em testes |
Currency | Até 2.002 | Em testes |
CurrencyQuotation | Até 2.001 | Em testes |
CustomerCreditCard | Apenas 1.000 | Em testes |
CustomerEstablishment | Apenas 1.000 | Em testes |
CustomerShippingAddress | Até 1.001 | Em testes |
CustomerVendor | Até 2.005 | Em testes |
DeliverySchedule | Apenas 1.000 | Em testes |
Departament | Apenas 1.000 | Em testes |
DirectionType | Apenas 1.000 | Em testes |
Discipline | Apenas 1.000 | Em testes |
DisciplineClass | Apenas 1.000 | Em testes |
DisciplineEnrollment | Apenas 1.000 | Em testes |
DocumentType | Apenas 1.000 | Em testes |
EDIDocumentForTransportation | Apenas 1.000 | Em testes |
ElectronicTransportDocument | Apenas 1.000 | Em testes |
Employee | Até 3.002 | Em testes |
EmployeeException | Apenas 1.000 | Em testes |
EmployeeHistorySalaryPosition | Apenas 1.000 | Em testes |
EmployeeHistoryWorkShift | Apenas 1.000 | Em testes |
EmployeePosition | Até 1.001 | Em testes |
EmployeeSituations | Apenas 1.000 | Em testes |
Enrollment | Até 2.000 | Em testes |
Equipment | Até 1.001 | Em testes |
EquipmentsCost | Apenas 1.000 | Em testes |
Establishment | Apenas 1.000 | Em testes |
ExternalAutonomousPayment | Até 1.002 | Em testes |
Family | Até 2.002 | Em testes |
Farm | Apenas 1.000 | Em testes |
FinancialManager | Até 2.001 | Em testes |
FinancialNature | Até 2.000 | Em testes |
Financing | Até 1.002 | Em testes |
FinancingTrading | Apenas 2.000 | Em testes |
FrontSystem | Apenas 1.000 | Em testes |
FuelType | Apenas 1.000 | Em testes |
GeneralStopReport | Apenas 1.000 | Em testes |
GenericCalendar | Apenas 1.000 | Em testes |
GeographicReference | Apenas 1.000 | Em testes |
GetAccountBalances | Apenas 1.000 | Em testes |
Holiday | Apenas 1.000 | Em testes |
HotelInvoice | Apenas 1.000 | Em testes |
ImplementKilometrage | Apenas 1.000 | Em testes |
InputDocument | Até 2.004 | Em testes |
InsurancePlan | Apenas 1.000 | Em testes |
InternalIdLoad | Apenas 1.000 | Em testes |
Inventory | Até 2.001 | Em testes |
InventoryGroup | Apenas 1.000 | Em testes |
Invoice | Até 3.010 | Em testes |
Item | Até 4.001 | Em testes |
ItemCosting | Apenas 1.000 | Em testes |
ItemReference | Apenas 1.000 | Em testes |
ItemScript | Apenas 1.000 | Em testes |
ItemSite | Apenas 1.000 | Em testes |
ItemStockLevel | Apenas 1.000 | Em testes |
ItemStructure | Apenas 1.002 | Em testes |
ItemType | Apenas 1.000 | Em testes |
LaborUnion | Até 1.001 | Em testes |
ListOfAccountantAccount | Apenas 2.002 | Em testes |
ListOfAccountantDefaultHistory | Apenas 2.000 | Em testes |
ListOfAccountPayableDocument | Apenas 1.000 | Em testes |
ListOfAccountReceivableSettlements | Até 1.001 | Em testes |
ListOfComplementaryValue | Apenas 1.000 | Em testes |
ListOfCostCenter | Apenas 2.001 | Em testes |
ListOfManagerialAccountingEntity | Apenas 1.000 | Em testes |
ListOfStationSalePoint | Até 1.001 | Em testes |
Machine | Até 1.001 | Em testes |
Macro | Apenas 1.000 | Em testes |
MaintenanceOrder | Até 1.001 | Em testes |
MaintenanceRequest | Apenas 1.000 | Em testes |
Order | Até 4.002 | Em testes |
OurNumberBanking | Apenas 1.000 | Em testes |
PaymentCondition | Até 2.002 | Em testes |
Project | Até 2.000 | Em testes |
ReversalOfAccountPayableDocumentDischarge | Apenas 1.000 | Em testes |
ReversalOfAccountReceivableDocumentDischarge | Apenas 1.000 | Em testes |
ReversalOfFinancingTrading | Apenas 1.000 | Em testes |
SalesOrder | Até 2.000 | Em testes |
StepProject | Até 2.000 | Em testes |
StockGroup | Apenas 1.000 | Em testes |
Student | Apenas 1.000 | Em testes |
SubProject | Até 2.000 | Em testes |
TaskProject | Até 2.000 | Em testes |
Tax | Apenas 1.000 | Em testes |
TaxGroup | Apenas 1.000 | Em testes |
TemOperator | Apenas 1.000 | Em testes |
TransferWarehouse | Até 1.003 | Em testes |
TransportDocument | Apenas 2.000 | Em testes |
TransportDocumentStatus | Apenas 2.000 | Em testes |
TransportInvoice | Apenas 2.000 | Em testes |
TransportInvoiceStatus | Apenas 2.000 | Em testes |
TransportInvoiceStatus_2_000 | Apenas 2.000 | Em testes |
TravelAgent | Apenas 1.000 | Em testes |
TravelCustomer | Apenas 1.000 | Em testes |
TravelPaymentTerm | Apenas 1.000 | Em testes |
TravelRate | Apenas 1.000 | Em testes |
TravelVendor | Apenas 1.000 | Em testes |
UnitOfMeasure | Até 2.002 | Em testes |
UnitOfMeasureConversion | Apenas 1.000 | Em testes |
Unsubscribe | Apenas 1.000 | Em testes |
UpdateContractParcel | Até 1.002 | Em testes |
User | Até 4.003 | Em testes |
Vacation | Apenas 1.000 | Em testes |
VacationSchedule | Apenas 1.000 | Em testes |
ValidityLot | Apenas 1.000 | Em testes |
VehicleCategory | Apenas 1.000 | Em testes |
Vehicles | Apenas 1.000 | Em testes |
VehicleType | Apenas 1.000 | Em testes |
VendorGroup | Apenas 1.000 | Em testes |
VisaType | Apenas 1.000 | Em testes |
WageTable | Apenas 1.000 | Em testes |
Warehouse | Até 1.001 | Em testes |
WasteReason | Apenas 1.000 | Em testes |
WeighingRawMaterials | Até 1.001 | Em testes |
WorkCenter | Apenas 1.000 | Em testes |
WorkforceAndOverheadAppointment | Apenas 1.000 | Em testes |