Consumir Comunicaciones de Ventanilla Electrónica


Solicitud
import 'package:http/http.dart' as http;
import 'dart:convert';

// Creamos un cliente HTTP para llamar a la API
var headersWS = { 'Content-Type': 'application/json' };
var requestWS = http.Request('POST', Uri.parse('https://app.afipsdk.com/api/v1/afip/requests'));

// Deben cambiar los datos de "params" por los que correspondan. 
// Esta request de ejemplo incluye todos posibles valores para 
// llamar al metodo consultarComunicaciones, puede que algun valor sea opcional.
requestWS.body = json.encode({
    "environment": "dev",
    "method": "consultarComunicaciones",
    "wsid": "veconsumerws",
    "params": {
        "authRequest": {
            "token": "string",
            "sign": "string",
            "cuitRepresentada": 1
        },
        "filter": {
            "estado": 1,
            "fechaDesde": "string",
            "fechaHasta": "string",
            "comunicacionIdDesde": 1,
            "comunicacionIdHasta": 1,
            "tieneAdjunto": true,
            "sistemaPublicadorId": 1,
            "pagina": 1,
            "resultadosPorPagina": 1,
            "referencia1": "string",
            "referencia2": "string"
        }
    }
});

// Reemplazar con tu access_token obtenido de https://app.afipsdk.com
var accessToken = "TU_TOKEN_AQUI";
headersWS['Authorization'] = "Bearer " + accessToken; 

// Realizamos la llamada a la API
requestWS.headers.addAll(headersWS);
http.StreamedResponse responseWS = await requestWS.send();

// En caso de error lo mostramos por consola
if (responseWS.statusCode != 200) {
    print(await responseWS.stream.bytesToString());

    throw new Error();
}

// Convertimos la respuesta en un objeto
var response = json.decode(await responseWS.stream.bytesToString());

// Mostramos la respuesta por consola
print(response);
Respuesta
{
    "RespuestaPaginada": {
        "pagina": "integer",
        "totalPaginas": "integer",
        "itemsPorPagina": "integer",
        "totalItems": "integer",
        "items": {
            "undefined": [
                {
                    "idComunicacion": "long",
                    "cuitDestinatario": "long",
                    "fechaPublicacion": "string",
                    "fechaVencimiento": "string",
                    "sistemaPublicador": "long",
                    "sistemaPublicadorDesc": "string",
                    "estado": "integer",
                    "estadoDesc": "string",
                    "asunto": "string",
                    "prioridad": "integer",
                    "tieneAdjunto": "bool",
                    "referencia1": "string",
                    "referencia2": "string"
                }
            ]
        }
    }
}