Creación de VEPs para entidades externas (WSCREATEVEP)


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 findMyVEPByNroVEP, puede que algun valor sea opcional.
LOCAL loDataObject
loDataObject = CREATEOBJECT("JSONObject")
    loDataObject.set("environment", "dev")
    loDataObject.set("method", "findMyVEPByNroVEP")
    loDataObject.set("wsid", "setipagob2b_createvep")
    LOCAL params
    params = CREATEOBJECT("JSONObject")
    loDataObject.set("params", params)
        params.set("token", "string")
        params.set("sign", "string")
        params.set("owner", 1)
        params.set("nroVep", 1)

* 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
{
    "findMyVEPByNroVEPReturn": {
        "VEP": {
            "nroVEP": "long",
            "fechaHoraCreacion": "string",
            "fechaExpiracion": "string",
            "fechaVencimiento": "string",
            "nroFormulario": "integer",
            "orgRecaudDesc": "string",
            "codTipoPago": "integer",
            "pagoDesc": "string",
            "pagoDescExtracto": "string",
            "usuarioCUIT": "long",
            "autorizanteCUIT": "long",
            "contribuyenteCUIT": "long",
            "establecimiento": "integer",
            "concepto": "integer",
            "conceptoDesc": "string",
            "subConcepto": "integer",
            "subConceptoDesc": "string",
            "periodoFiscal": "integer",
            "anticipoCuota": "integer",
            "importe": "decimal",
            "ownerCuit": "long",
            "ownerTransactionId": "long",
            "Detalles": {
                "Detalle": [
                    {
                        "campo": "integer",
                        "campoTipo": "string",
                        "campoDesc": "string",
                        "contenido": "string",
                        "contenidoDesc": "string"
                    }
                ]
            },
            "Obligaciones": {
                "Obligacion": [
                    {
                        "impuesto": "integer",
                        "impuestoDesc": "string",
                        "importe": "decimal"
                    }
                ]
            }
        },
        "CP": {
            "cpId": "long",
            "nroVEP": "long",
            "contribuyenteCUIT": "long",
            "importe": "decimal",
            "sucursal": "integer",
            "tipoSucursal": "integer",
            "terminal": "string",
            "operador": "string",
            "formaPago": "integer",
            "moneda": "integer",
            "bancoPagador": "integer",
            "entidadDePago": "integer",
            "codControl": "string",
            "nroTransaccion": "long",
            "nroTarjeta": "decimal",
            "posEstablecimiento": "long",
            "posNombre": "string",
            "cbu": "decimal",
            "codTipoPago": "integer",
            "codRechazoDebDir": "integer",
            "fechaHoraPago": "string",
            "fechaAnulacion": "string",
            "fechaPosting": "string"
        }
    }
}