Page 1 of 1
Solicitud CUFD de impuestos
Posted: Tue May 23, 2023 3:52 pm
by acuellar
Buenas estimados
Necesito convertir éste código para obtener un código CUFD mediante SOAP
Code: Select all | Expand
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:siat="https://siat.impuestos.gob.bo/">
<soapenv:Header/>
<soapenv:Body>
<siat:cufd>
<SolicitudCufd>
<codigoAmbiente>2</codigoAmbiente>
<codigoModalidad>1</codigoModalidad>
<!--Optional:-->
<codigoPuntoVenta>0</codigoPuntoVenta>
<codigoSistema>77714B20DFA4AFB441B25F7</codigoSistema>
<codigoSucursal>0</codigoSucursal>
<cuis>3A5218DE</cuis>
<nit>345806024</nit>
</SolicitudCufd>
</siat:cufd>
</soapenv:Body>
</soapenv:Envelope>
Necesita de una Token header apikey Value TokenApi eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.ey
Gracias por la ayuda
Re: Solicitud CUFD de impuestos
Posted: Tue May 23, 2023 6:13 pm
by acuellar
Estoy intentando con éste código
Code: Select all | Expand
#include "fivewin.ch"
*
Function Main()
Local cJSon,cRespuesta:="",oSoap
cToken:= "TokenApi eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJJUlJJQk9MSVZJQSIsImNvZGlnb1Npc3RlbWEiOiI3NzExNEIyMERGQTRBRkI0NDFCMjVGNyIsIm5pdCI6Ikg0c0lBQUFBQUFBQUFETTBNYlV3TURNd01nRUFJc2g0VUFrQUFBQT0iLCJpZCI6NDI5MDgsImV4cCI6MTY4ODA4MzIwMCwiaWF0IjoxNjg0Nzc4NzcxLCJuaXREZWxlZ2FkbyI6MTQ1ODA2MDI0LCJzdWJzaXN0ZW1hIjoiU0ZFIn0.EgEF0lslzpnGkuFE05LazGbsKSkH98yN9B6fch5AEHL0On-mFtmld-3GaGahjP5n76DIbP3HECuktFY3xQ6pjQ"
oSoap = CreateObject("MSXML2.ServerXMLHTTP.6.0")
cJson:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:siat="https://siat.impuestos.gob.bo/">'+CRLF
cJson+='<soapenv:Header/>'+CRLF
cJson+=' <soapenv:Body>'+CRLF
cJson+=' <siat:cufd>'+CRLF
cJson+=' <SolicitudCufd>'+CRLF
cJson+=' <codigoAmbiente>2</codigoAmbiente>'+CRLF
cJson+=' <codigoModalidad>1</codigoModalidad>'+CRLF
cJson+=' <!--Optional:-->'+CRLF
cJson+=' <codigoPuntoVenta>0</codigoPuntoVenta>'+CRLF
cJson+=' <codigoSistema>77114B20DFA4AFB441B25F7</codigoSistema>'+CRLF
cJson+=' <codigoSucursal>0</codigoSucursal>'+CRLF
cJson+=' <cuis>3A5218DE</cuis>'+CRLF
cJson+=' <nit>145806024</nit>'+CRLF
cJson+=' </SolicitudCufd>'+CRLF
cJson+=' </siat:cufd>'+CRLF
cJson+=' </soapenv:Body>'+CRLF
cJson+='</soapenv:Envelope>'+CRLF
oSoap:Open( "POST","https://siat.impuestos.gob.bo/", .F. )
oSoap:SetRequestHeader( "apikey", cToken )
oSoap:Send( cJson )
cRespuesta:=oSoap:responseText
?cRespuesta
return cRespuesta
Y no logro la respuesta correcta, que debe ser así:
Code: Select all | Expand
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:cufdResponse xmlns:ns2="https://siat.impuestos.gob.bo/">
<RespuestaCufd>
<codigo>BQW9DRzdPQUE=NzUZCNDQxQjI1Rjc=Qj42YmxMWUZYVUFcxMTRCMjBERkE0Q</codigo>
<codigoControl>4A5660D7BD8FD74</codigoControl>
<direccion>AVENIDA REMANSO NRO.100 ZONA EL CARMEN UV:76 MZA:9A</direccion>
<fechaVigencia>2023-05-24T11:37:27.578-04:00</fechaVigencia>
<transaccion>true</transaccion>
</RespuestaCufd>
</ns2:cufdResponse>
</soap:Body>
</soap:Envelope>
El ejemplo está con todos los datos correctos por si alguien quiere hacer pruebas.
Porfa, necesito de su ayuda
Gracias
Re: Solicitud CUFD de impuestos
Posted: Tue May 23, 2023 7:05 pm
by karinha
Estimado Adhemar Intenta asi:
Code: Select all | Expand
// C:\FHH\SAMPLES\ADHEMAR3.PRG
#include "fivewin.ch"
Function Main()
Local cJSon,cRespuesta:="",oSoap, cToken
cToken:= "TokenApi eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJJUlJJQk9MSVZJQSIsImNvZGlnb1Npc3RlbWEiOiI3NzExNEIyMERGQTRBRkI0NDFCMjVGNyIsIm5pdCI6Ikg0c0lBQUFBQUFBQUFETTBNYlV3TURNd01nRUFJc2g0VUFrQUFBQT0iLCJpZCI6NDI5MDgsImV4cCI6MTY4ODA4MzIwMCwiaWF0IjoxNjg0Nzc4NzcxLCJuaXREZWxlZ2FkbyI6MTQ1ODA2MDI0LCJzdWJzaXN0ZW1hIjoiU0ZFIn0.EgEF0lslzpnGkuFE05LazGbsKSkH98yN9B6fch5AEHL0On-mFtmld-3GaGahjP5n76DIbP3HECuktFY3xQ6pjQ"
// oSoap = CreateObject("MSXML2.ServerXMLHTTP.6.0")
#ifdef __XHARBOUR__
Try
Try
oSoap := CreateObject( 'Microsoft.XMLHTTP' )
Catch
oSoap := CreateObject( 'MSXML2.XMLHTTP' )
End
Catch
MsgInfo( 'Erro na Criação do Serviço' )
RETURN NIL
End
#else
Try
Try
oSoap := win_OleCreateObject( 'MSXML2.XMLHTTP' )
Catch
oSoap := win_OleCreateObject( 'Microsoft.XMLHTTP' )
End
Catch
MsgInfo( 'Erro na Criação do Serviço! Com Harbour', 'Atenção!' )
RETURN NIL
End
#endif
cJson:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:siat="https://siat.impuestos.gob.bo/">'+CRLF
cJson+='<soapenv:Header/>'+CRLF
cJson+=' <soapenv:Body>'+CRLF
cJson+=' <siat:cufd>'+CRLF
cJson+=' <SolicitudCufd>'+CRLF
cJson+=' <codigoAmbiente>2</codigoAmbiente>'+CRLF
cJson+=' <codigoModalidad>1</codigoModalidad>'+CRLF
cJson+=' <!--Optional:-->'+CRLF
cJson+=' <codigoPuntoVenta>0</codigoPuntoVenta>'+CRLF
cJson+=' <codigoSistema>77114B20DFA4AFB441B25F7</codigoSistema>'+CRLF
cJson+=' <codigoSucursal>0</codigoSucursal>'+CRLF
cJson+=' <cuis>3A5218DE</cuis>'+CRLF
cJson+=' <nit>145806024</nit>'+CRLF
cJson+=' </SolicitudCufd>'+CRLF
cJson+=' </siat:cufd>'+CRLF
cJson+=' </soapenv:Body>'+CRLF
cJson+='</soapenv:Envelope>'+CRLF
oSoap:Open( "POST","https://siat.impuestos.gob.bo/", .F. )
oSoap:SetRequestHeader( "apikey", cToken )
oSoap:Send( cJson )
// cRespuesta:=oSoap:responseText
IF oSoap:STATUS != 200
MsgStop( AllTrim( Str( oSoap:Status ) ) + " - " + oSoap:StatusText, "Erro" )
RETURN NIL
ENDIF
WHILE oSoap:ReadyState != 4
SYSREFRESH()
oSoap:WaitForResponse( 1000 )
END
// ? cRespuesta
cRespuesta := oSoap:ResponseBody()
IF FILE( "ADHEMAR.txt" )
ERASE ADHEMAR.txt
ENDIF
MemoWrit('ADHEMAR.txt', cRespuesta)
return cRespuesta
Regards, saludos.
Re: Solicitud CUFD de impuestos
Posted: Tue May 23, 2023 7:28 pm
by acuellar
Muchas Gracias Estimado Joao
Ya lo logré, no estaba colocando la url correcta
