VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/B2B: preços e pedidos programados

Atribuições de tabela de preço

Define a quem uma tabela de preço se aplica: uma empresa, um grupo de usuários ou um estado.

Uma tabela ativa só afeta quem estiver atribuído a ela. Uma atribuição liga a tabela a um alvo, e o comprador entra na tabela quando qualquer um dos alvos o alcança. Há três tipos:

target_typetarget_idAlcança quem
corporate_accountId da conta corporativa (UUID)Pertence à empresa, como usuário vinculado ou como titular.
usergroupId do grupo de usuários (UUID)Está no grupo com vínculo ativo.
stateUF com 2 letras (SP)Tem SP no endereço padrão cadastrado.

Todas as rotas exigem o módulo b2b-pricing e o privilégio manage_b2b ou manage_promotions.

Listar atribuições

GET/api/v1/admin/b2b/price-lists/{id}/assignmentsAdmin

Lista as atribuições de uma tabela

Parâmetros de caminho

iduuidobrigatório
Id da tabela.

Exemplo de requisição

bash
curl "$BASE_URL/api/v1/admin/b2b/price-lists/3f0c1a52-8d7e-4c1b-9a64-2b5e7d9c1a10/assignments" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Atribuições devolvidas
json
{
  "assignments": [
    {
      "id": "7ce8cb19-a248-4364-ae6d-3ae0c13eae92",
      "price_list_id": "3f0c1a52-8d7e-4c1b-9a64-2b5e7d9c1a10",
      "target_type": "corporate_account",
      "target_id": "5131a81e-6b1e-4d4e-9d47-78741bb3eb6c"
    },
    {
      "id": "2887fae0-3eda-4e49-b609-4c8423d2fe0e",
      "price_list_id": "3f0c1a52-8d7e-4c1b-9a64-2b5e7d9c1a10",
      "target_type": "state",
      "target_id": "SP"
    }
  ]
}

Campos da resposta

iduuid
Id da atribuição. É o que a rota de remoção recebe.
price_list_iduuid
Tabela.
target_typestring
corporate_accountusergroupstate
Tipo de alvo.
target_idstring
Id do alvo, ou UF quando state.

Erros

StatusQuandoCorpo
500Id que não é UUID{"error":"failed to list assignments","detail":"..."}

Um UUID válido que não existe devolve {"assignments":[]}.

Atribuir a um alvo

Liga a tabela a um alvo. A rota é idempotente: repetir a mesma combinação devolve a atribuição que já existe, sem duplicar.

POST/api/v1/admin/b2b/price-lists/{id}/assignmentsAdmin

Atribui uma tabela a um alvo

Parâmetros de caminho

iduuidobrigatório
Id da tabela.

Corpo da requisição

target_typestringobrigatório
corporate_accountusergroupstate
Tipo de alvo.
target_idstringobrigatório
Id do alvo. Para state, a UF (sp vira SP). Para corporate_account, o id da conta corporativa ou o id de um usuário que pertença a ela (a plataforma troca pelo id da conta).

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/admin/b2b/price-lists/3f0c1a52-8d7e-4c1b-9a64-2b5e7d9c1a10/assignments" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "target_type": "state", "target_id": "SP" }'

Resposta

201Atribuição criada
json
{
  "id": "2887fae0-3eda-4e49-b609-4c8423d2fe0e",
  "price_list_id": "3f0c1a52-8d7e-4c1b-9a64-2b5e7d9c1a10",
  "target_type": "state",
  "target_id": "SP"
}

Erros

StatusQuandoCorpo
400JSON inválido{"error":"invalid request body","detail":"..."}
400target_type fora da lista{"error":"failed to add assignment","detail":"invalid target_type \"x\""}
400target_id vazio{"error":"failed to add assignment","detail":"target_id is required"}
400Tabela inexistente ou id inválido{"error":"failed to add assignment","detail":"add assignment: ..."}
O alvo não é conferido

A plataforma não verifica se o grupo ou a conta existem: um target_id errado é gravado sem erro e a tabela simplesmente nunca vale para ninguém. Confira o id no cadastro de grupos ou de empresas e valide com a prévia de preço.

Remover uma atribuição

DELETE/api/v1/admin/b2b/price-lists/{id}/assignments/{assignmentId}Admin

Remove uma atribuição

Parâmetros de caminho

iduuidobrigatório
Id da tabela.
assignmentIduuidobrigatório
Id da atribuição, como devolvido na listagem.

Exemplo de requisição

bash
curl -X DELETE "$BASE_URL/api/v1/admin/b2b/price-lists/3f0c1a52-8d7e-4c1b-9a64-2b5e7d9c1a10/assignments/2887fae0-3eda-4e49-b609-4c8423d2fe0e" \
  -H "Authorization: Bearer $TOKEN"

Resposta

200Atribuição removida
json
{ "removed": true }

Erros

StatusQuandoCorpo
404Atribuição não existe nesta tabela (ou id mal formado){"error":"failed to remove assignment","detail":"assignment not found"}

Veja também

  • Tabelas de preço
  • Ativar, arquivar e duplicar
  • Simulador e reajuste
Anterior
Itens da tabela de preço
Próxima
Simulador, reajuste e prévia de preço
Nesta página
  • Listar atribuições
  • Exemplo de requisição
  • Resposta
  • Erros
  • Atribuir a um alvo
  • Exemplo de requisição
  • Resposta
  • Erros
  • Remover uma atribuição
  • Exemplo de requisição
  • Resposta
  • Erros
  • Veja também