Dio Sync with laravel endpoint

Custom Code

Hey There, i need a help to sync my aplication with my endpoint based in Laravel.

 void enviarDetalhesParaAPI(
      BuildContext context, Map<String, dynamic> data) async {
    setState(() {
      isSyncing = true;
    });

    try {
      var dio = Dio();
      dio.options.headers['Content-Type'] = 'multipart/form-data';

      //ambiente de producao
      // var addimageUrl = 'https://$link/api/sync';

      //ambiente de desenvolvimento
      var addimageUrl = 'http://$link/api/sync';

      FormData formData = FormData();

      formData.fields.addAll([
        MapEntry('latitude', data['latitude'].toString()),
        MapEntry('longitude', data['longitude'].toString()),
        MapEntry('requerente', data['requerente'].toString()),
        MapEntry('bairro', data['bairro'].toString()),
        MapEntry('telefone', data['telefone'].toString()),
        MapEntry('attold', data['attold'].toString()),
        MapEntry('att', data['att'].toString()),
        MapEntry('acpold', data['acpold'].toString()),
        MapEntry('acp', data['acp'].toString()),
        MapEntry('acpd', data['acpd'].toString()),
        MapEntry('processnumber', data['processnumber'].toString()),
        MapEntry('contribuinte', data['contribuinte'].toString()),
        MapEntry('complemento', data['complemento'].toString()),
        MapEntry('observacao', data['observacao'].toString()),
        MapEntry('user_id', (await Usuario.get())?.id?.toString() ?? '0'),
        MapEntry('createdatform', data['createdAt'].toString()),
      ]);
      List<Map<String, dynamic>> fotosFachada =
          await SQLHelperPhotos1.getAllPhotosForForm(data['id']);
      List<MultipartFile> fotosFachadaFiles = [];

      for (var foto in fotosFachada) {
        File imageFile = File(foto['imagePath']);
        fotosFachadaFiles.add(await MultipartFile.fromFile(
          imageFile.path,
          filename: basename(imageFile.path),
        ));
      }

      for (var file in fotosFachadaFiles) {
        formData.files.add(MapEntry('fotosFachadaFiles[]', file));
      }

      List<Map<String, dynamic>> unidades =
          await SQLHelper2.getAllDataForFather(data['id']);
      List<Map<String, dynamic>> unidadesData = [];
      for (var unidade in unidades) {
        Map<String, dynamic> unidadeData = {
          'lote': unidade['lote'].toString(),
          'relevo': unidade['relevo'].toString(),
          'uso': unidade['uso'].toString(),
          'muro': unidade['muro'].toString(),
          'conservacao': unidade['conservacao'].toString(),
          'revestimento': unidade['revestimento'].toString(),
          'estrutura': unidade['estrutura'].toString(),
          'cobertura': unidade['cobertura'].toString(),
        };
        unidadesData.add(unidadeData);

        List<Map<String, dynamic>> fotosUnidade =
            await SQLHelperPhotos.getAllDataForForm(unidade['id']);
        List<MultipartFile> fotosUnidadeFiles = [];

        for (var foto in fotosUnidade) {
          File imageFile = File(foto['imagePath']);
          fotosUnidadeFiles.add(await MultipartFile.fromFile(
            imageFile.path,
            filename: basename(imageFile.path),
          ));
        }

        for (var file in fotosUnidadeFiles) {
          formData.files.add(MapEntry('fotosUnidadeFiles[]', file));
        }
      }

      String unidadesDataString = jsonEncode(unidadesData);
      formData.fields.add(MapEntry('unidades', unidadesDataString));

      showDialog(
        context: context,
        barrierDismissible: false,
        builder: (context) => AlertDialog(
          title: Text('Sincronizando com o Servidor...'),
          content: CircularProgressIndicator(),
        ),
      );

      var response = await dio.post(addimageUrl, data: formData);
      print(unidadesData);
      print(response.data);
      print(response.headers);
      if (response.statusCode == 200) {
        print(response);
        print('Dados enviados com sucesso para a API');

        showSyncSuccessAlert(context);

        // SQLHelper.deleteData(data['id']);
        // SQLHelper2.deleteData(data['id']);
        // SQLHelperPhotos1.deleteData(data['id']);
        // SQLHelperPhotos.deleteData(data['id']);

        showDialog(
          context: context,
          builder: (context) => AlertDialog(
            title: Text('Sincronização Concluída'),
            content: Text('Os dados foram sincronizados com sucesso.'),
            actions: [
              TextButton(
                onPressed: () {
                  Navigator.of(context).pop();
                  Navigator.of(context).pushReplacement(
                    MaterialPageRoute(
                      builder: (context) => HomeScreen(),
                    ),
                  );
                },
                child: Text('OK'),
              ),
            ],
          ),
        );
      } else {
        print(
            'Erro ao enviar dados para a API. Código de status: ${response.statusCode}');
        showDialog(
          context: context,
          builder: (context) => AlertDialog(
            title: Text('Erro ao sincronizar com o servidor!'),
            content: Text(
                'Os não dados foram sincronizados, tente novamete mais tarde!'),
            actions: [
              TextButton(
                onPressed: () {
                  Navigator.of(context).pop();
                  Navigator.of(context).pushReplacement(
                    MaterialPageRoute(
                      builder: (context) => HomeScreen(),
                    ),
                  );
                },
                child: Text('OK'),
              ),
            ],
          ),
        );
      }
    } catch (e) {
      print('Erro durante o envio dos dados para a API: $e');
    }
  }
What have you tried so far?

I need to put a fotosFachadaFiles in UnidadesData map, because i have to send them together,

to theat them in my endoint

Did you check FlutterFlow's Documentation for this topic?
No