Consultar propostas
Lê as propostas de preço de um cliente, ou uma proposta específica, na API legada.
Use esta rota para acompanhar as propostas de negociação de um cliente B2B e o andamento de cada uma.
Consultar propostas
Devolve as propostas de preço de um cliente, ou uma proposta específica quando common_id é informado.
/api/v1.0/make_an_offerAdminConsultar propostas de preço
Autenticação: HTTP Basic com e-mail:chave_de_api de um administrador, ou Authorization: Bearer <JWT>.
Parâmetros de consulta
user_idstringobrigatórioId do cliente (UUID). Obrigatório.
common_idintegerNúmero de uma proposta. Com ele, a resposta traz só essa proposta, no formato
offers.pageintegerpadrão: 1Página, a partir de 1 (só sem
common_id).items_per_pageintegerpadrão: 10Itens por página, de 1 a 250. Fora desse intervalo vale 10 (só sem
common_id).Exemplo de requisição
bash
curl -u "$EMAIL:$API_KEY" \
"$BASE_URL/api/v1.0/make_an_offer?user_id=5b0c3a8e-6d3f-4c55-9a1e-2f7d8b4c1a90"Resposta
200Propostas do cliente
json
{
"offers_groups": [
{
"offer_id": 42,
"common_id": 42,
"user_id": "5b0c3a8e-6d3f-4c55-9a1e-2f7d8b4c1a90",
"status": "pending",
"products": [
{
"product_id": "48e87591-5fb1-40da-b32e-edec3a8c596d",
"qty": 10,
"price": "39.90"
}
],
"created_at": 1791752065
}
],
"params": {
"page": 1,
"items_per_page": 10,
"total_items": 1
}
}200Uma proposta (com `common_id`)
json
{
"offers": [
{
"offer_id": 42,
"common_id": 42,
"user_id": "5b0c3a8e-6d3f-4c55-9a1e-2f7d8b4c1a90",
"status": "pending",
"products": [
{
"product_id": "48e87591-5fb1-40da-b32e-edec3a8c596d",
"qty": 10,
"price": "39.90"
}
],
"created_at": 1791752065
}
]
}Campos da resposta
offers_groups[].offer_idintegerNúmero da proposta.
offers_groups[].common_idintegerMesmo valor de
offer_id. É o identificador que você passa em common_id para consultar a proposta.offers_groups[].user_idstringId do cliente (UUID) que fez a proposta.
offers_groups[].statusstringpendingquotedacceptedrejectedexpiredconvertedSituação da proposta:
pending, quoted, accepted, rejected, expired ou converted.offers_groups[].productsarrayItens da proposta. Cada item tem
product_id, qty e, quando o cliente pediu um preço, price em string decimal.offers_groups[].created_atintegerCriação, Unix timestamp em segundos.
paramsobjectPaginação:
page, items_per_page, total_items. Só na resposta sem common_id.offersarrayCom
common_id, lista de um item com os mesmos campos acima.Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | common_id que não é número | {"message":"invalid common_id","status":400} |
| 401 | Sem credenciais ou chave inválida | {"message":"Authentication required. Use HTTP Basic with email:api_key or Bearer <jwt>.","status":401} |
| 403 | O usuário não é administrador | {"message":"Forbidden: admin scope required","status":403} |
| 404 | user_id ausente, ou proposta não encontrada | {"message":"user_id is required","status":404} / {"message":"offer not found","status":404} |
| 500 | user_id que não é UUID, ou falha ao consultar | {"message":"count quotes: ...","status":500} |