



Have any questions? We’re here to help You
Connecting to any system through Makini is straightforward. You select the product you want to connect to, log in with your credentials, and receive an API token. The process takes just a few clicks and works consistently across all 2,000+ supported systems. For most systems (85-90% of cases), you only need the instance URL, username, and password. Some systems may require additional steps like API token generation, and we provide detailed authentication guides for these cases. The connection experience is designed to be simple enough that non-technical users can complete it without IT support.
Makini supports over 2,000 industrial systems across ERP, CMMS, and WMS categories. This includes major platforms like SAP (ECC, S4/HANA, Business One), Oracle NetSuite, Microsoft Dynamics, IBM Maximo, and specialized industrial systems. We support both cloud-based and on-premises installations. If you need to connect to a system we don't currently support, we're committed to building that integration for you at no additional charge—most new integrations are completed within one business day. You can view our full list of supported systems at makini.io/integrations.
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.
