Funções
Código que roda onde seus números estão
As Funções rodam o seu TypeScript ou JavaScript no servidor da Polymorfa que guarda os seus números e mensagens hospedadas. Sem ida e volta até um servidor seu, e os dados das mensagens ficam onde estão.
- Tempo de execução padrão, até 30 s
- 10 s
- Memória em cada execução
- 256 MB
- Invocações por mês em um número Pro
- 1.000.000
- Corpos de requisição ou resposta guardados
- 0
Ao lado dos seus números
Sem ida e volta até o seu servidor
Uma etapa de fluxo encaminhada para o seu servidor atravessa a internet e espera a resposta. Uma função responde do servidor que já guarda o número e as mensagens hospedadas dele.
Fluxos do WhatsApp
Endpoints de fluxo, chaves incluídas
O WhatsApp criptografa cada troca de dados de um fluxo. A Polymorfa guarda a chave do número, descriptografa cada requisição e nunca armazena o conteúdo.
- Execute uma função com o JSON da requisição
- Ou encaminhe para a sua URL HTTPS, assinada
- Ou traga a sua própria chave, e a Polymorfa nunca descriptografa
Isolamento
Um sandbox novo a cada execução
Cada invocação inicia um sandbox novo, sem rede própria. As requisições de saída passam por um broker que só permite as origens HTTPS que você listar.
Deploy
Faça o deploy, teste e depois promova
Os deploys são imutáveis e fixam as versões dos segredos. Teste um e depois promova; chamadas fixadas em um deploy mais antigo continuam usando esse deploy.
No seu código
Uma etapa de fluxo em vinte linhas
Escreva o handler, faça o deploy com os segredos e as origens permitidas e depois promova. O SDK e a CLI cobrem as mesmas operações do Console.
import { defineFunction } from "@polymorfa/functions";
export default defineFunction({
async handler(request, event, ctx) {
if (ctx.trigger.kind !== "flow") {
return new Response("Not found", { status: 404 });
}
// The Flow data exchange, already decrypted.
const { data } = await request.json();
const res = await fetch(`https://api.acme.com/tables?date=${data.date}`, {
headers: { authorization: `Bearer ${ctx.env.ACME_API_KEY}` },
signal: ctx.signal,
});
const { times } = await res.json();
return Response.json({ screen: "PICK_TIME", data: { times } });
},
});Planos e limites
Invocações incluídas em todo número
As franquias renovam todo mês. Acima delas, as invocações custam 100 créditos por milhão.
| Número | Invocações por mês |
|---|---|
| Free | 1.000 |
| Standard | 250.000 |
| Pro | 1.000.000 |
| Limite | Valor |
|---|---|
| Tempo de execução | 10 s por padrão, no máximo 30 s |
| Tamanho da resposta | 1 MiB |
| Memória | 256 MB |
| Requisições de saída | 10 por execução |
| Código-fonte | 256 KiB |
| Origens permitidas | 32 por deploy |
Superfície da API
A API de Funções
Gerencie Funções, deploys, segredos e invocações pela Platform API. Os endpoints e as chaves de fluxo ficam ao lado.
Funções
- POST
/Cria uma Funçãoplatform/ functions - POST
/Faz o build de um deploy imutávelplatform/ functions/ {functionId}/ deployments - PUT
/Promove um deployplatform/ functions/ {functionId}/ promotion - POST
/Adiciona uma versão de segredoplatform/ functions/ {functionId}/ secrets - POST
/Executa com uma chave de idempotênciaplatform/ functions/ {functionId}/ invocations - GET
/Lê os recibosplatform/ functions/ {functionId}/ invocations
Fluxos do WhatsApp
- PUT
/Executa uma função, encaminha ou vai diretoplatform/ flows/ {flowId}/ endpoint - GET
/Recibos do endpoint de dadosplatform/ flows/ {flowId}/ endpoint/ receipts - GET
/A custódia da chave de fluxo de um númeroplatform/ flow-encryption-keys - POST
/Faz a rotação da chave gerenciadaplatform/ flow-encryption-keys/ rotate
Comece com um número grátis
Seu primeiro número real é grátis. Adicione mais números no Pay-As-You-Go.