



Have any questions? We’re here to help You
Makini is a unified API platform for industrial systems integration. We provide connectivity to over 2,000 ERP, CMMS, and WMS systems through a single, standardized API. Instead of building separate integrations for each system, you connect once to Makini and gain access to all supported platforms. This approach transforms integration projects that typically cost tens of thousands of dollars and take months into a manageable operational expense with deployment times of 1-2 weeks.
Yes, Makini provides extensive customization options for field mappings. Through the connection settings interface, you can view how each system's fields map to Makini's unified model. You can remap fields, add custom field mappings, or create entirely new custom fields that will appear in API responses. These customizations are connection-specific, allowing different mapping configurations for different customers. Mapping changes take effect immediately without requiring code changes. For standardized workflows, default mappings typically provide sufficient coverage. Custom mappings are most useful when integrating with heavily customized systems or when you need fields beyond the standard unified model.
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.
