Otro web service

Requisitos previos

Para poder usar esta guía, primero necesitarás:


En esta documentación solo encontrarás los web services de ARCA más usados, pero en la Referencia de API podés encontrar ejemplos de código para usar cada método de todos los web services de ARCA.

En caso de no encontrar en la Referencia de la API el web service que necesitás, no dudes en contactarnos.


Aquí abajo encontrarás algunos ejemplos genéricos para los lenguajes más utilizados.

/**
 * 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';

/**
 * 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);
})();

Última actualización

¿Te fue útil?