Este documento traz informações sobre o processo de Integração do ERP WinThor com o ambiente do Força de Vendas. Esta integração passa pela utilização do TOTVS Conector (Produto TOTVS). Para contemplar estes serviços foram desenvolvidas API´s que expõem dados para serem utilizadas nos ambientes.

1. Caso ainda não possua, instale o WinThor Anywhere, para isso acesse Como instalar o WinThor Anywhere ?

2. Acesse o WinThor Anywhere e no menu principal, preencha no campo de Pesquisar a rotina 801 - Atualização de Serviços Web e tecle Enter (ou clique diretamente sobre a rotina no menu principal);



2.1  Na tela Gerenciador de Rotinas e Serviços, clique o botão Instalações;


2.3 Marque a opção winthor-ferramenta-gateway na versão mais recente que estiver disponibilizada no campo Versão:



3. Instalar o serviço winthor-pedido-venda na última versão disponível. 



Nossas APIs são baseadas no protocolo HTTP E possui URLs previsíveis, é orientada a recursos e utiliza códigos de resposta HTTP para indicar sucesso ou erros e exceções.

As respostas (incluindo os erros) e o corpo das requisições são obrigatoriamente formatados em JSON.

Sobre as requisições à API

Os seguintes verbos HTTP estão disponíveis para uso:

VerboDescrição
GETSolicita dados de um recurso
POST

Cria um novo recurso

PUT

Atualiza um recurso

DELETEExclui um recurso


Cabeçalho das requisições

O cabeçalho de requisição HTTP usado é:

Accept: application/json

Content-Type: application/json

** Deve-se especificá-los no header das requisições à API.


Autenticação/Autorização

Utilizamos o Apache Shiro para identificar se a solicitação de acesso a API está autenticada, portanto apenas passar No Auth no Type Auth.


Erros & Respostas

Utilizamos os códigos de resposta HTTP convencionais para indicar sucesso ou falha em uma solicitação à API.

  • Respostas de informação (100-199),
  • Respostas de sucesso (200-299),
  • Redirecionamentos (300-399)
  • Erros do cliente (400-499)
  • Erros do servidor (500-599).


URI Parameters

Alguns recursos disponibilizados podem oferecer a possibilidade de utilização de “URI Parameters” amigáveis.
Os parâmetros quando disponíveis são:

• filter - Habilita filtragem (consulta) de resultados.

Para obter/renovar o token de autenticação, inclua os dados nos campos a seguir:

POST:   /winthor/autenticacao/v1/login

usernameNome de usuário.
passwordSenha de acesso.

Ao performar a requisição será preenchida a tabela temporária PCLIENTFV, assim que finalizar a importação, poderá ser visualizado o cadastro através da rotina 302 - Cadastrar Cliente.

URI  :   /salesForce/customer


Deverá performar a requisição passando os campos referentes a tabela tanto para incluir um novo registro quanto para alterar um registro existente:


/salesForce/customerPCCLIENTFV
importedIMPORTADO
operationTypeTIPOOPERACAO
personIdentificationNumberCGCENT
customerNameCLIENTE
ieInputIEENT
squareCodCODPRACA
tradeNameFANTASIA
imEntIMENT
identificationRG
organRGORGAORG
customerIdPalmCODCLIPALM
codeAtv1CODATV1
inputAddressENDERENT
inputNumberNUMEROENT
inputComplementCOMPLEMENTOENT
inputDistrictBAIRROENT
phoneNumberTELENT
cityMUNICENT
stateESTENT
zipCodeCEPENT
countryPAISENT
referencePointPONTOREFER
billingAddressENDERCOB
addOnCollectionCOMPLEMENTOCOB
billingNumberNUMEROCOB
billingDistrictBAIRROCOB
billingPhoneTELCOB
billingCityMUNICCOB
billingStateESTCOB
billingZipCodeCEPCOB
businessAddressENDERCOM
businessNumberNUMEROCOM
businessComplementCOMPLEMENTOCOM
businessDistrictBAIRROCOM
businessCityMUNICCOM
businessStateESTCOM
businessZipCodeCEPCOM
businessPhoneTELCOM
businessFaxFAXCOM
userId1CODUSUR1
userId2CODUSUR2
clientFaxFAXCLI
ownBuildingPREDIOPROPRIO
noteOBS
obs2OBS2
note3OBS3
note4OBS4
creditNoteOBSCREDITO
phoneNumber1TELENT1
emailEMAIL
mailboxCAIXAPOSTAL
noteDelivery1OBSENTREGA1
noteDelivery2OBSENTREGA2
noteDelivery3OBSENTREGA3
noteDelivery4OBSENTREGA4
bankNumber1NUMBANCO1
agencyNumber1NUMAGENCIA1
currentAccountNumber1NUMCCORRENTE1
bankNumber2NUMBANCO2
agencyNumber2NUMAGENCIA2
currentAccountNumber2NUMCCORRENTE2
amountCheckOutQTCHECKOUT
siteSITE
managerialObs1OBSGERENCIAL1
managerialObs2OBSGERENCIAL2
managerialObs3OBSGERENCIAL3
latitudeLATITUDE
longitudeLONGITUDE
dateCollectDATACOLETA
notePackageOBSERVACAO_PC
createDateDTINCLUSAO
customerIdCODCLI
lastChangeDTALTERACAO
chargingIdCODCOB
paymentPlanIdCODPLPAG
emailElectronicInvoiceEMAILNFE
branchCodeIBGECODCIDADEIBGE
warehouseBranchIdCODFILIALNF
finalCostumerCONSUMIDORFINAL
taxpayerCONTRIBUINTE
customerProtestCLIENTPROTESTO
sendingInvoiceCommercialEmailENVIONFEMAILCOM
weekdayDIASEMANA
numberWeekNUMSEMANA
sequenceSEQUENCIA
periodicityPERIODICIDADE
simpleNationalSIMPLESNACIONAL
countryCodeCODPAIS
birthDateDTNASC
reasonRejectionMOTIVOREJEICAO
shippingDispatchFRETEDESPACHO
clientPhoneTELCELENT
dateExclusionDTEXCLUSAO
userIdDeletedCODUSUARIOEXC
reasonExclusionMOTIVOEXCLUSAO
calculatesSTCALCULAST
clientFontEstCLIENTEFONTEST
participateFunCepPARTICIPAFUNCEP

Para excluir um registro deverá performar a requisição passando o campo:

/salesForce/customer/PCCLIENTFV
personIdentificationNumberCGCENT

Armazenar os dados de referência de cliente ao performar a requisição.

Deverá performar a requisição passando os campos referentes a tabela tanto para incluir um novo registro quanto para alterar um registro existente:


/salesForce/customerReferencePCCLIREFFV
importedIMPORTADO
personIdentificationNumberCGCCLI
referenceIdCODREF
customerIdCODCLI
referenceNameEMPREFER
referencePhoneTELREFER
referenceContactCONTATOREFER
creditLimitLIMCREDREFER
dateRegisterReferenceDTCADASTROREFER
dateLastPurchaseDTULTCOMPREFER
valueLastPurchaseVLULTCOMPREFER
noteOBS
biggestPurchaseDateDTMAIORCOMPREFER
biggestPurchaseValueVLMAIORCOMPREFER
referenceChargeCodeCODCOBREFER
notePackageOBSERVACAO_PC
dateIncludedDTINCLUSAO

Para excluir um registro deverá performar a requisição passando o campo:


/salesForce/customerReference/PCCLIREFFV
personIdentificationNumberCGCCLI
referenceIdCODREF
/api/wholesale/v1/salesForce/gondola


Deverá performar a requisição passando os campos referentes a tabela tanto para incluir um novo registro quanto para alterar um registro existente:


Para excluir um registro deverá performar a requisição passando o campo:


/api/wholesale/v1/salesForce/gondolaItem


Deverá performar a requisição passando os campos referentes a tabela tanto para incluir um novo registro quanto para alterar um registro existente:


Para excluir um registro deverá performar a requisição passando o campo:


/api/wholesale/v1/salesForce/indemnity


Deverá performar a requisição passando os campos referentes a tabela tanto para incluir um novo registro quanto para alterar um registro existente:


Para excluir um registro deverá performar a requisição passando o campo:


/api/wholesale/v1/salesForce/itemIndemnityOrder


Deverá performar a requisição passando os campos referentes a tabela tanto para incluir um novo registro quanto para alterar um registro existente:


Para excluir um registro deverá performar a requisição passando o campo:


/api/wholesale/v1/salesForce/cutsMadeOrders


Deverá performar a requisição passando os campos referentes a tabela tanto para incluir um novo registro quanto para alterar um registro existente:


Para excluir um registro deverá performar a requisição passando o campo:


/api/wholesale/v1/salesForce/message


Deverá performar a requisição passando os campos referentes a tabela tanto para incluir um novo registro quanto para alterar um registro existente:


Para excluir um registro deverá performar a requisição passando o campo:


/api/wholesale/v1/salesForce/giftOrderItem


Deverá performar a requisição passando os campos referentes a tabela tanto para incluir um novo registro quanto para alterar um registro existente:


Para excluir um registro deverá performar a requisição passando o campo:


/api/wholesale/v1/salesForce/visit


Deverá performar a requisição passando os campos referentes a tabela tanto para incluir um novo registro quanto para alterar um registro existente:


Para excluir um registro deverá performar a requisição passando o campo:


/api/wholesale/v1/salesForce/headerOrder

Deverá performar a requisição passando os campos referentes a tabela tanto para incluir um novo registro quanto para alterar um registro existente:


Para excluir um registro deverá performar a requisição passando o campo:


/api/wholesale/v1/salesForce/orderDetailSaleForce


Deverá performar a requisição passando os campos referentes a tabela tanto para incluir um novo registro quanto para alterar um registro existente:


Para excluir um registro deverá performar a requisição passando o campo:





Informações sobre a Integradora:  Layout Padrão Para Integradoras.

Baixe aqui nossa coleção: https://www.getpostman.com/collections/3b77290ec3b3cd3bcd9f