🛠️Otro web service
Este es un ejemplo completo de como usar cualquier otro web service de AFIP con el SDK.
/**
* URL al archivo WSDL de test
*
* Esta URL la podes encontrar en el manual del web service
**/
const WSDL_TEST = 'https://fwshomo.afip.gov.ar/wsct/CTService?wsdl';
/**
* URL al archivo WSDL de produccion
*
* Esta URL la podes encontrar en el manual del web service
**/
const WSDL = 'https://serviciosjava.afip.gob.ar/wsct/CTService?wsdl';
/**
* URL del Web service de produccion
*
* Esta URL la podes encontrar en el manual del web service
**/
const URL = 'https://serviciosjava.afip.gob.ar/wsct/CTService';
/**
* URL del Web service de test
*
* Esta URL la podes encontrar en el manual del web service
**/
const URL_TEST = 'https://fwshomo.afip.gov.ar/wsct/CTService';
/**
* Seterar en true si el web service requiere usar soap v1.2
*
* Si no estas seguro de que necesita v1.2 proba con ambas opciones
**/
const soapV1_2 = false;
/**
* Nombre del web service.
*
* El nombre por el cual se llama al web service en AFIP.
* Esto lo podes encontrar en el manual correspondiente.
* Por ej. el de factura electronica se llama 'wsfe', el de
* comprobantes T se llama 'wsct'
**/
const servicio = 'wsct';
/**
* A partir de aca ya no debes cambiar ninguna variable
**/
/**
* Preparamos las opciones para el web service
**/
const options = {
'WSDL': WSDL,
'WSDL_TEST': WSDL_TEST,
'URL': URL,
'URL_TEST': URL_TEST,
'soapV1_2': soapV1_2
};
/**
* Creamos el web service
**/
const genericWebService = afip.WebService(servicio, options);
/**
* Este es un ejemplo de como utilizar el wsct para
* obtener el ultimo comprobante autorizado
*
* Aqui veras como obtener un Token Authorizataion
* para el web service que acabamos de crear y como
* ejecutar un request basico
**/
(async () => {
/**
* Obtenemos el Token Authorizataion
**/
const ta = await genericWebService.getTokenAuthorization();
/**
* Preparamos los datos que nos pide el web service
*
* Este ejemplo es especifico para el wsct. En el manual
* del web service que quieras utilizar encontraras que
* datos requiere cada metodo
**/
const data = {
'authRequest': {
'token': ta.token,
'sign' : ta.sign,
'cuitRepresentada' : afip.CUIT
},
'codigoTipoComprobante': 195,
'numeroPuntoVenta': 1
};
/**
* Iniciamos la variable donde guardaremos el resultado
**/
let result;
try {
/**
* Ejecutamos la request al web service
*
* consultarUltimoComprobanteAutorizado es un metodo
* de wsct, esto debes cambiarlo por el metodo que
* quieras utilizar
**/
result = await genericWebService.executeRequest('consultarUltimoComprobanteAutorizado', data);
/**
* Seteamos el resultado en nuestra variable.
*
* consultarUltimoComprobanteAutorizadoReturn es especifico
* de este metodo de este web service. Esto deberas adaptarlo
* al web service que estes integrando
**/
result = result.consultarUltimoComprobanteAutorizadoReturn
/**
* Checkeamos si devolvio error en el resultado.
*
* arrayErrores es especifico de este web service.
* Esto deberas adaptarlo al web service que estes integrando
**/
if (typeof result.arrayErrores !== 'undefined') {
err = Array.isArray(result.arrayErrores.codigoDescripcion) ? result.arrayErrores.codigoDescripcion[0] : result.arrayErrores.codigoDescripcion;
throw new Error(`(${err.codigo}) ${err.descripcion}`, err.codigo);
}
}
catch(error){
/**
* Si hubo un error lo logeamos
**/
console.error(error);
}
/**
* Logeamos el resultado final
**/
console.log(result);
})();
<?php
/**
* URL al archivo WSDL de test
*
* Esta URL la podes encontrar en el manual del web service
**/
$WSDL_TEST = 'https://fwshomo.afip.gov.ar/wsct/CTService?wsdl';
/**
* URL al archivo WSDL de produccion
*
* Esta URL la podes encontrar en el manual del web service
**/
$WSDL = 'https://serviciosjava.afip.gob.ar/wsct/CTService?wsdl';
/**
* URL del Web service de produccion
*
* Esta URL la podes encontrar en el manual del web service
**/
$URL = 'https://serviciosjava.afip.gob.ar/wsct/CTService';
/**
* URL del Web service de test
*
* Esta URL la podes encontrar en el manual del web service
**/
$URL_TEST = 'https://fwshomo.afip.gov.ar/wsct/CTService';
/**
* Version de SOAP que requiere el web service
*
* Si no estas seguro de que version necesitas proba
* con ambas opciones (SOAP_1_1 o SOAP_1_2)
**/
$soap_version = SOAP_1_1;
/**
* Nombre del web service.
*
* El nombre por el cual se llama al web service en AFIP.
* Esto lo podes encontrar en el manual correspondiente.
* Por ej. el de factura electronica se llama 'wsfe', el de
* comprobantes T se llama 'wsct'
**/
$servicio = 'wsct';
/**
* A partir de aca ya no debes cambiar ninguna variable
**/
/**
* Preparamos las opciones para el web service
**/
$options = array(
'WSDL' => $WSDL,
'WSDL_TEST' => $WSDL_TEST,
'URL' => $URL,
'URL_TEST' => $URL_TEST,
'soap_version' => $soap_version
);
/**
* Creamos el web service
**/
$generic_web_service = $afip->WebService($servicio, $options);
/**
* Este es un ejemplo de como utilizar el wsct para
* obtener el ultimo comprobante autorizado
*
* Aqui veras como obtener un Token Authorizataion
* para el web service que acabamos de crear y como
* ejecutar un request basico
**/
/**
* Obtenemos el Token Authorizataion
**/
$ta = $generic_web_service->GetTokenAuthorization();
/**
* Preparamos los datos que nos pide el web service
*
* Este ejemplo es especifico para el wsct. En el manual
* del web service que quieras utilizar encontraras que
* datos requiere cada metodo
**/
$data = array(
'authRequest' => array(
'token' => $ta->token,
'sign' => $ta->sign,
'cuitRepresentada' => $afip->CUIT
),
'codigoTipoComprobante' => 195,
'numeroPuntoVenta' => 1
);
/**
* Ejecutamos la request al web service
*
* consultarUltimoComprobanteAutorizado es un metodo
* de wsct, esto debes cambiarlo por el metodo que
* quieras utilizar
**/
$result = $generic_web_service->ExecuteRequest('consultarUltimoComprobanteAutorizado', $data);
/**
* Seteamos el resultado en nuestra variable.
*
* consultarUltimoComprobanteAutorizadoReturn es especifico
* de este metodo de este web service. Esto deberas adaptarlo
* al web service que estes integrando
**/
$result = $result->consultarUltimoComprobanteAutorizadoReturn;
/**
* Checkeamos si devolvio error en el resultado.
*
* arrayErrores es especifico de este web service.
* Esto deberas adaptarlo al web service que estes integrando
**/
if (isset($result->arrayErrores)) {
$err = is_array($result->arrayErrores->codigoDescripcion) ? $result->arrayErrores->codigoDescripcion[0] : $result->arrayErrores->codigoDescripcion;
throw new Exception('('.$err->codigo.') '.$err->descripcion, $err->codigo);
}
/**
* Mostramos por pantalla el resultado final
**/
var_dump($result);
# URL al archivo WSDL de test
#
# Esta URL la podes encontrar en el manual del web service
WSDL_TEST = "https://fwshomo.afip.gov.ar/wsct/CTService?wsdl"
# URL al archivo WSDL de produccion
#
# Esta URL la podes encontrar en el manual del web service
WSDL = "https://serviciosjava.afip.gob.ar/wsct/CTService?wsdl"
# URL del Web service de produccion
#
# Esta URL la podes encontrar en el manual del web service
URL = "https://serviciosjava.afip.gob.ar/wsct/CTService"
# URL del Web service de test
#
# Esta URL la podes encontrar en el manual del web service
URL_TEST = "https://fwshomo.afip.gov.ar/wsct/CTService"
# Seterar en true si el web service requiere usar soap v1.2
#
# Si no estas seguro de que necesita v1.2 proba con ambas opciones
soapV1_2 = false
# Nombre del web service.
#
# El nombre por el cual se llama al web service en AFIP.
# Esto lo podes encontrar en el manual correspondiente.
# Por ej. el de factura electronica se llama "wsfe", el de
# comprobantes T se llama "wsct"
servicio = "wsct"
# A partir de aca ya no debes cambiar ninguna variable
# Preparamos las opciones para el web service
options = {
"WSDL": WSDL,
"WSDL_TEST": WSDL_TEST,
"URL": URL,
"URL_TEST": URL_TEST,
"soapV1_2": soapV1_2
}
# Creamos el web service
genericWebService = afip.webService(servicio, options)
# Este es un ejemplo de como utilizar el wsct para
# obtener el ultimo comprobante autorizado
#
# Aqui veras como obtener un Token Authorizataion
# para el web service que acabamos de crear y como
# ejecutar un request basico
# Obtenemos el Token Authorizataion
ta = genericWebService.getTokenAuthorization
# Preparamos los datos que nos pide el web service
#
# Este ejemplo es especifico para el wsct. En el manual
# del web service que quieras utilizar encontraras que
# datos requiere cada metodo
data = {
"authRequest": {
"token": ta["token"],
"sign": ta["sign"],
"cuitRepresentada": afip.CUIT
},
"codigoTipoComprobante": 195,
"numeroPuntoVenta": 1
}
begin
# Ejecutamos la request al web service
#
# consultarUltimoComprobanteAutorizado es un metodo
# de wsct, esto debes cambiarlo por el metodo que
# quieras utilizar
result = genericWebService.executeRequest("consultarUltimoComprobanteAutorizado", data)
# Mostramos el resultado
puts result unless result["arrayErrores"]
# Checkeamos si devolvio error en el resultado.
#
# arrayErrores es especifico de este web service.
# Esto deberas adaptarlo al web service que estes integrando
err = result["arrayErrores"]["codigoDescripcion"].is_a?(Array) ? result["arrayErrores"]["codigoDescripcion"][0] : result["arrayErrores"]["codigoDescripcion"]
raise "(#{err["codigo"]}) #{err["descripcion"]}"
rescue => e
# Mostramos el error
puts e
end
# URL al archivo WSDL de test
#
# Esta URL la podes encontrar en el manual del web service
WSDL_TEST = "https://fwshomo.afip.gov.ar/wsct/CTService?wsdl"
# URL al archivo WSDL de produccion
#
# Esta URL la podes encontrar en el manual del web service
WSDL = "https://serviciosjava.afip.gob.ar/wsct/CTService?wsdl"
# URL del Web service de produccion
#
# Esta URL la podes encontrar en el manual del web service
URL = "https://serviciosjava.afip.gob.ar/wsct/CTService"
# URL del Web service de test
#
# Esta URL la podes encontrar en el manual del web service
URL_TEST = "https://fwshomo.afip.gov.ar/wsct/CTService"
# Seterar en true si el web service requiere usar soap v1.2
#
# Si no estas seguro de que necesita v1.2 proba con ambas opciones
soapV1_2 = False
# Nombre del web service.
#
# El nombre por el cual se llama al web service en AFIP.
# Esto lo podes encontrar en el manual correspondiente.
# Por ej. el de factura electronica se llama "wsfe", el de
# comprobantes T se llama "wsct"
servicio = "wsct"
# A partir de aca ya no debes cambiar ninguna variable
# Preparamos las opciones para el web service
options = {
"WSDL": WSDL,
"WSDL_TEST": WSDL_TEST,
"URL": URL,
"URL_TEST": URL_TEST,
"soapV1_2": soapV1_2
}
# Creamos el web service
genericWebService = afip.webService(servicio, options)
# Este es un ejemplo de como utilizar el wsct para
# obtener el ultimo comprobante autorizado
#
# Aqui veras como obtener un Token Authorizataion
# para el web service que acabamos de crear y como
# ejecutar un request basico
# Obtenemos el Token Authorizataion
ta = genericWebService.getTokenAuthorization()
# Preparamos los datos que nos pide el web service
#
# Este ejemplo es especifico para el wsct. En el manual
# del web service que quieras utilizar encontraras que
# datos requiere cada metodo
data = {
"authRequest": {
"token": ta["token"],
"sign": ta["sign"],
"cuitRepresentada": afip.CUIT
},
"codigoTipoComprobante": 195,
"numeroPuntoVenta": 1
}
try:
# Ejecutamos la request al web service
#
# consultarUltimoComprobanteAutorizado es un metodo
# de wsct, esto debes cambiarlo por el metodo que
# quieras utilizar
result = genericWebService.executeRequest("consultarUltimoComprobanteAutorizado", data)['consultarUltimoComprobanteAutorizadoReturn']
if result.get("arrayErrores"):
# Checkeamos si devolvio error en el resultado.
#
# arrayErrores es especifico de este web service.
# Esto deberas adaptarlo al web service que estes integrando
err = result["arrayErrores"]["codigoDescripcion"][0] if type(result["arrayErrores"]["codigoDescripcion"]) in (tuple, list) else result["arrayErrores"]["codigoDescripcion"]
raise Exception("(%s) %s" % (err["codigo"], err["descripcion"]))
# Mostramos el resultado
print(result)
except Exception as e:
# Mostramos el error
print(e)
Es similar a llamar a otros web services pero debemos agregarle los siguientes parámetros
Body
Nombre | Tipo | Valor |
---|---|---|
| string | URL del web service, la encuentran en el manual del web service. Recordar que la URL cambia entre test y produccion |
| string | URL del WSDL, la encuentran en el manual del web service. Recordar que la URL cambia entre test y produccion |
| boolean |
|
Endpoint
POST
https://app.afipsdk.com/api/v1/afip/requests
Ejemplo
{
"environment": "dev",
"method": "consultarUltimoComprobanteAutorizado",
"wsid": "wsct",
"url": "https://fwshomo.afip.gov.ar/wsct/CTService",
"wsdl": "https://fwshomo.afip.gov.ar/wsct/CTService?wsdl",
"soap_v_1_2": false,
"params": {
"authRequest": {
"token": "{{token}}",
"sign": "{{sign}}",
"cuitRepresentada": "20409378472"
},
"codigoTipoComprobante": 195,
"numeroPuntoVenta": 1
}
}
Última actualización