Árvore de páginas

Ambos os serviços são do TOTVS Mensagem padronizada, ou seja para exportação de pedidos e clientes.

  1. Exemplos e padronização para reescritas de campos na exportação de pedidos:

PROTHEUS - API Nativa - Adicionar/reescrever campos customizados em Pedido


Abaixo estão as documentações que a nossa integração implementa como padrão:

CustomerVendor - Cliente:

JSON Base

De/Para dos campos SFA → Mensagem Padronizada TOTVS → Protheus:

{
  "Header": {
    "UUID": "GERADO AUTOMATICAMENTE",
    "GeneratedOn": "GERADO AUTOMATICAMENTE",
    "DeliveryType": "sync",
    "ProductName": "TOTVSSFA",
    "SourceApplication": "TOTVSSFA",
    "ProductVersion": "1.0.0",
    "SubType": "Event",
    "Event": "upsert",
    "Transaction": "customerVendor",
    "Type": "BusinessMessage",
    "Version": "2.005",
    "CompanyId": "OLHAR ITEM 2 DA DOC",
    "BranchId": "OLHAR ITEM 2 DA DOC"
  },
  "Content": {
    "ListOfCommunicationInformation": [
      {
        "Type": "1",
        "Email": "A1_EMAIL", --localemail.email onde idnpadrao = 1
        "PhoneNumber": "A1_TEL", --substring a partir do terceiro caractere de localtelefone.telefone do local principal

        "DiallingCode": "A1_DDD", --substring do primeiro até o segundo caractere de localtelefone.telefone do local principal
        "HomePage": "A1_HPAGE" --parceiro.homepage
      }
    ],
    "EntityType": A1_PESSOA,
    "GovernmentalInformation": [
      {
        "Id": "A1_CGC", --pessoafisica.documentoidentificacao ou pessoajuridica.documentoidentificacao
        "Name": "SE PESSOA JURIDICA ENTÃO CNPJ SENÃO CPF",
        "Scope": "Federal"
      },
      {
        "Id": "A1_INSCRM", --localidentificacao.documentoidentificacao quando sigla = inscricaomunicipal
        "Name": "INSCRICAO MUNICIPAL",
        "Scope": "Municipal"
      },
      {
        "Id": "A1_SUFRAMA",--localidentificacao.documentoidentificacao quando sigla = inscricaosuframa
        "Name": "SUFRAMA",
        "Scope": "Federal"
      },
      {
        "Id": "A1_INSCR",--localidentificacao.documentoidentificacao quando sigla = inscricaoestadual
        "Name": "INSCRICAO ESTADUAL",
        "Scope": "State"
      },
      {
        "Id": "A1_INSCRUR",--localidentificacao.documentoidentificacao quando sigla = cartaoprodutor
        "Name": "INSCRICAO RURAL",
        "Scope": "State"
      }
    ],
    "InternalId": "SFA+IDPARCEIRO",--SFA||parceiro.idparceiro
    "Code": "SFA+IDPARCEIRO",--SFA||parceiro.idparceiro
    "StrategicCustomerType": "A1_TIPO",--coalesce(classificacaoparceiro.codigoerp,classificacaoparceiro.codigo)
    "Name": "A1_NOME",--parceiro.nomeparceiro
    "ShortName": "A1_NREDUZ",--coalesce(parceiro.nomeparceirofantasia,parceiro.nomeparceiro)
    "RegisterDate": null,
    "RegisterSituation": "Active",
    "Address": { --Local principal do cliente (tipolocal = PRI)
      "Address": "A1_END",--local.logradouro
      "Complement": "A1_COMPLEM",--local.complemento
      "Number": "",
      "District": "A1_BAIRRO",--local.bairro
      "ZIPCode": "A1_CEP",--local.cep
      "City": {
        "CityCode": "A1_COD_MUN", --cidade.codigo
        "CityDescription": "A1_MUN" --cidade.descricao
      },
      "State": {
        "StateCode": "A1_EST" --unidadefederativa.codigo
      },
      "Country": {
        "CountryDescription": "FIXO Brasil"
      },
      "Region": {
        "RegionCode": "A1_REGIAO" --regiao.codigoerp
      }
    },
"BillingInformation": {--Local de cobrança do cliente (tipolocal = COB)
    "Address": {
    "State": {
    "StateCode": "A1_ESTC"--unidadefederativa.codigo
},
    "Address": "A1_ENDCOB",--local.logradouro
    "Complement": "",
    "Number": "",
    "City": {
          "CityCode": "A1_MUNC",--cidade.codigo
          "CityDescription": "A1_MUNC"--cidade.codigo
},
    "District": "A1_BAIRROC",--local.bairro
    "ZIPCode": "A1_CEPC"--local.cep
}
},
    "ShippingAddress": { --Local principal do cliente (tipolocal = ENT)
      "Address": "A1_ENDENT",--local.logradouro
      "Complement": "A1_COMPENT",--local.complemento
      "Number": "",
      "District": "A1_BAIRROE",--local.bairro
      "ZIPCode": "A1_CEPE",--local.cep
      "City": {
        "CityCode": "A1_CODMUNE",--cidade.codigo
        "CityDescription": "A1_CODMUNE"----cidade.codigo
      },
      "State": {
        "StateCode": "A1_ESTE" --unidadefederativa.codigo
      },
      "Country": {
        "CountryDescription": "FIXO Brasil"
      }
    },
    "Segment": [
      {
        "Name": "Segment1",
        "CodeERP": "A1_SATIV1" --segmento.codigoerp
      }
    ],
    "StoreId": "A1_LOJA", --quarta parte de local.codigoerp, se for um cliente novo feito no SFA envia 01 fixo
    "Type": FIXO 1,
    "FreightType": {
      "Code": "A1_TPFRET", --fixo F
      "Description": "SE A1_TPFRET IGUAL A C ENTÃO CIF SENÃO FOB"
    },
    "CarrierCode": "",
    "PaymentConditionCode": "A1_COND",--segunda parte de condicaopagamento.codigoerp
    "PriceListHeaderItemCode": "A1_TABELA",--tabelapreco.codigo

    "VendorInformation": {
      "VendorType": {
        "Code": "A1_VEND"--segunda parte de usuario.codigoerp
      }
    },
    "CreditInformation": {
      "CreditLimit": A1_LC, --local.limitesugerido
      "MaturityCreditLimit": ""
    }
  }
}

Order - Pedido:

JSON Base

De/Para dos campos SFA → Mensagem Padronizada TOTVS → Protheus:

{
  "Header": {
    "Version": "4.003",
    "CompanyId": "OLHAR ITEM 2 DA DOC",
    "BranchId": "GRUPO_EMPRESA+UNIDADE+C5_FILIAL", --terceira, quarta e quinta parte do campo local.observacaointegracao (EMP)
    "BusinessUnit": "OLHAR ITEM 2 DA DOC",
    "GeneratedOn": "GERADO AUTOMATICAMENTE",
    "Enterprise": "20",
    "ProductVersion": "12",
    "SourceApplication": "TOTVSSFA",
    "ProductName": "TOTVSSFA",
    "Transaction": "ORDER",
    "StandardVersion": "1.000",
    "UUID": "GERADO AUTOMATICAMENTE",
    "SubType": "event",
    "Event": "upsert",
    "Type": "BusinessMessage",
    "DeliveryType": "sync"
  },
  "Content": {
    "BranchId": "GRUPO_EMPRESA+UNIDADE+C5_FILIAL", --terceira, quarta e quinta parte do campo local.observacaointegracao (EMP)
    "InternalId": "TOTVSSFA_+IDPEDIDO",--pedido.idpedido
    "CustomerCode": "C5_CLIENTE+C5_LOJACLI",--segunda e terceira parte do campo parceiro.codigoerp (CLI)
    "DeliveryCustomerCode": "",
    "DeliveryCustomerGovernmentalInformation": "",
    "DeliveryAddress": "",
    "CustomerOrderId": "",
    "CarrierCode": "C5_TRANSP",--segunda parte do campo parceiro.codigoerp (TRA)
    "PaymentTermCode": "C5_CONDPAG",--segunda parte do campo condicaopagamento.codigoerp
    "Discounts": C5_DESC1,--pedido.valordesconto
    "FinancialDiscount": FIXO 0,
    "TotalDiscount": null,
    "SellerCode": "C5_VEND1",--segunda parte do campo usuario.codigoerp
    "RegisterDate": "C5_EMISSAO",--coalesce(pedido,datafinalizado, pedido.datapedido)
    "PriceTableNumber": "C5_TABELA",--segunda parte do campo tabelapreco.codigoerp
    "FreightType": "1 - CIF; 2 - FOB; 3 - SFT",--tipofrete.sgltipofrete (C, F e S)
    "FreightValue": C5_FRETE,--pedidoentrega.valorfrete
    "InsuranceValue": C5_SEGURO,--pedidoentrega.valorseguro
    "RedeliveryCarrierCode": "C5_REDESP",--segunda parte do campo parceiro.codigoerp (TRA)
    "InvoiceMessages": "C5_MENNOTA",--pedido.observacaonotafiscal
    "GrossWeight": C5_PBRUTO,--pedidoproduto.pesobruto * pedidoproduto.quantidade
    "NetWeight": C5_PESOL,--pedidoproduto.pesomedio* pedidoproduto.quantidade
    "TotalValue": VALORTOTAL DO PEDIDO (Sem De/Para Conhecido),--pedido.valortotal
    "Event": "upsert",
    "OperatorCode": "AUTOMATICO",
    "OrderPurpose": "FIXO 2",
    "SalesOrderItens": [
      {
        "BranchId": "GRUPO_EMPRESA+UNIDADE+C5_FILIAL", --terceira, quarta e quinta parte do campo local.observacaointegracao (EMP)
        "OrderId": "IDPEDIDO",--pedidoproduto.idpedido
        "OrderItem": "C6_ITEM",--pedidoproduto.ordem
        "ItemCode": "C6_PRODUTO",--segunda parte do campo produto.codigoerp
        "Quantity": C6_QTDVEN,--pedidoproduto.quantidade 
        "WarehouseInternalId": "C6_LOCAL",–pedidoproduto.idtipoestoque ou se nulo, pedido.idtipoestoque

        "UnityPrice": C6_PRUNIT,--pedidoproduto.precooriginal ou --pedidoproduto.precotabela conforme parâmetro CAMPO_PRCLISTA
        "TypeOperation": "C6_TES | C6_OPER",--tipopedido.codigoerp do item, ou, se nulo, tipopedido.codigoerp do cabeçalho. Caso receba o campo menor igual a duas posições, caso contrário considera como TES do Protheus
        "DeliveryDate": "C6_ENTREG",--pedidoentrega.dataentrega, ou, se nulo, pedidoproduto.dataentrega, ou, se nulo, data corrente
        "ItemUnitOfMeasure": "C6_UNSVEN",--vazio
        "InternalId": "TOTVSSFA_+IDPEDIDOPRODUTO+", --pedidoproduto.idpedidoproduto
        "QuantityReached": C6_QTDVEN,--pedidoproduto.quantidade
        "FreightValue": null,
        "CustomerOrderNumber": "C6_PEDCLI",--pedido.numeropedidocliente
        "ItemDiscounts": {
          "ItemDiscount": C6_VALDESC,--pedidoproduto.valordesconto
        },
        "OperationCode": "FIXO F"
      }
    ]
  }
}


  • Sem rótulos