PureBasic
PureBasic
SII GET boleta.electronica.semilla
See more SII Chile Examples
Obtención de la semillaChilkat PureBasic Downloads
IncludeFile "CkHttp.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkXml.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Implements the following CURL command:
; curl -X GET "https://apicert.sii.cl/recursos/v1/boleta.electronica.semilla" -H "accept: application/xml"
; Use the following online tool to generate HTTP code from a CURL command
; Convert a cURL Command to HTTP Source Code
CkHttp::ckSetRequestHeader(http,"accept","application/xml")
; Use one of the following domains, depending on the environment:
; apicert.sii.cl - Certification Environment
; api.sii.cl - Production Environment
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckQuickGetSb(http,"https://apicert.sii.cl/recursos/v1/boleta.electronica.semilla",sbResponseBody)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
xmlResponse.i = CkXml::ckCreate()
If xmlResponse.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkXml::ckLoadSb(xmlResponse,sbResponseBody,1)
Debug CkXml::ckGetXml(xmlResponse)
; Sample XML response:
; (Sample code for parsing the XML response is shown below)
; <?xml version="1.0" encoding="UTF-8"?>
; <SII:RESPUESTA xmlns:SII="http://www.sii.cl/XMLSchema">
; <SII:RESP_BODY>
; <SEMILLA>030530912644</SEMILLA>
; </SII:RESP_BODY>
; <SII:RESP_HDR>
; <ESTADO>0</ESTADO>
; </SII:RESP_HDR>
; </SII:RESPUESTA>
; Sample code for parsing the XML response...
; Use the following online tool to generate parsing code from sample XML:
; Generate Parsing Code from XML
SII_RESPUESTA_xmlns_SII.s = CkXml::ckGetAttrValue(xmlResponse,"xmlns:SII")
SEMILLA.s = CkXml::ckGetChildContent(xmlResponse,"SII:RESP_BODY|SEMILLA")
ESTADO.i = CkXml::ckGetChildIntValue(xmlResponse,"SII:RESP_HDR|ESTADO")
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkXml::ckDispose(xmlResponse)
ProcedureReturn
EndProcedure