Está en la página 1de 2

User Function WSCLI()

Local cQry := ""


Local cRet := ""
Private oPostRet

cQry += " SELECT * "


cQry += " FROM "+RetSQLName("SA1")+ " SA1 "
cQry += " WHERE SA1.D_E_L_E_T_ = '' "
cQry += " AND SUBSTRING(A1_MSEXP,2,1) =''"
//cQry += " AND A1_COD ='000001'"

IF Select("XSA1") > 0
XSA1->(dbCloseArea())
ENDIF
TcQuery cQry ALIAS "XSA1" NEW

cReg := XSA1->A1_COD

IF !EMPTY(cReg)

WHILE XSA1->(!EOF())

cRecno := XSA1->R_E_C_N_O_
cCod := XSA1->A1_CGC
cNome := XSA1->A1_NOME
cNred := XSA1->A1_NREDUZ
cTel := XSA1->A1_TEL
cMun := XSA1->A1_MUN
cUF := XSA1->A1_EST
cEnd := XSA1->A1_END
cBai := XSA1->A1_BAIRRO
cComple:= XSA1->A1_COMPLEM
cEmail := XSA1->A1_EMAIL
cPais := XSA1->A1_PAIS
cInsc := XSA1->A1_INSCR
cCli := XSA1->A1_COD
cLoja := XSA1->A1_LOJA

GeraJSON(cRecno,cCod,cNome,cNred,cTel,cMun,cUF,cEnd,cBai,cComple,cEmail,cPais,cInsc
,cCli,cLoja)

XSA1->(dbSkip())

ENDDO

ENDIF

Return

Static Function
GeraJSON(cRecno,cCod,cNome,cNred,cTel,cMun,cUF,cEnd,cBai,cComple,cEmail,cPais,cInsc
,cCli,cLoja)

cCampo := ""
cRet :=' { '
cRet +=' "identityNumber": "'+cCod+'", '
cRet +=' "companyName": "'+cNome+'", '
cRet +=' "tradeName": "'+cNred+'", '
cRet +=' "responsible": "Responsavel", ' // verificar
cRet +=' "freeStateRegistration": true, '
cRet +=' "stateRegistration": "'+cInsc+'", '
cRet +=' "primaryPhone": "'+cTel+'", '
cRet +=' "secondPhone": "'+cCampo+'", '
cRet +=' "address": { '
cRet +=' "postCode": "88117030", ' // verificar
cRet +=' "city": "'+cMun+'", '
cRet +=' "state": "'+cUF+'", '
cRet +=' "country": "'+cPais+'", '
cRet +=' "street": "'+cEnd+'", '
cRet +=' "district": "'+cBai+'", '
cRet +=' "complement": "'+cComple+'", '
cRet +=' "number": 0 '
cRet +=' }, '
cRet +=' "email": "'+cEmail+'",
cRet +=' "enabled": false, '
cRet +=' "customerType": { '
cRet +=' "referenceCode": "default.customer" ' // verificar
cRet +=' },'
cRet +=' "priceList": "003", '
cRet +=' "attributeValues": [ '
cRet +=' { '
cRet +=' "referenceCode": "'+cCampo+'",'
cRet +=' "value": "'+cCampo+'" '
cRet +=' }, '
cRet +=' { '
cRet +=' "referenceCode": "'+cCampo+'", '
cRet +=' "value": "'+cCampo+'" '
cRet +=' }'
cRet +=' ]'
cRet +='}'

cURL := "https://allalimentos.api.flexy.com.br/platform/api/customers/?
token=gyyobn5qrjl6zi9x8pe23ayvixl372gfvhvyhbqqkfeu680k9"
aHeaderOut := {}
cHeadRet := ""
cPostParms := ""
sPostRet := ""
nTimeOut := 500

aAdd(aHeaderOut,'Content-Type: application/json')

sPostRet := HttpPost(cURL,,cRet,nTimeOut,aHeaderOut,@cHeadRet)
FWJsonDeserialize(sPostRet,@oPostRet)

SA1->(DbSetOrder(1))
IF SA1->(DBSEEK(xFilial("SA1")+cCli+cLoja))
RecLock("SA1",.F.)
SA1->A1_MSEXP := SUBSTR(A1_MSEXP,1,1) + 'S' + SUBSTR(A1_MSEXP,3,10)
SA1->(MsUnlock())
ENDIF

Return

También podría gustarte