




KloudGin is a mobile-first asset and work management platform built for field operations, offering real-time work order tracking, preventive/predictive maintenance and unified asset-workforce visibility.
Have any questions? We’re here to help You
Makini's unified API acts as a common denominator across all connected systems. We map each system's data structure to a standardized data model, exposing consistent endpoints regardless of the underlying platform. This means you write the same code to retrieve purchase orders from SAP, NetSuite, or Dynamics—the API calls and response formats are identical. You always get data in the same structure, making it easy to build consistent business logic. The unified approach eliminates the need to learn each system's unique API, manage multiple authentication methods, or handle varying data formats.
Makini sends webhooks for several event types: sync completion (successful or failed), connection authentication required (when credentials need renewal), connection status changes (online/offline), and system errors requiring attention. Each webhook payload includes the event type, timestamp, connection ID, and event-specific details like error messages or affected entities. You can configure which events trigger webhooks on a per-connection basis. For workflow-based integrations using Makini Flows, you can also set up custom webhooks triggered by specific conditions in your business logic, providing granular control over real-time notifications.
Design your webhook receiver to handle duplicates and out-of-order webhooks, as network issues or retries can cause both scenarios. Keep the receiver lightweight—ideally writing incoming webhooks to a queue or reliable storage—then process them asynchronously. This prevents timeouts and allows your system to handle high-volume webhook spikes. Respond with a 200 status code immediately after receiving the webhook, before processing begins. Implement idempotency by tracking processed webhook IDs and skipping duplicates. Use constant-time comparison for signature verification to prevent timing attacks. If webhook processing fails, log the error but still return 200 to prevent unnecessary retries. Set up monitoring and alerts for webhook failures so you can investigate issues promptly. For critical workflows, combine webhooks with periodic polling as a fallback mechanism.
The `RATE_LIMIT_EXCEEDED` error indicates you've exceeded the API rate limit for the connection or account. Rate limits are typically set per connection and per time window (usually per minute). When you hit a rate limit, the response includes a `Retry-After` header indicating when you can retry the request. Implement exponential backoff in your retry logic to avoid immediately hitting the limit again. If you consistently hit rate limits, review your API usage patterns—you may be making unnecessary requests, polling too frequently, or could benefit from webhook-based synchronization. For legitimate high-volume needs, contact us to discuss increasing your rate limits.
