# Da sandbox para a empresa real

Como o que você construiu na sua empresa de teste passa a falar com uma empresa que já usa a Kernos.

## O vínculo é a chave

A sua conta no portal enxerga a **sandbox**, que é sua. Uma empresa que já usa a Kernos é de quem a gere, e há dois vínculos entre vocês, que se somam: a chave `ksk_live_`, que a dona cria e entrega a você para **escrever** na empresa, e o **convite**, com o qual a dona deixa o seu e-mail **ler** o que a integração faz.

Com o convite, a empresa aparece em **Console › Suas empresas**: números das últimas 24 horas, o servidor do webhook, as entregas, os eventos (só o tipo e o horário, a menos que a dona libere o conteúdo) e os pedidos à API sem o corpo da resposta. É só leitura. Para entrar no portal por convite não precisa estar na lista de testes.

## O que a dona da empresa faz

1. Abre o app em **Menu › Integrações › API da Kernos** e escolhe **Criar chave de produção**.
2. Marca só as ações de que a integração precisa (a chave nunca pode mais do que quem a cria), escolhe os CDs, se quiser limitar, e dá uma validade.
3. Copia a chave na hora, porque ela aparece **uma vez**, e entrega por um canal seguro. Quem perder a chave pede uma nova; a antiga se revoga.

## O que a dona faz para convidar

No mesmo lugar, em **Menu › Integrações › API da Kernos**, a seção **Programadores** tem o botão **Convidar programador**: o e-mail da pessoa, a validade (7, 30 ou 90 dias) e, se quiser, o conteúdo dos eventos. A Kernos não manda e-mail: ela passa a você o endereço do portal. Revogar o convite não cancela a chave que ela já entregou; a tela pergunta se quer revogá-la junto.

## O que você muda no seu código

Só a chave. O prefixo escolhe o ambiente: com SDK ou CLI nada mais muda; com `curl`, o endereço passa de `https://stag.kernos.com.br` para `https://api.kernos.com.br`. O contrato, os campos, os erros e a versão (`2026-10-03`) são os mesmos.

## O que é diferente em produção

|  | Sandbox (`ksk_test_`) | Empresa real (`ksk_live_`) |
| --- | --- | --- |
| Dados | De exemplo, só seus | Reais: um erro vira estoque ou pedido de verdade |
| Registro de pedidos | Guarda o corpo da resposta | Guarda só rota, status, código e duração |
| Limite | 10 pedidos por segundo | 25 pedidos por segundo |
| Console do portal | Mostra tudo | Não mostra; use `kernos logs` e `kernos events` com a chave de produção |
| Posições e produtos | Os de exemplo (`TREINO-01`, 12 produtos) | Os da empresa: leia antes de escrever |

## Antes de ligar

- Comece por uma rota de **leitura** (`GET /v1/objects/product`) para conferir a chave e o alcance.
- Mande `Idempotency-Key` em toda escrita: uma nova tentativa não duplica o pedido.
- Confira cada `error_code` que a sua integração pode receber, na página de [erros](/erros.md). Recusa de produção é dado real do cliente: trate, não ignore.
- Se a chave vazar, a dona revoga na mesma tela e cria outra.
