useAssistants method

Future<List<Map<String, dynamic>>> useAssistants(
  1. String apiKey,
  2. List<Assistant> assistants,
  3. String transcript
)

Implementation

Future<List<Map<String, dynamic>>> useAssistants(
    String apiKey, List<Assistant> assistants, String transcript) async {
  List<Map<String, dynamic>> entities = [];

  try {
    // Construir o corpo da requisição JSON
    var requestBody = {
      'service_args': {
        "transcript": transcript,
        "assistant_ids": assistants.map((e) => e.toJson()).toList(),
      },
      'api_key': apiKey,
    };

    print("Sending request to server..."); // Log de depuração

    // Enviar a requisição
    var response = await http.post(
      Uri.parse('https://care-voice-ai.azurewebsites.net/use_assistants'),
      headers: {'Content-Type': 'application/json'},
      body: jsonEncode(requestBody),
    );

    // Verificar o status da resposta
    if (response.statusCode == 200) {
      print("Response received successfully."); // Log de depuração
      var aqui =
          Map<String, dynamic>.from(jsonDecode(response.body))["entities"];

      print(aqui);
    } else {
      throw Exception('Failed to load transcript: ${response.statusCode}');
    }
  } catch (e) {
    print("Error occurred: $e"); // Log de depuração
  }

  return entities;
}