FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 25
→
Procedures sobre NFC-e
Procedures sobre NFC-e
Débuté par Boller, 23 juil. 2023 16:20 - 1 réponse
Connectez-vous…
Boller
#1
Membre enregistré
3 659 messages
Popularité : +175 (223 votes)
Posté le 23 juillet 2023 - 16:20
Bom dia
Voce cadastra na nuvem fiscal, pega o IDCLIENT e o SECRET, coloca nesse codigo
Procedure Token
(
)
URLSite est un restRequest
Resposta est un restResponse
vReponseVariant est un Variant
URLSite.URL
=
"https://auth.nuvemfiscal.com.br/oauth/token"
URLSite
.
.
Method
=
httpPost
URLSite.Content
=
"grant_type=client_credentials&client_id=SEUID&client_secret=SEUSECRET&scope=cnpj%20nfce"
URLSite
.
.
IgnoreError
=
httpIgnoreExpiredCertificate
+
httpIgnoreInvalidCertificate
+
httpIgnoreInvalidCertificateName
Resposta
=
RESTSend
(
URLSite
)
IF ErrorOccurred THEN
Error
(
ErrorInfo
(
errComplet
)
)
ELSE
IF Resposta.StatusCode
=
200
AND Resposta.Content
<
>
"404"
vReponseVariant = JSONToVariant(Resposta.Content)
IF Resposta.Content
<
>
"[]" THEN
EDT_TOKEN = vReponseVariant.access_token
duSegundosRestante is Duration
duSegundosRestante..Second = vReponseVariant.expires_in
EDT_Resultado = DurationToString(duSegundosRestante,"D-HH:MM:SS")
vReponseVariant.Erro = 0
ELSE
vReponseVariant.Erro = 1
END
ELSE
vReponseVariant.Erro = 1
END
END
NFC Envia, vai usar o Token
PROCEDURE NFC_Enviar
(
ArquivoJSON
,
Token
)
URLSite est un restRequest
Resposta est un restResponse
vReponseVariant est un Variant
URLSite.URL
=
"https://api.nuvemfiscal.com.br/nfce"
URLSite
.
.
Method
=
httpPost
URLSite
.
.
Header
[
"Authorization"
]
=
"Bearer "
+
Token
URLSite
.
.
Header
[
"Content-Type"
]
=
"application/json"
URLSite
.
.
Header
[
"Accept"
]
=
"application/json"
URLSite
.
.
Timeout
=
180
s
URLSite
.
.
IgnoreError
=
httpIgnoreExpiredCertificate
+
httpIgnoreInvalidCertificate
+
httpIgnoreInvalidCertificateName
URLSite
.
.
Content
=
ArquivoJSON
Resposta
=
RESTSend
(
URLSite
)
IF ErrorOccurred THEN
Error
(
ErrorInfo
(
errComplet
)
)
ELSE
IF Resposta.StatusCode
=
200
AND Resposta.Content
<
>
"404"
vReponseVariant = JSONToVariant(Resposta.Content)
IF Resposta.Content
<
>
"[]" THEN
vReponseVariant.Erro = 0
vReponseVariant.ErroMSG = ""
ELSE
vReponseVariant.Erro = 1
vReponseVariant.ErroMSG = Resposta.Content
END
ELSE
vReponseVariant.Erro = 1
vReponseVariant.ErroMSG = Resposta.Content
END
END
RESULT = vReponseVariant
NFC Json
esse aqui é API que envia a NFc-e
PROCEDURE NFC_JSON
(
pIdFiscal
)
sRET is string
=
""
gnFalha
=
0
FetchManual
(
fiscal
,
"id_fiscal"
,
pIdFiscal
)
FetchManual
(
sat
,
"id_caixa"
,
gnId_Caixa
)
IF gnFalha
=
1
THEN
RESULT
"Falha"
ELSE
/
/
Grupo A
.
Dados da Nota Fiscal eletrônica
gInfNFE.infNFe.versao
=
"4.00"
gInfNFE.infNFe.Id
=
NoSpace
(
fiscal.nfe_chave
)
/
/
Grupo B
.
Identificação da Nota Fiscal eletrônica
gInfNFE.infNFe.ide.cUF
=
Val
(
NoSpace
(
fiscal.nfe_b02_cuf
)
)
gInfNFE.infNFe.ide.cNF
=
NoSpace
(
NumToString
(
fiscal.nfe_b03_cnf
,
"8d"
)
)
gInfNFE.infNFe.ide.natOp
=
NoSpace
(
Middle
(
fiscal.nfe_b04_natop
,
1
,
60
)
)
gInfNFE.infNFe.ide.mod
=
65
/
/
Val
(
NoSpace
(
Middle
(
fiscal.nfe_b06_mod
,
1
,
2
)
)
)
gInfNFE.infNFe.ide.serie
=
Val
(
NoSpace
(
fiscal.nfe_b07_serie
)
)
gInfNFE.infNFe.ide.nNF
=
Val
(
NoSpace
(
NumToString
(
fiscal.nfe_num
,
"9d"
)
)
)
gInfNFE.infNFe.ide.dhEmi
=
NoSpace
(
DateToString
(
fiscal.nfe_b09_dhemi
,
"AAAA-MM-DDTHH:MM:SS"
)
)
+
gsHoraVerao
gInfNFE.infNFe.ide.dhSaiEnt
=
""
/
/
"2019-08-24T14:15:22Z"
gInfNFE.infNFe.ide.tpNF
=
Val
(
NoSpace
(
NumToString
(
fiscal.nfe_b11_tpnf
,
"1d"
)
)
)
gInfNFE.infNFe.ide.idDest
=
Val
(
NoSpace
(
fiscal.nfe_b11a_iddest
)
)
gInfNFE.infNFe.ide.cMunFG
=
NoSpace
(
fiscal.nfe_b12_cmunfg
)
gInfNFE.infNFe.ide.tpImp
=
Val
(
NoSpace
(
fiscal.nfe_b21_tpimp
)
)
gInfNFE.infNFe.ide.tpEmis
=
Val
(
NoSpace
(
fiscal.nfe_b22_tpemis
)
)
gInfNFE.infNFe.ide.cDV
=
Val
(
NoSpace
(
fiscal.nfe_b23_cdv
)
)
gInfNFE.infNFe.ide.tpAmb
=
Val
(
NoSpace
(
fiscal.nfe_b24_tpamb
)
)
gInfNFE.infNFe.ide.finNFe
=
Val
(
NoSpace
(
fiscal.nfe_b25_finnfe
)
)
gInfNFE.infNFe.ide.indFinal
=
Val
(
NoSpace
(
fiscal.nfe_b25a_indfinal
)
)
gInfNFE.infNFe.ide.indPres
=
Val
(
NoSpace
(
fiscal.nfe_b25b_indpres
)
)
gInfNFE.infNFe.ide.indIntermed
=
0
gInfNFE.infNFe.ide.procEmi
=
Val
(
NoSpace
(
fiscal.nfe_b26_procemi
)
)
gInfNFE.infNFe.ide.verProc
=
NoSpace
(
fiscal.nfe_b27_verproc
)
gInfNFE.infNFe.ide.dhCont
=
""
/
/
"2019-08-24T14:15:22Z"
/
/
gInfNFE.infNFe.ide.xJust
=
""
/
/
Grupo BA
.
Documento Fiscal Referenciado
IF fiscal_cfop.finnfe
=
4
THEN
gInfNFE.infNFe.ide.NFref.refNFe
=
NoSpace
(
fiscal.nfe_ba02_refnfe
)
gInfNFE.infNFe.ide.NFref.refNFeSig
=
""
END
Esse modelo de como to gerando o arquivo JSON
--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Signaler
0
0
Kelley WILLIAM
#2
Membre enregistré
2 messages
Posté le 09 août 2023 - 13:57
Olá! Parece que você compartilhou um trecho de código relacionado a integrações com uma API da nuvem fiscal para emissão de Notas Fiscais eletrônicas. O código descreve a obtenção de um token de autenticação e o envio de informações de NF-e para a API.
Se você está buscando assistência ou esclarecimentos sobre esse código, posso ajudá-lo. Por favor, indique qual é a sua pergunta específica ou o que você gostaria de entender melhor sobre esse código.
Signaler
1
0
→ Revenir à WINDEV 25
WINDEV 25
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte