Antes de llamar a los Web Services de ARCA, necesitás un ticket de acceso (TA), también llamado Token Authorization.
Este TA expira tras un tiempo, pero no tenés que preocuparte por renovarlo: Afip SDK lo cachea y solicita uno nuevo automáticamente si es necesario. Solo llamá a la API y Afip SDK te devuelve el TA correspondiente.
Para obtener el TA se necesita un certificado digital, pero con Afip SDK podés empezar en modo desarrollo usando el CUIT 20-40937847-2 sin necesidad de uno.
import'package:http/http.dart'as http;import'dart:convert';import'package:intl/intl.dart';var headers = { 'Content-Type':'application/json' };var request = http.Request('POST',Uri.parse('https://app.afipsdk.com/api/v1/afip/auth'));request.body = json.encode({"environment":"dev","tax_id":"20409378472",// CUIT a utilizar"wsid":"wsfe"});// Reemplazar con tu access_token obtenido de https://app.afipsdk.comvar accessToken ="TU_TOKEN_AQUI";headers['Authorization'] ="Bearer "+ accessToken;request.headers.addAll(headers);http.StreamedResponse response =await request.send();if (response.statusCode !=200) {print(await response.stream.bytesToString());thrownewError();}var auth = json.decode(await response.stream.bytesToString());
auth['token'] y auth['sign'] corresponden el TA que nos da ARCA. Debemos enviar estos datos en el body de cada solicitud a los Web Services. En el manual de cada Web Service verás dónde colocarlos.
2. Llamar al método del Web Service que necesites
Con el TA ya podés realizar las llamadas a los Web Services que necesites.
Es similar al código para obtener el TA, pero debés cambiar la URL y el body de la request.
Podés encontrar las URLs y los body correspondientes en las pestañas API de la documentación de cada Web Service.