CLOUD PRIME API

Catálogo

Produtos

Planos de VPS disponíveis para contratação. Use o id de um plano como product_id e os addons[].resource_id ao montar o mapa addons no provisionamento. Os datacenters e templates de SO ficam em sua própria página.

Listar planos de VPS

GET /api/products/vps

Retorna os planos de VPS ativos com recursos, features, addons e promoção vigente. Não há "detalhe de produto" isolado — esta lista já traz todos os campos.

Campos da resposta (por plano)

Campo Tipo Descrição
id uuid ID do plano — use como product_id.
name string Nome do plano.
price number Preço base mensal.
billing_period string Ciclo pré-selecionado (ex.: monthly). Informativo: o que está à venda vem de billing_cycles.
billing_cycles array Ciclos em que o plano pode ser contratado. Cada item traz cycle, label, months, price, monthly_equivalent e savings.
performance_tier string standard ou high.
resources object cpu_cores, ram_gb, storage_gb, storage_type, bandwidth_tb.
addons[].resource_id uuid ID do addon — chave do mapa addons no provisionamento.
addons[].is_required bool Se obrigatório, é incluído automaticamente no provisionamento.

Exemplo de resposta

{
    "data": [
        {
            "id": "9b1deb4d-...",
            "slug": "vps-cloud-4",
            "name": "VPS Cloud 4GB",
            "short_description": "Ideal para aplicações de médio porte",
            "price": 89.9,
            "billing_period": "monthly",
            "billing_cycles": [
                {
                    "cycle": "monthly",
                    "label": "Mensal",
                    "months": 1,
                    "price": 89.9,
                    "monthly_equivalent": 89.9,
                    "savings": 0
                },
                {
                    "cycle": "annually",
                    "label": "Anual",
                    "months": 12,
                    "price": 970.92,
                    "monthly_equivalent": 80.91,
                    "savings": 107.88
                }
            ],
            "setup_fee": 0,
            "performance_tier": "standard",
            "is_featured": true,
            "resources": {
                "cpu_cores": 2,
                "ram_gb": 4,
                "storage_gb": 80,
                "storage_type": "nvme",
                "bandwidth_tb": 5
            },
            "features": [
                {
                    "description": "Backup diário incluso",
                    "is_highlighted": true
                }
            ],
            "addons": [
                {
                    "resource_id": "b2c3d4e5-...",
                    "name": "IPv4 adicional",
                    "price": 15,
                    "is_required": false,
                    "is_default": false
                }
            ],
            "promotion": null
        }
    ]
}
Ciclos de cobrança
billing_cycles é a lista fechada do que o plano vende. O cycle de cada item é exatamente o que se envia como billing_cycle no provisionamento; qualquer outro valor é recusado com 422.

Cada item traz o preço já resolvido, e é ele que deve ser exibido: price é o total do termo, monthly_equivalent é esse total dividido pelos meses (para comparar com o mensal na tela) e savings é quanto se economiza em relação a pagar mês a mês. Não recalcule multiplicando price do plano pelos meses: o desconto é definido por ciclo no catálogo e pode ser um preço fechado negociado, que não sai de nenhuma conta.

Um plano vendido só no anual simplesmente não traz monthly na lista. E um plano sem configuração de ciclos traz apenas o mensal — é o que mantém o catálogo antigo à venda.