




Have any questions? We’re here to help You
Integration timelines vary by complexity. For standard implementations with no customizations, connections can be live within 1-2 weeks. This includes authentication setup and basic workflow configuration. For implementations requiring custom workflows or specific business logic, timelines typically range from 2-6 weeks depending on the scope. Complex enterprise deployments with multiple systems and custom requirements may take 6-10 weeks. These timelines are significantly shorter than traditional integration projects, which often take 2-24 months.
Yes, you can trigger syncs manually through both the API and the Makini dashboard. The API provides endpoints to initiate syncs for specific entities (purchase orders, work orders, etc.) on a given connection. Manual syncs are useful when you need immediate data updates outside the regular schedule, when onboarding new customers, or when recovering from sync failures. Manual syncs follow the same incremental logic as scheduled syncs, retrieving only changed records since the last successful sync. You can also trigger full re-syncs that ignore the last sync timestamp and retrieve all records within the configured historical period.
Webhooks allow Makini to notify your application of events in real-time. To set up webhooks, configure a webhook URL in your connection settings or during the initial connection flow. Your webhook endpoint must accept POST requests, respond within 10 seconds with a 200 status code, and use HTTPS with a valid SSL certificate. Makini will send webhook payloads to your endpoint when configured events occur, such as sync completion, connection status changes, or errors requiring attention. We recommend keeping your webhook receiver lightweight—ideally just writing the payload to a queue for asynchronous processing—to avoid timeouts and ensure reliable delivery.
Makini uses standard HTTP status codes and structured error responses. Error responses include an error code (e.g., `AUTHENTICATION_FAILED`, `RATE_LIMIT_EXCEEDED`), error type for categorization, a human-readable error message, and a unique request ID for support inquiries. Common status codes include 400 for invalid requests, 401 for authentication failures, 403 for permission issues, 429 for rate limiting, 500 for server errors, and 503 for service unavailability. Use the error code for programmatic error handling rather than parsing error messages. The request ID helps our support team quickly identify and investigate specific issues.
