Envie visitantes iOS e Android para a loja de apps certa
Um link ou QR Code que abre a App Store no iPhone, o Google Play no Android e o seu site nos demais dispositivos — configurado no construtor de links, na API ou no MCP.

Ao final deste guia você terá um link curto (e, se quiser, um QR Code) que abre a App Store no iPhone e no iPad, o Google Play no Android e o seu site em qualquer outro dispositivo — uma única URL para imprimir, publicar e medir.
Disponibilidade
- Plano: Business ou superior (preços).
- Onde: construtor de links → Regras inteligentes. Mesma seção no editor de QR Code para QR Codes dinâmicos do tipo URL.
Antes de começar
- A URL do app na App Store, no formato
https://apps.apple.com/…/id<número>(ID numérico do app, por exemplohttps://apps.apple.com/br/app/example-app/id1234567890). - A URL do app no Google Play, no formato
https://play.google.com/store/apps/details?id=<pacote>(por exemplohttps://play.google.com/store/apps/details?id=com.example.app). - Uma página web para todos os outros (desktop, dispositivos desconhecidos, prévias de link). Ela vira a URL de destino do link.
- Não use URLs
itms-apps://nemmarket://— os navegadores móveis bloqueiam esses esquemas em um redirecionamento web.
Passos
- Abra Links e clique em Adicionar Link. Para alterar um link existente, abra o menu ⋮ e escolha Editar.
- Em URL de destino, informe a página web para quem não está no iOS nem no Android, por exemplo
https://example.com/app. - Ative Regras inteligentes.
- Na primeira regra, mantenha Dispositivo, mantenha é e selecione iOS.
- Na URL de destino dessa regra, cole a URL da App Store.
- Clique em Adicionar regra.
- Na nova regra, mantenha Dispositivo, mantenha é e selecione Android.
- Na URL de destino dessa regra, cole a URL do Google Play.
- Clique em Criar link (ou Salvar link, ao editar).

Para um QR Code: abra QR Codes → Criar QR Code, escolha Dinâmico, mantenha o tipo URL, informe a página web como URL de destino, repita os passos 3–8 na seção Regras inteligentes do editor e salve.
O mesmo pela API
POST https://api.codeqr.io/links com o array rules. domain precisa ser um domínio do seu workspace; omita key para receber uma chave aleatória. A autenticação é um token Bearer criado em Configurações → Chaves de API.
Requisição:
curl -X POST https://api.codeqr.io/links \
-H "Authorization: Bearer codeqr_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/app",
"domain": "go.example.com",
"key": "baixe-o-app",
"rules": [
{ "attribute": "device", "operator": "equals", "value": "iOS",
"url": "https://apps.apple.com/br/app/example-app/id1234567890" },
{ "attribute": "device", "operator": "equals", "value": "Android",
"url": "https://play.google.com/store/apps/details?id=com.example.app" }
]
}'Resposta (200 OK; o objeto do link devolve rules):
{
"id": "cmswk759f0001j41i0vj1vmfq",
"domain": "go.example.com",
"key": "baixe-o-app",
"url": "https://example.com/app",
"archived": false,
"expiresAt": null,
"expiredUrl": null,
"password": null,
"externalId": null,
"trackConversion": false,
"proxy": false,
"title": null,
"description": null,
"image": null,
"video": null,
"utm_source": null,
"utm_medium": null,
"utm_campaign": null,
"utm_term": null,
"utm_content": null,
"rewrite": false,
"doIndex": false,
"banned": false,
"flexible": false,
"filled": false,
"ios": null,
"android": null,
"geo": null,
"rules": [
{
"url": "https://apps.apple.com/br/app/example-app/id1234567890",
"value": "iOS",
"operator": "equals",
"attribute": "device"
},
{
"url": "https://play.google.com/store/apps/details?id=com.example.app",
"value": "Android",
"operator": "equals",
"attribute": "device"
}
],
"userId": "cm73yc6m70002mtesulffnrgb",
"folderId": null,
"projectId": "cm73y7wm100008j24i1b137wr",
"preRedirection": false,
"pageId": null,
"pageUrl": null,
"isFormMandatory": false,
"publicStats": false,
"clicks": 0,
"lastClicked": null,
"leads": 0,
"sales": 0,
"saleAmount": 0,
"createdAt": "2026-08-17T01:32:38.884Z",
"updatedAt": "2026-08-17T01:32:38.884Z",
"tagId": null,
"comments": null,
"notificationToken": null,
"useAsTemplate": false,
"tags": [],
"shortLink": "https://go.example.com/baixe-o-app",
"qrCode": "https://api.codeqr.io/qr?url=https://go.example.com/baixe-o-app?qr=1"
}Para acrescentar as regras a um link existente, envie o mesmo array rules com PUT https://api.codeqr.io/links/{linkId}. Para um QR Code dinâmico, use POST https://api.codeqr.io/qrcodes com "type": "url", "static": false e o mesmo array rules. Os valores são comparados sem diferenciar maiúsculas, mas o que a CodeQR lê é exatamente iOS e Android; mobile não combina com nada.
O mesmo pelo MCP
Conecte seu cliente de IA a https://mcp.codeqr.io/mcp (OAuth 2.0). Peça, por exemplo:
Crie um link curto para https://example.com/app em go.example.com com a chave baixe-o-app. Adicione regras: dispositivo iOS vai para https://apps.apple.com/br/app/example-app/id1234567890, dispositivo Android vai para https://play.google.com/store/apps/details?id=com.example.app.
O agente chama create_link com:
{
"url": "https://example.com/app",
"domain": "go.example.com",
"key": "baixe-o-app",
"rules": [
{ "attribute": "device", "operator": "equals", "value": "iOS",
"url": "https://apps.apple.com/br/app/example-app/id1234567890" },
{ "attribute": "device", "operator": "equals", "value": "Android",
"url": "https://play.google.com/store/apps/details?id=com.example.app" }
]
}e recebe o link criado, com rules. Use update_link com linkId e o mesmo array rules para alterar um link existente. As tools create_qrcode e update_qrcode do MCP não aceitam rules; crie o QR Code pela API ou pelo app.
O mesmo por automações
Make, Zapier e Pluga não têm um campo "regras" nos módulos da CodeQR. No Make, use o módulo Make an API Call da CodeQR com método POST, URL /links e o corpo JSON acima. No Zapier e na Pluga, chame a API por um passo de código ou webhook com o mesmo corpo. Todo payload dos webhooks link.created e link.updated traz as rules do link, então automações a jusante conseguem lê-las.
Como verificar
- Escaneie o QR Code ou abra o link curto num iPhone: a página da App Store abre.
- Abra num Android: o Google Play abre.
- Abra num notebook: a sua página web abre.
Sem aparelhos à mão, confira o redirecionamento no terminal — o cabeçalho location mostra o destino para cada user agent:
curl -sI -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 Version/17.5 Mobile/15E148 Safari/604.1" \ https://go.example.com/baixe-o-app | grep -i location # location: https://apps.apple.com/br/app/example-app/id1234567890 curl -sI -A "Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 Chrome/126.0.0.0 Mobile Safari/537.36" \ https://go.example.com/baixe-o-app | grep -i location # location: https://play.google.com/store/apps/details?id=com.example.app curl -sI https://go.example.com/baixe-o-app | grep -i location # location: https://example.com/app
Depois de alguns cliques, abra Análise para o link: o card URLs lista os cliques por destino (App Store, Google Play, sua página).

Solução de problemas
Quem usa iPad cai na página web em vez da App Store
O Safari no iPadOS se identifica como Mac por padrão, então a CodeQR vê o sistema operacional como macOS, não iOS. Adicione uma regra Dispositivo é macOS apontando para a App Store apenas se visitantes de Mac também estiverem bem nessa página; caso contrário, mantenha o iPad na página web e ofereça ali um botão para a App Store. Veja as notas sobre dispositivos em Como as Regras inteligentes escolhem o destino.
A loja abre, mas o app já instalado não
Links que abrem o app (Universal Links no iOS, App Links no Android) exigem que a pessoa toque diretamente no domínio do próprio app; Apple e Google não os honram atrás de um redirecionamento. URLs de loja funcionam pelo redirecionamento; links de "abrir o app" não. Mantenha as URLs das lojas nas regras e deixe a loja entregar ao app.
No Android abre uma página do navegador em vez do Google Play
A regra aponta para uma URL market://. Troque por https://play.google.com/store/apps/details?id=<pacote>. O mesmo vale para itms-apps:// no iOS: use https://apps.apple.com/….
Visitantes de desktop veem uma página de loja
A URL de destino do link é o destino de quem não combina com nenhuma regra. Aponte-a para a sua página web, não para uma loja.
A prévia do link no WhatsApp ou no Slack mostra o meu site, não a loja
Os robôs de prévia não são celulares, então nenhuma regra de Dispositivo combina com eles e eles recebem a URL de destino. Quem toca no link continua indo para a sua loja.
A API devolve 403 "Smart rules are available on the Business plan and above"
O workspace está no plano Free, Starter ou Pro. Faça upgrade ou envie a requisição sem rules.