B4X
B4X
hacienda.go.cr Recepción de comprobantes electrónicos y respuestas del receptor.
See more hacienda.go.cr Examples
Comprobantes Electrónicos API version v1 -- Recepción de comprobantes electrónicos y respuestas del receptor.Chilkat B4X Downloads
Dim success As Boolean = False
' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.
Dim http As ChilkatHttp
http.Initialize("http")
' Implements the following CURL command:
' curl -X POST -H "Content-Type: application / json" \
' -H 'authorization: Bearer {access_token}' \
' -d '{
' "clave": "50601011600310112345600100010100000000011999999999",
' "fecha": "2016-01-01T00:00:00-0600",
' "emisor": {
' "tipoIdentificacion": "02",
' "numeroIdentificacion": "003101123456"
' },
' "receptor": {
' "tipoIdentificacion": "02",
' "numeroIdentificacion": "003101123456"
' },
' "comprobanteXml": "PD94..."
' }' https://api.comprobanteselectronicos.go.cr/recepcion/v1/recepcion
' Use the following online tool to generate HTTP code from a CURL command
' Convert a cURL Command to HTTP Source Code
' Use this online tool to generate code from sample JSON:
' Generate Code to Create JSON
' The following JSON is sent in the request body.
' {
' "clave": "50601011600310112345600100010100000000011999999999",
' "fecha": "2016-01-01T00:00:00-0600",
' "emisor": {
' "tipoIdentificacion": "02",
' "numeroIdentificacion": "003101123456"
' },
' "receptor": {
' "tipoIdentificacion": "02",
' "numeroIdentificacion": "003101123456"
' },
' "comprobanteXml": "PD94b..."
' }
' Load the previously signed XML.
Dim bdSignedXml As ChilkatBinData
bdSignedXml.Initialize
success = bdSignedXml.LoadFile("someDir/signed.xml")
If success = False Then
Log("Failed to load the XAdES signed XML.")
Return
End If
Dim json As ChilkatJsonObject
json.Initialize
json.UpdateString("clave", "50601011600310112345600100010100000000011999999999")
json.UpdateString("fecha", "2016-01-01T00:00:00-0600")
json.UpdateString("emisor.tipoIdentificacion", "02")
json.UpdateString("emisor.numeroIdentificacion", "003101123456")
json.UpdateString("receptor.tipoIdentificacion", "02")
json.UpdateString("receptor.numeroIdentificacion", "003101123456")
' Add the base64 encoded representation of the signed XML.
json.UpdateString("comprobanteXml", bdSignedXml.GetEncoded("base64"))
' Load our previously obtained OAuth2 access token.
Dim jsonToken As ChilkatJsonObject
jsonToken.Initialize
success = jsonToken.LoadFile("qa_data/tokens/hacienda_cr.json")
If success <> True Then
Log("Failed to load constantContact.json")
Return
End If
' Adds the "Authorization: Bearer {access_token}" header.
http.AuthToken = jsonToken.StringOf("access_token")
http.SetRequestHeader("Content-Type", "application / json")
Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpJson("POST", "https://api.comprobanteselectronicos.go.cr/recepcion/v1/recepcion", json, "application/json", resp)
If success = False Then
Log(http.LastErrorText)
Return
End If
' A 201 status code indicates success.
Log("Response status code: " & resp.StatusCode)
Log("Response body:")
Log(resp.BodyStr)