> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cakto.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Vender em dólar pela API

> Crie um produto em dólar, pegue o link do checkout internacional e monte ofertas e order bumps na mesma moeda.

Vender em dólar é criar o produto com `"currency": "USD"`. Como em qualquer produto da
Cakto, criar o produto já cria a oferta padrão, o checkout e o link de pagamento (veja
[Criar um checkout](https://docs.cakto.com.br/comece-aqui/criar-checkout.md)). A diferença é que esse checkout é o
internacional.

## Pré-requisitos

* Uma conta ativa na Cakto, com o cadastro da empresa completo (documento e endereço).
  Veja [Quem pode vender em dólar](https://docs.cakto.com.br/internacional/visao-geral.md#quem-pode-vender-em-dólar).
* Uma Chave de API com os escopos `write`, `products` e `offers`. Veja
  [Autenticação](https://docs.cakto.com.br/authentication.md).

## Passo a passo

**1. Autentique-se**

Troque suas credenciais por um token de acesso, como em
[Autenticação](https://docs.cakto.com.br/authentication.md):

```bash curl icon=terminal theme={null}
curl -X POST https://api.cakto.com.br/public_api/token/ \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id=SEU_CLIENT_ID" \
  -d "client_secret=SEU_CLIENT_SECRET"
```

**2. Crie o produto em dólar**

O mesmo `POST /public_api/products/` de sempre, com `currency` em `USD` e o preço em
dólar. O `type` é `unique`: assinatura não existe em dólar.

```bash curl icon=terminal theme={null}
curl -X POST https://api.cakto.com.br/public_api/products/ \
  -H "Authorization: Bearer SEU_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Photography Masterclass",
    "description": "Complete photography course for beginners",
    "price": 49.90,
    "currency": "USD",
    "type": "unique",
    "salesPage": "https://meusite.com/photography"
  }'
```

Você não precisa enviar `paymentMethods`. Num produto em dólar, a Cakto liga sozinha
os meios de pagamento do internacional, e o checkout mostra a cada comprador só os do
país dele.

> [!WARNING]
>
> A moeda é definida na criação e não muda depois: uma edição com outra `currency` é
> recusada. Para vender também em reais, crie um segundo produto em `BRL`.

**3. Pegue o link do checkout**

É o mesmo caminho do produto em real: o checkout padrão está em
`GET /public_api/products/{id_do_produto}/checkouts/`, e o link público segue o
formato:

```
https://pay.cakto.com.br/{id_da_oferta}
```

Abra o link para conferir: a página aparece no idioma e com os meios de pagamento do
país de onde você acessa, e você pode trocar o país no seletor do topo.

## Ofertas adicionais

Toda oferta de um produto em dólar também é em dólar, e a oferta **não herda a moeda**:
sem `currency` no corpo, ela nasce em `BRL` e é recusada. Envie `"currency": "USD"`:

```bash curl icon=terminal theme={null}
curl -X POST https://api.cakto.com.br/public_api/offers/ \
  -H "Authorization: Bearer SEU_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "product": "ID_DO_PRODUTO_EM_DOLAR",
    "name": "Early bird",
    "price": 29.90,
    "currency": "USD",
    "type": "unique"
  }'
```

Referência completa em [Criar Oferta](https://docs.cakto.com.br/api-reference/offers/create.md).

## Order bump

O order bump segue a moeda do produto principal: num produto em dólar, a oferta do bump
também precisa ser de um produto em dólar, e de pagamento único.

```bash curl icon=terminal theme={null}
curl -X POST https://api.cakto.com.br/public_api/products/{id_do_produto}/bumps/ \
  -H "Authorization: Bearer SEU_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "product": "ID_DO_PRODUTO_COMPLEMENTAR_EM_DOLAR",
    "offer": "ID_DA_OFERTA_EM_DOLAR"
  }'
```

Referência completa em [Criar Order Bump](https://docs.cakto.com.br/api-reference/order-bumps/create.md).

## Cupom

O cupom de valor fixo (`discountType: fixed`) vale na moeda da oferta: num produto em
dólar, o desconto é em dólar. O cupom percentual se aplica ao preço da oferta, qualquer
que seja a moeda.

## Recusas que você pode encontrar

Todas voltam `400`, com a mensagem no campo indicado:

| Campo | Mensagem | O que fazer |
| - | - | - |
| `currency` | `Venda em moeda estrangeira não está habilitada para esta conta.` | A conta não está apta ao internacional. Confira o cadastro da empresa no painel e fale com o suporte. |
| `currency` | `Para vender no exterior, crie o produto em dólar (USD).` | Use `USD`. O checkout internacional vende em dólar. |
| `type` | `Assinatura não está disponível para produtos internacionais.` | Crie o produto em dólar com `"type": "unique"`. |
| `price` | `O preço mínimo é $ 1.00.` | O preço em dólar começa em US\$ 1,00. |
| `currency` | `A moeda não pode ser alterada após a criação do produto.` | A moeda é fixa. Crie outro produto na moeda que você quer. |
| `currency` | `A oferta deve ter a mesma moeda do produto.` | Envie `"currency": "USD"` na oferta de um produto em dólar. |
| `offer` | `O order bump deve ter a mesma moeda do produto.` | O bump de um produto em dólar precisa de uma oferta em dólar. |

Formato completo do corpo de erro em [Erros](https://docs.cakto.com.br/conceitos/erros.md).

## Pelo CaktoMCP

Com o [CaktoMCP](https://docs.cakto.com.br/mcp/visao-geral.md) conectado, dá para pedir em português: "Cria um
produto em dólar de US\$ 49,90 chamado Photography Masterclass". A IA monta a mesma
chamada desta página e mostra o preview antes de criar.

## Próximos passos

> **[Receber e conciliar](https://docs.cakto.com.br/internacional/receber-e-conciliar.md)**
>
> Webhook, pedidos, saldo em dólar e saque

> **[Criar Produto](https://docs.cakto.com.br/api-reference/products/create.md)**
>
> Referência completa dos campos de criação de produto


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.