Propostas
O orçamento antes da assinatura: publicar, enviar, gerar PDF e aceitar. Aceitar é o que converte a proposta em assinatura — e undo-accept desfaz.
| Comando | HTTP | Descrição |
|---|---|---|
proposals list | GET /v1/proposals | Listar propostas |
proposals create | POST /v1/proposals | Criar proposta |
proposals get | GET /v1/proposals/{id} | Obter proposta |
proposals update | PATCH /v1/proposals/{id} | Atualizar proposta |
proposals delete | DELETE /v1/proposals/{id} | Excluir proposta |
proposals accept | POST /v1/proposals/{id}/accept | Aceitar proposta |
proposals cancel | POST /v1/proposals/{id}/cancel | Cancelar proposta |
proposals duplicate | POST /v1/proposals/{id}/duplicate | Duplicar proposta |
proposals generate-pdf | POST /v1/proposals/{id}/generate-pdf | Gerar PDF da proposta |
proposals json | GET /v1/proposals/{id}/json | Obter snapshot JSON da proposta |
proposals pricing | GET /v1/proposals/{id}/pricing | Obter cálculo de preço da proposta |
proposals publish | POST /v1/proposals/{id}/publish | Publicar proposta |
proposals send | POST /v1/proposals/{id}/send | Enviar proposta por e-mail |
proposals undo-accept | POST /v1/proposals/{id}/undo-accept | Desfazer aceite da proposta |
proposals unpublish | POST /v1/proposals/{id}/unpublish | Despublicar proposta |
proposals bulk-cancel create | POST /v1/proposals/bulk-cancel | Cancelar propostas em lote |
proposals bulk-delete create | POST /v1/proposals/bulk-delete | Excluir propostas em lote |
proposals bulk-send create | POST /v1/proposals/bulk-send | Enviar propostas em lote |
proposals items get | GET /v1/proposals/{id}/items | Listar itens da proposta |
proposals items create | POST /v1/proposals/{id}/items | Adicionar item à proposta |
proposals items update | PATCH /v1/proposals/{id}/items/{itemId} | Atualizar item da proposta |
proposals items delete | DELETE /v1/proposals/{id}/items/{itemId} | Excluir item da proposta |
proposals stats list | GET /v1/proposals/stats | Obter estatísticas de propostas |
Exemplos
--params carrega parâmetros de query e de caminho (id, página, filtros); --json carrega o corpo da requisição; --fields limita os campos que voltam — vale a pena em todo list/get, para economizar contexto. Veja Flags globais para a referência completa.
# Listar propostas
kobana billing proposals list \
--fields "id,public_id,external_id,company_id,code"
# Obter proposta
kobana billing proposals get --params '{"id": "PROPOSAL_ID"}'
# Criar proposta
kobana billing proposals create \
--json '{"company_id": "COMPANY_ID", "title": "TITLE", "description": "DESCRIPTION"}'
# Atualizar proposta
kobana billing proposals update \
--params '{"id": "PROPOSAL_ID"}' \
--json '{"company_id": "COMPANY_ID", "title": "TITLE", "description": "DESCRIPTION"}'
# Aceitar proposta
kobana billing proposals accept \
--params '{"id": "PROPOSAL_ID"}' \
--json '{"cycle": "monthly"}'
# Excluir proposta
kobana billing proposals delete --params '{"id": "PROPOSAL_ID"}' --dry-run
Próximos passos
- Modelos de proposta
- Introspecção de schema — todos os parâmetros que este recurso aceita.