import axios, { AxiosInstance, AxiosError } from 'axios'; // Chat API base URL const CHAT_API_BASE_URL = 'https://6454c61f-3a39-43f7-afb1-d342c903b84e-00-21kfz12hqvw76.sisko.replit.dev'; // Create axios instance for chat const chatApi: AxiosInstance = axios.create({ baseURL: CHAT_API_BASE_URL, timeout: 30000, headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' } }); // Request interceptor chatApi.interceptors.request.use( async (config) => { return config; }, (error) => { return Promise.reject(error); } ); // Response interceptor chatApi.interceptors.response.use( (response) => { return response; }, (error: AxiosError) => { return Promise.reject(error); } ); // API methods export const chatService = { // Send message async sendMessage(newMessage: { type: string, mimetype: string, userWs: string, app_id: string, country: string, body: string, text: string }): Promise { try { const response = await chatApi.post('/chat', { newMessage }); return response.data; } catch (error) { throw error; } }, // Get chat history async getChatHistory(sessionId: string): Promise { try { const response = await chatApi.get('/history', { params: { sessionId } }); return response.data; } catch (error) { throw error; } } }; export default chatApi;