sitcod3's picture
build: add Docker support and deployment pipeline
9e7f815
Raw History Blame Contribute Delete
2.82 kB
import axios from "axios";
// This client is used by the frontend to call the BFF (Backend-For-Frontend).
// It NEVER calls api.instantly.ai directly.
const apiClient = axios.create({
baseURL: "/api",
headers: {
"Content-Type": "application/json",
},
});
export const instantlyClient = {
// Connection Status
getConnectionStatus: () => apiClient.get("/org/connection-status").then((res) => res.data),
// Campaigns
getCampaigns: (params?: any) => apiClient.get("/campaigns", { params }).then((res) => res.data),
createCampaign: (data: any) => apiClient.post("/campaigns", data).then((res) => res.data),
getCampaign: (id: string) => apiClient.get(`/campaigns/${id}`).then((res) => res.data),
updateCampaign: (id: string, data: any) => apiClient.patch(`/campaigns/${id}`, data).then((res) => res.data),
deleteCampaign: (id: string) => apiClient.delete(`/campaigns/${id}`).then((res) => res.data),
activateCampaign: (id: string) => apiClient.post(`/campaigns/${id}/activate`).then((res) => res.data),
pauseCampaign: (id: string) => apiClient.post(`/campaigns/${id}/pause`).then((res) => res.data),
getCampaignAnalytics: (id: string) => apiClient.get(`/campaigns/${id}/analytics`).then((res) => res.data),
// Leads
createLead: (data: any) => apiClient.post("/leads", data).then((res) => res.data),
bulkImportLeads: (data: any[]) => apiClient.post("/leads/bulk", data).then((res) => res.data),
searchLeads: (params?: any) => apiClient.get("/leads", { params }).then((res) => res.data),
getLead: (id: string) => apiClient.get(`/leads/${id}`).then((res) => res.data),
updateLead: (id: string, data: any) => apiClient.patch(`/leads/${id}`, data).then((res) => res.data),
// Accounts
getAccounts: () => apiClient.get("/accounts").then((res) => res.data),
pauseAccount: (id: string) => apiClient.post(`/accounts/${id}/pause`).then((res) => res.data),
resumeAccount: (id: string) => apiClient.post(`/accounts/${id}/resume`).then((res) => res.data),
enableWarmup: () => apiClient.post("/accounts/enable-warmup").then((res) => res.data),
disableWarmup: () => apiClient.post("/accounts/disable-warmup").then((res) => res.data),
testVitals: (id: string) => apiClient.post(`/accounts/${id}/test-vitals`).then((res) => res.data),
// Webhooks
getWebhooks: () => apiClient.get("/webhooks").then((res) => res.data),
testWebhook: (id: string) => apiClient.post(`/webhooks/${id}/test`).then((res) => res.data),
getEvents: (params?: any) => apiClient.get("/events", { params }).then((res) => res.data),
// Dashboard & Misc
getDashboardSummary: () => apiClient.get("/dashboard/summary").then((res) => res.data),
getWorkspace: () => apiClient.get("/workspace").then((res) => res.data),
getAuditLogs: () => apiClient.get("/audit-logs").then((res) => res.data),
};