Frequently Asked Questions


What is OmniChat?

OmniChat is a developer-oriented cloud platform for businesses to integrate communication channels through WhatsApp.

How can I use OmniChat for?

OmniChat was created to be a cheap and simple cloud API messaging gateway solution, similar to what a SMS gateway API could be, but from 5 to 30 times cheaper and more flexible.

Can I use OmniChat to process incoming messages from users?


You can purchase any I/O product plan and enjoy incoming & outgoing message processing.

Can I use OmniChat for marketing messages?

You are not allowed to send marketing or any unsolicited messages to random users.

Any attempt to violate this policy will cause an immediate account ban.

Can I use OmniChat for chatbots?

Yes, you can.

Purchase any I/O product plan that would allow you to implement chatbots on top of the API.

What countries are allowed?

You can register from any country where WhatsApp operates.

As long as you have WhatsApp running in your device, you can use our platform.


How many WhatsApp numbers can I use?

You can have as many numbers as needed. There is no strict limit. Our elastic platform can scale as much as needed.

Each number is billed separately as a independent monthly subscription.

Can I arbitrarily send messages across multiple numbers?

Yes, you can.

When sending messages, you can select the device you want to use when deliverying the message.

Can I customize the image, name and description of the WhatsApp profile?

Yes, you can do this via API.


What type of messages can I send?

You can send text, location, text + links, text + location, multimedia and text + multimedia messages.

Can I send messages to group chats?

Yes, you can.

However, not all the plans include group messages feature. Please, see our plan features in order to get more details.

Can I prioritize messages?

Yes, you can.

Messages can be prioritized by using four different priority levels:

  • low
  • normal (default)
  • high
  • urgent


Please, note that only certain plans allow message priorities. See the pricing table for more details.

Can I schedule messages to be delivered at a certain date or time?

Yes, you can.

Messages can be scheduled to a specific date or time.

Please, note that only certain plans allow message scheduling. See the pricing table for more details.

What type of multimedia files can I send?

Images (jpeg, png, bmp, webp), audio (mp3, ogg), videos & gifs (mp4), documents (pdf, doc, docx, xls, xlsx, epub, txt) and archives (zip, tar, gzip, rar).

Other files not explicitly listed before can be supported as well. Contact us if you have questions.

Can I send messages to any phone number?

Yes, you can. Any phone number, worldwide.

If the phone number is not associated to WhatsApp account and therefore cannot be delivered, we will flag the message as failed.

What is the average delivery time per message?

Our system is capable of deliverying a message in a fraction of second if the paired WhatsApp device is online and available.

Typically, if the device queue is empty and the device is online, it would take 1-2 seconds to deliver the message. It may take a bit longer if you are sending a relatively large media message (e.g: document of 5MB).

However, delivery speed would depend on the device’s subscription plan. See pricing plans for more information.

How many messages can I deliver?

It depends on your subscription plan.

Basic, professional and business plans are limited to 3, 6, and 15 messages per minute respectively. Enterprise plan limit is up to 100 messages per minute for text-only messages.

Media messages delivery rate will be 20% to 50% lower, especially with larger files (+1MB) due to media file processing and uploading to WhatsApp.

What happens if a target phone number does not have WhatsApp account?

If a target phone number does not an active WhatsApp associated to it, we would flag the message as failed delivery because of a WhatsApp non existant phone number.

You can get more details in the API documentation.

WhatsApp Account

Can my number get banned?

If you send unsolicited messages to many users, your number might get banned.

Also, note that users may report you as spammer manually, therefore your communication strategy should be legit and expected by users.

We recommend explicitly asking users first if they want to be contacted through WhatsApp.


What kind of API is it provided?

OmniChat provides a simple resource-oriented API (also known as REST or RESTful API).

We have designed the API to be easy to use from any programming language or framework, or even from a simple bash/shell script.

What programming languages can I use?

You can use any programming language you wish, such as Python, PHP, C#, JavaScript, Java, Go or even a bash/curl script.

Any programming language that is able to send HTTPS requests via network will work with our API.

Can I upload and store media files via API?

Yes, you can. See the files section API documentation.

Files are uploaded via our API, but they are stored in the linked Google Account Drive storage. By default, you can store up to 1GB of media files.

We clean up expired files from your account every day in order to free unused storage space.

Storage space is freely provided by Google and will not incur in any costs.

What do I need in order to use the API?

OmniChat provides a simple resource-oriented API (also known as REST or RESTful API).

All you need is a programming language or shell script that allows you to send HTTP requests to our servers.

If you need technical help, we can assist you. Please, contact us with your questions.

How to authenticate an API call?

API authentication is done by using API tokens. Tokens are secret and should not be shared publicly.

At HTTP level, you can define the API token wheter as “token” query param or “Token” HTTP request header.

For more details, see the API documentation – Authentication section.

Can I have multiple API tokens?

Yes. You can have up to 50 different API tokens. You can also later revoke them.

Tokens are created from the Web Console.

For more details, see the API documentation – Authentication section.

Can I restrict the use of an API token to a particular device?

Unfortunately not.

Any token has all the permissions to perform any action via API.


What are Webhooks?

Webhooks are automated messages sent from a server to another when something happens via HTTP(S). They have a message payload and are sent to a remote URL server (typically the customer server).

We use Webhooks in order to easily notify about message status and events over time.

For instance, our systems would notify your systems everytime a new messages was succesfully delivered or failed.

How to implement a webhook endpoint?

You only need an HTTP(S) server listening on a IP/port reachable from Internet.

That server needs to accept HTTP POST requests, and subsequently read the HTTP JSON body.

For more details about Webhooks technical details, see the API documentation.

How many webhooks can I have?

You can have up to 5 webhook endpoints, each of them having different URLs.

You can also route certain events to a certain webhook endpoint URL, such as only message success delivery events.

How much time it takes to get notified about an event?

We will notify your webhook endpoints every minute if there are new events pending.

We notify up to 50 events within the same HTTP request payload.

What Webhooks events are supported?

We currently support the following events:


  • message:in:new – New incoming message
  • message:out:new – Message was delivered successfully
  • message:out:sent – Message was delivered successfully
  • message:out:ack – Message delivery/read confirmation
  • message:out:retry – Message delivery failed and will be retried
  • message:out:failed – Message delivery failed
  • message:out:expired – Message delivery date expired
  • message:out:removed – Message was removed before processing
  • device:status:update – Device status changed


What happens if my webhook endpoint is failing or not accepting events?

Nothing bad. We will retry it for a while.

We treat as failed notification any network originated error (timeout, DNS error, connection reset…) and HTTP response status higher or equal to 400.

Only after several failures in a row, we will deactivate the endpoint and notify you via email.

You can later re-activate the webhooks via API or from the Web Console.

Do I must use webhooks?

Absolutely not. Using Webhooks is totally optional.

If you do not care about getting updates about the messages status, then it is totally fine to ignore them.


How can I pay?

You can pay via debit or credit card. We currently accept a wide range of brands, including Visa, Mastercard, Maestro…

Are payments secure?

Absolutely. We use Stripe for payments, one of the most solid and secure payment solution in the industry.

Also, we DO NOT store any card information because of privary and law regulations. Everything is exclusively sent and store in Stripe.

How frequently would I be charged?

We charge per device subscription plan on monthly basis, every 28-31 days.

How much can I pay?

This all depends on your how many devices you have and which plan do you need.

Total monthly cost would be the sum of the active device subscription. Each device subscription is billed individually each month.

You can also cancel or create device subscriptions arbitrarily based on your needs.

Can I upgrade or downgrade plans?

Yes. You can upgrade whenever you want. Downgrade is only available after 7 days of current plan.

Billing amount would be prorated per daily basis when a plan changes.

Can I pay more than the plan price?

Yes, only in case that you exceed the plan included limits (messages or media messages).

You can control the device consumption from the Web Console.

We recommend you to upgrade a plan if you think the limits can be exceeded recurrently. It is cheaper that way.

Do price include taxes?

Prices does not include taxes by default.

If you operate in some European Union country and do not have a registered VAT number, we would have to add on top of the given price the proper tax applicable to your home country in the invoice.

This tipically represents from 17% to 27% of additional cost due to taxes, depending on each country.

Countries outside European Union are tax free.

Can I cancel the subscription?

Yes, you can cancel the subscription at anytime.

By default, service will continue operating until the current month billing cycle ends, unless you explicitly remove the contract.

Can I get a refund?

We are sorry, our service terms does not include refunds.

We exclusively refund in case of billing error or duplicated charges.