M.O.A. - Declaración


Solicitud
LOCAL loHttp, loUrl, loData, loResponse

* 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.
LOCAL loDataObject
loDataObject = CREATEOBJECT("JSONObject")
    loDataObject.set("environment", "prod")
    loDataObject.set("method", "SimiDjaiListaDeclaraciones")
    loDataObject.set("wsid", "wconsdeclaracion")
    LOCAL params
    params = CREATEOBJECT("JSONObject")
    loDataObject.set("params", params)
        LOCAL argWSAutenticacionEmpresa
        argWSAutenticacionEmpresa = CREATEOBJECT("JSONObject")
        params.set("argWSAutenticacionEmpresa", argWSAutenticacionEmpresa)
            argWSAutenticacionEmpresa.set("Token", "string")
            argWSAutenticacionEmpresa.set("Sign", "string")
            argWSAutenticacionEmpresa.set("CuitEmpresaConectada", 1)
            argWSAutenticacionEmpresa.set("TipoAgente", "string")
            argWSAutenticacionEmpresa.set("Rol", "string")
        LOCAL argSimiDjaiListaParams
        argSimiDjaiListaParams = CREATEOBJECT("JSONObject")
        params.set("argSimiDjaiListaParams", argSimiDjaiListaParams)
            argSimiDjaiListaParams.set("IdentificadorDeclaracion", "string")
            argSimiDjaiListaParams.set("CuitImportadorExportador", "string")
            argSimiDjaiListaParams.set("CuitDespachante", "string")
            argSimiDjaiListaParams.set("FechaOficializacionDesde", "YYYY-MM-DDThh:mm:ss")
            argSimiDjaiListaParams.set("FechaOficializacionHasta", "YYYY-MM-DDThh:mm:ss")
            argSimiDjaiListaParams.set("CodigoEstadoDeclaracion", "string")
            argSimiDjaiListaParams.set("CodigoAduanaRegistro", "string")

* Convertimos el objeto en JSON
loData = json_encode(loDataObject)

* Creamos un cliente HTTP para llamar a la API
loHttp = CREATEOBJECT("Msxml2.XMLHTTP")
loUrl = "https://app.afipsdk.com/api/v1/afip/requests"

* Realizamos la llamada a la API
loHttp.Open("POST", loUrl, .F.)
loHttp.setRequestHeader("Content-Type", "application/json")

* Reemplazar con tu access_token obtenido de https://app.afipsdk.com
LOCAL accessToken
accessToken = "TU_TOKEN_AQUI"
loHttp.setRequestHeader("Authorization", "Bearer " + accessToken)

loHttp.Send(loData)

* En caso de error lo mostramos por pantalla
IF loHttp.Status <> 200
    ? STR(loHttp.responseText)
    RETURN
ENDIF

* Convertimos la respuesta en un objeto
loResponse = json_decode(loHttp.responseText)

* Mostramos la respuesta por pantalla
? loHttp.responseText
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"
                }
            ]
        }
    }
}