Sistema Integral de Retenciones Electrónicas
emitir
Sistema Integral de Retenciones Electrónicas
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 emitir, puede que algun valor sea opcional.
LOCAL loDataObject
loDataObject = CREATEOBJECT("JSONObject")
loDataObject.set("environment", "prod")
loDataObject.set("method", "emitir")
loDataObject.set("wsid", "sire-ws")
LOCAL params
params = CREATEOBJECT("JSONObject")
loDataObject.set("params", params)
params.set("token", "string")
params.set("sign", "string")
params.set("cuitAgente", 1)
LOCAL certificado
certificado = CREATEOBJECT("JSONObject")
params.set("certificado", certificado)
certificado.set("version", 1)
certificado.set("codigoTrazabilidad", "string")
certificado.set("impuesto", 1)
certificado.set("regimen", 1)
certificado.set("fechaRetencion", "YYYY-MM-DDThh:mm:ss")
certificado.set("condicion", 1)
certificado.set("imposibilidadRetencion", .T.)
certificado.set("motivoNoRetencion", "string")
certificado.set("importeRetencion", 1.5)
certificado.set("importeBaseCalculo", 1.5)
certificado.set("regimenExclusion", .T.)
certificado.set("porcentajeExclusion", 1.5)
certificado.set("fechaPublicacion", "YYYY-MM-DDThh:mm:ss")
certificado.set("tipoComprobante", 1)
certificado.set("fechaComprobante", "YYYY-MM-DDThh:mm:ss")
certificado.set("numeroComprobante", "string")
certificado.set("coe", "string")
certificado.set("coeOriginal", "string")
certificado.set("cae", "string")
certificado.set("importeComprobante", 1.5)
certificado.set("motivoEmisionNotaCredito", "string")
certificado.set("cuitRetenido", 1)
certificado.set("numeroCertificadoOriginal", "string")
certificado.set("fechaRetencionCertificadoOriginal", "YYYY-MM-DDThh:mm:ss")
certificado.set("importeCertificadoOriginal", 1.5)
certificado.set("motivoAnulacion", 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.responseTextRespuesta
{
"certificadoNro": "string",
"codigoSeguridad": "string"
}