Modify my current Android VoiceBot App with API Integration

Job ID: 38173774

Budget: $30 – $250 USD

I'm looking for a skilled Flutter programmer to assist me to change the Default Behavior of my current Flutter Voicebot Source Code to call my API Server to get Answer after sending question.

I am one C programmer and PHP programmer designing the API server & website.
I worked with another Flutter programmer to make one VoiceBot which connects to my API server.
The Android VoiceBot is now workable perfectly with no problem and no bug.

Recently, our Flutter programmer has quit his job so I need to follow the VoiceBot by myself.
It is pity that I am not so skillful for modification of this Flutter program. I knew its flow and where to put the new codes. Nevertheless, I don't know how to get the right variables correctly. Therefore, I need one trusted & skillful Flutter programmer to assist me to modify (upgrade & enhance) my existing Flutter program. The job is so simple that the Flutter programmer just logins Live Share of my VS Code and then change the default behavior of my existing Voicebot program. Please read the following information in detail.

Flow:
1) The VoiceBot is connecting to my API server to download two .CSV files with .txt extension due to older Android OS NOT supporting .csv extension.
2) One of two .CSV files with .txt extension is storing API_Username, Password, Language_Name and API_Key.
3) Second .CSV file with .txt extension for FAQs is storing many questions with many answers.
One question can have many different answers. Many questions can have one answer and so on.
Current VoiceBot supports 4 languages so the .CSV file with .FAQs has total 4 files for 4 different languages.
4) When loading VoiceBot App, it loads 1st .CSV file with .txt extension and then gets API Username, Password, Language Name and API Key into memory.
The VoiceBot App checks the Language Name and then load all FAQs from 2nd .CSV file into memory according to filename with the related Language Name.
5) When someone speaks to the VoiceBot, VoiceBot uses STT to convert the speech (sound file .wav) to text and display these text on screen (in Question Side).
6) Voicebot searches the answer from memory (variable) storing all FAQs imported from 2nd .CSV file in step 3) above.
If it can get the answer, display the searched text (answer) on screen (in Answer Side) and then go to step 7) below.
If it cannot find the answer, display the text such as "Cannot find answer" and then go to step 8) below.
7) Voicebot uses TTS to convert the text (answer) to Speech (.wav file) and then play the .wav for user. Then, go back to main (Stand By mode) for detecting next Voice Command.
8) Voicebot goes to case:default and then use TTS to convert text "Cannot find answer" to .wav and then play the .wav file. Then, go back to main (Stand By mode) for detecting next Voice Command.

JOB:
1) Login Live Share of my VS Code to show me how to add new codes for following new behavior.
2) I want to change the current default behavior on step 8) above.
If Voicebot cannot find answer, the new behavior of VoiceBot must firstly query my API server to get answer and then other steps are same.
If my API server has connection problem or other error, the VoiceBot must return to the original case:default on step 8) above.

How to query my API server ?
Answer: Please convert the following CURL command to Flutter Code or just ask ChatGPT to convert the follow CURL Code to Flutter Code.

Command format with CURL to our API Server:
curl --user "API_Username:Password" -X POST https://myapiserver.com/shop/wp-json/xxxx/v1/query -H "Content-Type: application/json" -d '{
"prompt": "Who is Christina Tsang",
"botId": "default",
"chatId": "API_Username"
}'

Answer from my API Server:
{"success":true,"data":"Christina Tsang \u662f AiTV \u667a\u80fd\u53f0\u7684\u4e3b\u64ad\u3002"}

NOTICE:
1) For "API_Username:Password" on the above CURL line, VoiceBot must get API_Username and Password from 1st .CSV file mentioned on Flow: Step 2) above. These information is stored in certain variables. So you must search which variables from my original source code are storing these information.
2) chatId is same to API_Username
3) botId "default" is equal to API_Key saved in Flow: Step 2) above so the botId may not be "default"
4) "Who is Christina Tsang" is the question from user so please search which variable from my original source code is storing the question imported from Second .CSV file on step 3) above
5) If the API Server returns "success":true and then it will also return the answer with Unicode \uXXXX \uXXXX ... so VoiceBot must convert these Unicode to text for TTS and display.
6) If the API Server does NOT return "success":true or connection error, the VoiceBot must return to the original case:default on Flow: step 8) above.

Ideal Candidate:
- Trustable and work with me for long term co-operations in future for other projects if I satisfy this small project
- Proven experience in developing Android apps using Flutter, preferably with a focus on voice-controlled applications.
- Proficiency in integrating third-party APIs into mobile applications.
- A solid understanding of Natural Language Processing techniques and how to implement them within an app.
- Strong communication skills and a collaborative attitude, as we'll be working closely to fine-tune the app to meet user expectations.

If this sounds like a project you'd be excited to take on, I'd love to hear from you.
Related categories: Android Dart JSON Flutter Visual Studio