Solicitud CUFD de impuestos

Solicitud CUFD de impuestos

Postby acuellar » Tue May 23, 2023 3:52 pm

Buenas estimados

Necesito convertir éste código para obtener un código CUFD mediante SOAP
Code: Select all  Expand view

<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
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1593
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Solicitud CUFD de impuestos

Postby acuellar » Tue May 23, 2023 6:13 pm

Estoy intentando con éste código

Code: Select all  Expand view

#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 view

<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
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1593
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Solicitud CUFD de impuestos

Postby karinha » Tue May 23, 2023 7:05 pm

Estimado Adhemar Intenta asi:

Code: Select all  Expand view

// 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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7239
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Solicitud CUFD de impuestos

Postby acuellar » Tue May 23, 2023 7:28 pm

Muchas Gracias Estimado Joao

Ya lo logré, no estaba colocando la url correcta :D
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1593
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 11 guests