Factura Electrónica
Rendición de comprobantes asociados a un CAEA.
Factura Electrónica
Solicitud
Dim objHttp As Object
Dim strResponse As String
Dim strUrl As String
Dim strData As String
' Deben cambiar los datos de "params" por los que correspondan.
' Esta request de ejemplo incluye todos posibles valores para
' llamar al metodo FECAEARegInformativo, puede que algun valor sea opcional.
Dim dictData As Dictionary
Set dictData = New Dictionary
dictData.Add "environment", "dev"
dictData.Add "method", "FECAEARegInformativo"
dictData.Add "wsid", "wsfe"
Dim params As Dictionary
Set params = New Dictionary
dictData.Add "params", params
Dim Auth As Dictionary
Set Auth = New Dictionary
params.Add "Auth", Auth
Auth.Add "Token", "string"
Auth.Add "Sign", "string"
Auth.Add "Cuit", 1
Dim FeCAEARegInfReq As Dictionary
Set FeCAEARegInfReq = New Dictionary
params.Add "FeCAEARegInfReq", FeCAEARegInfReq
Dim FeCabReq As Dictionary
Set FeCabReq = New Dictionary
FeCAEARegInfReq.Add "FeCabReq", FeCabReq
FeCabReq.Add "CantReg", 1
FeCabReq.Add "PtoVta", 1
FeCabReq.Add "CbteTipo", 1
Dim FeDetReq As Dictionary
Set FeDetReq = New Dictionary
FeCAEARegInfReq.Add "FeDetReq", FeDetReq
Dim FECAEADetRequest As Collection
Set FECAEADetRequest = New Collection
FeDetReq.Add "FECAEADetRequest", FECAEADetRequest
Dim FECAEADetRequest0 As Dictionary
Set FECAEADetRequest0 = New Dictionary
FECAEADetRequest.Add FECAEADetRequest0
FECAEADetRequest0.Add "Concepto", 1
FECAEADetRequest0.Add "DocTipo", 1
FECAEADetRequest0.Add "DocNro", 1
FECAEADetRequest0.Add "CbteDesde", 1
FECAEADetRequest0.Add "CbteHasta", 1
FECAEADetRequest0.Add "CbteFch", "string"
FECAEADetRequest0.Add "ImpTotal", 1.5
FECAEADetRequest0.Add "ImpTotConc", 1.5
FECAEADetRequest0.Add "ImpNeto", 1.5
FECAEADetRequest0.Add "ImpOpEx", 1.5
FECAEADetRequest0.Add "ImpTrib", 1.5
FECAEADetRequest0.Add "ImpIVA", 1.5
FECAEADetRequest0.Add "FchServDesde", "string"
FECAEADetRequest0.Add "FchServHasta", "string"
FECAEADetRequest0.Add "FchVtoPago", "string"
FECAEADetRequest0.Add "MonId", "string"
FECAEADetRequest0.Add "MonCotiz", 1.5
FECAEADetRequest0.Add "CanMisMonExt", "string"
FECAEADetRequest0.Add "CondicionIVAReceptorId", 1
Dim CbtesAsoc As Dictionary
Set CbtesAsoc = New Dictionary
FECAEADetRequest0.Add "CbtesAsoc", CbtesAsoc
Dim CbteAsoc As Collection
Set CbteAsoc = New Collection
CbtesAsoc.Add "CbteAsoc", CbteAsoc
Dim CbteAsoc0 As Dictionary
Set CbteAsoc0 = New Dictionary
CbteAsoc.Add CbteAsoc0
CbteAsoc0.Add "Tipo", 1
CbteAsoc0.Add "PtoVta", 1
CbteAsoc0.Add "Nro", 1
CbteAsoc0.Add "Cuit", "string"
CbteAsoc0.Add "CbteFch", "string"
Dim Tributos As Dictionary
Set Tributos = New Dictionary
FECAEADetRequest0.Add "Tributos", Tributos
Dim Tributo As Collection
Set Tributo = New Collection
Tributos.Add "Tributo", Tributo
Dim Tributo0 As Dictionary
Set Tributo0 = New Dictionary
Tributo.Add Tributo0
Tributo0.Add "Id", 1
Tributo0.Add "Desc", "string"
Tributo0.Add "BaseImp", 1.5
Tributo0.Add "Alic", 1.5
Tributo0.Add "Importe", 1.5
Dim Iva As Dictionary
Set Iva = New Dictionary
FECAEADetRequest0.Add "Iva", Iva
Dim AlicIva As Collection
Set AlicIva = New Collection
Iva.Add "AlicIva", AlicIva
Dim AlicIva0 As Dictionary
Set AlicIva0 = New Dictionary
AlicIva.Add AlicIva0
AlicIva0.Add "Id", 1
AlicIva0.Add "BaseImp", 1.5
AlicIva0.Add "Importe", 1.5
Dim Opcionales As Dictionary
Set Opcionales = New Dictionary
FECAEADetRequest0.Add "Opcionales", Opcionales
Dim Opcional As Collection
Set Opcional = New Collection
Opcionales.Add "Opcional", Opcional
Dim Opcional0 As Dictionary
Set Opcional0 = New Dictionary
Opcional.Add Opcional0
Opcional0.Add "Id", "string"
Opcional0.Add "Valor", "string"
Dim Compradores As Dictionary
Set Compradores = New Dictionary
FECAEADetRequest0.Add "Compradores", Compradores
Dim Comprador As Collection
Set Comprador = New Collection
Compradores.Add "Comprador", Comprador
Dim Comprador0 As Dictionary
Set Comprador0 = New Dictionary
Comprador.Add Comprador0
Comprador0.Add "DocTipo", 1
Comprador0.Add "DocNro", 1
Comprador0.Add "Porcentaje", 1.5
Dim PeriodoAsoc As Dictionary
Set PeriodoAsoc = New Dictionary
FECAEADetRequest0.Add "PeriodoAsoc", PeriodoAsoc
PeriodoAsoc.Add "FchDesde", "string"
PeriodoAsoc.Add "FchHasta", "string"
Dim Actividades As Dictionary
Set Actividades = New Dictionary
FECAEADetRequest0.Add "Actividades", Actividades
Dim Actividad As Collection
Set Actividad = New Collection
Actividades.Add "Actividad", Actividad
Dim Actividad0 As Dictionary
Set Actividad0 = New Dictionary
Actividad.Add Actividad0
Actividad0.Add "Id", 1
FECAEADetRequest0.Add "CAEA", "string"
FECAEADetRequest0.Add "CbteFchHsGen", "string"
' Convertimos el objeto en JSON
strData = JsonConverter.ConvertToJson(dictData, Whitespace:=2)
' Creamos un cliente HTTP para llamar a la API
Set objHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
strUrl = "https://app.afipsdk.com/api/v1/afip/requests"
' Reemplazar con tu access_token obtenido de https://app.afipsdk.com
Dim accessToken As String
accessToken = "TU_TOKEN_AQUI"
objHttp.AddRequestHeader("Authorization", "Bearer " + accessToken)
' Realizamos la llamada a la API
With objHttp
.Open "POST", strUrl, False
.setRequestHeader "Content-Type", "application/json"
.Send strData
' En caso de error lo mostramos por pantalla
If .Status <> 200 Then
MsgBox .responseText
Exit Sub
End If
strResponse = .responseText
End With
' Convertimos la respuesta en un objeto
Set objJson = JsonConverter.ParseJson(strResponse)
' Mostramos la respuesta por pantalla
Debug.Print JsonConverter.ConvertToJson(objJson, Whitespace:=2)Respuesta
{
"FECAEARegInformativoResult": {
"FeCabResp": {
"Cuit": "long",
"PtoVta": "integer",
"CbteTipo": "integer",
"FchProceso": "string",
"CantReg": "integer",
"Resultado": "string",
"Reproceso": "string"
},
"FeDetResp": {
"FECAEADetResponse": [
{
"Concepto": "integer",
"DocTipo": "integer",
"DocNro": "long",
"CbteDesde": "long",
"CbteHasta": "long",
"CbteFch": "string",
"Resultado": "string",
"Observaciones": {
"Obs": [
{
"Code": "integer",
"Msg": "string"
}
]
},
"CAEA": "string"
}
]
},
"Events": {
"Evt": [
{
"Code": "integer",
"Msg": "string"
}
]
},
"Errors": {
"Err": [
{
"Code": "integer",
"Msg": "string"
}
]
}
}
}