M.O.A. - Declaración


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 SimiDjaiListaDeclaraciones, puede que algun valor sea opcional.
Dim dictData As Dictionary
Set dictData = New Dictionary
    dictData.Add "environment", "dev"
    dictData.Add "method", "SimiDjaiListaDeclaraciones"
    dictData.Add "wsid", "wconsdeclaracion"
    Dim params As Dictionary
    Set params = New Dictionary
    dictData.Add "params", params
        Dim argWSAutenticacionEmpresa As Dictionary
        Set argWSAutenticacionEmpresa = New Dictionary
        params.Add "argWSAutenticacionEmpresa", argWSAutenticacionEmpresa
            argWSAutenticacionEmpresa.Add "Token", "string"
            argWSAutenticacionEmpresa.Add "Sign", "string"
            argWSAutenticacionEmpresa.Add "CuitEmpresaConectada", 1
            argWSAutenticacionEmpresa.Add "TipoAgente", "string"
            argWSAutenticacionEmpresa.Add "Rol", "string"
        Dim argSimiDjaiListaParams As Dictionary
        Set argSimiDjaiListaParams = New Dictionary
        params.Add "argSimiDjaiListaParams", argSimiDjaiListaParams
            argSimiDjaiListaParams.Add "IdentificadorDeclaracion", "string"
            argSimiDjaiListaParams.Add "CuitImportadorExportador", "string"
            argSimiDjaiListaParams.Add "CuitDespachante", "string"
            argSimiDjaiListaParams.Add "FechaOficializacionDesde", "YYYY-MM-DDThh:mm:ss"
            argSimiDjaiListaParams.Add "FechaOficializacionHasta", "YYYY-MM-DDThh:mm:ss"
            argSimiDjaiListaParams.Add "CodigoEstadoDeclaracion", "string"
            argSimiDjaiListaParams.Add "CodigoAduanaRegistro", "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
{
    "SimiDjaiListaDeclaracionesResult": {
        "ListaErrores": {
            "DetalleError": [
                {
                    "Codigo": "integer",
                    "Descripcion": "string",
                    "DescripcionDetallada": "string",
                    "TextoAclaratorio": "string",
                    "DescripcionAdicional": "string",
                    "Parametros": {
                        "string": [
                            "string"
                        ]
                    }
                }
            ]
        },
        "Server": "string",
        "TimeStamp": "datetime",
        "Declaraciones": {
            "DeclaracionDetallada": [
                {
                    "IdentificadorDeclaracion": "string",
                    "CuitImportadorExportador": "string",
                    "CuitDespachante": "string",
                    "CodigoEstadoDeclaracion": "string",
                    "FechaEstadoDeclaracion": "datetime",
                    "MotivoAnulacion": "string",
                    "FechaOficializacion": "datetime",
                    "VencimientoSimi": "datetime",
                    "IndiceLNA": "string",
                    "FechaVencimiendoLNA": "datetime",
                    "IndiceLA": "string",
                    "FechaVencimiendoLA": "datetime",
                    "IndiceDJCP": "string",
                    "FechaVencimientoDJCP": "datetime",
                    "IndicadorCantidadPendienteCancelacion": "string",
                    "IndicadorInformaBcra": "string",
                    "FechaInformaBcra": "datetime",
                    "FechaMLCIni": "datetime",
                    "PlazoMLCIni": "long",
                    "FechaMLCDef": "datetime",
                    "PlazoMLCDef": "long"
                }
            ]
        }
    }
}