Whaleal Cart help center
Setup walkthrough, templates, plans, troubleshooting and the usual questions — all in one page.
Open the Cart help center →Task-level answers: what to configure, in what order, and which failures are silent. For the reasoning behind how the platform behaves, the guides go a level deeper.
Installing the Shopify app, editing recovery emails, tuning send timing, and fixing a recovery that did not fire.
Setup walkthrough, templates, plans, troubleshooting and the usual questions — all in one page.
Open the Cart help center →Enter your store domain to start the Shopify install flow.
Go to the install page →From an empty account to a message that actually left the building — and a plan that fits.
Connect a provider, issue a key, send your first message — and meet the two defaults that quietly cost money if you miss them.
Read this article →What each tier includes, how a "channel" is counted, and why your SMS fees never appear on our invoice.
Read this article →You keep your own provider account. This is what that means in practice, and how to route across several.
Bring-your-own-account keeps the agreement, the sender reputation and the invoice with your CPaaS provider. Here is how to connect one, and what changes once you do.
Read this article →Most senders never specify a from address, and that is usually correct. Here is when to override it.
Read this article →Bind a key to more than one provider and the platform becomes the routing layer — balancing load when all is well, failing over when it is not.
Read this article →The built-in check only validates the fields you typed. Here is the test that actually proves a connection works.
Read this article →Programmatic sending, keys, statuses, receipts, rate limits and the message log.
A key proves which tenant is calling and which channels it may use. It is shown in full once, and a key with no binding cannot send at all.
Read this article →One endpoint accepts asynchronously. A success code means the platform took the message — not that a handset received it.
Read this article →Four states, and one of them does not belong in the same bucket as the others. Reading suppressed as a failure sends you looking in the wrong place.
Read this article →The platform POSTs to a URL you configure, with a token you generate. Two implementation details decide whether you lose events.
Read this article →There are two counters, they are not the same number, and only one of them looks like a bill.
Read this article →The log answers "what happened to this one message" — without storing anyone's content.
Read this article →Replace a key in four steps so there is never a moment when nothing can send — and know what to do first if the key leaked.
Read this article →Lists, batches and scheduled sends — with pacing that protects your provider limits.
Send to a list once, or at a future time, with per-batch pacing that protects your provider limits.
Read this article →Keep the people you message in one place, import them in bulk, and group them without duplicating anyone.
Read this article →Segments × destinations × sender type is the whole formula. Here is how to work it out before the invoice arrives.
Read this article →What happens after a recipient replies STOP, and what the platform stores about your messages.
STOP, HELP and START are three different branches. Configuring only the receipt endpoint is the mistake that makes the whole chain fail silently.
Read this article →The platform keeps metadata about your messages, not their content. Here is exactly what that means for your own records.
Read this article →What the platform holds about a message, what it deliberately does not, and where the data subject relationship actually sits.
Read this article →Diagnosing the cases where everything returns success and the message still does not arrive.
Every call returns success. Work through this in order — the first four checks do not involve the carrier at all.
Read this article →A failed status always carries a reason. The first question is which layer wrote it — the platform or the provider.
Read this article →Almost always this is a client-side timeout followed by a resend. Here is how to confirm it, and how to stop it happening.
Read this article →Telling an account-level failure apart from a bad route, and what failover can and cannot absorb for you.
Read this article →If a message was accepted and you cannot tell where it went, start with the troubleshooting article — it rules out whole layers before you contact the carrier.