Skip to content

👤 Cliente do Grupo de Pedido

📋 Visão Geral

O módulo de Cliente do Grupo de Pedido permite atualizar os dados cadastrais do cliente registrados no momento da compra, sem alterar o cadastro global do cliente na plataforma.

Útil para corrigir erros de digitação, complementar campos ausentes ou ajustar informações preenchidas incorretamente durante o checkout — como nome, e-mail, telefone, documento ou data de nascimento.

🔄 Entidades Envolvidas

Os dados do cliente do pedido (OrderCustomer) representam um snapshot dos dados cadastrais no momento da compra. Esse registro é independente do cadastro global do cliente — alterações aqui afetam apenas o pedido em questão.

Cada atualização gera automaticamente uma entrada no histórico do grupo de pedido (OrderGroupHistory), registrando os valores anteriores e os novos para fins de rastreabilidade e auditoria.

Os dados armazenados cobrem identificação (nome, gênero, data de nascimento), contato (e-mail e telefone), documentos (CPF/CNPJ e RG/Inscrição Estadual) e tipo de pessoa (física ou jurídica via customerIsCorporate).

📌 Notas e Considerações

  • As alterações são restritas ao pedido — o cadastro global do cliente na plataforma não é modificado.
  • A atualização é parcial — apenas os campos informados na requisição são sobrescritos; os demais permanecem inalterados.
  • O campo customerTradeName é obrigatório para pessoa jurídica (customerIsCorporate: true) e proibido para pessoa física.
  • Os dados atuais do cliente podem ser consultados no endpoint de detalhe do grupo (GET /orders/groups/{orderGroupId}) incluindo customer na seleção de campos.

👤 Atualização do Cliente do Grupo de Pedido

PUT /orders/groups/{orderGroupId}/customer

Atualiza os dados do cliente vinculado a um grupo de pedido

📋 Descrição

Endpoint responsável por atualizar os dados cadastrais do cliente vinculados a um grupo de pedido, permitindo corrigir ou complementar as informações registradas no momento da compra.

As alterações são restritas ao pedido — o cadastro global do cliente na plataforma não é afetado. A atualização é parcial: apenas os campos informados na requisição são sobrescritos; os demais permanecem com seus valores anteriores.

A cada atualização, o sistema registra automaticamente um histórico no grupo de pedido com os valores anteriores e os novos, garantindo rastreabilidade completa das alterações.

Para consultar os dados atuais do cliente, utilize o endpoint de detalhe do grupo com fields: ["customer"]:

1curl --request GET \
2 --url '{{MAIN_URL}}/orders/groups/3710' \
3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \
4 --header 'Content-Type: application/json' \
5 --data '{"fields": ["customer"]}'

Exemplo de retorno do cliente:

1{
2 "customer": {
3 "orderGroupId": 3710,
4 "customerId": 3533,
5 "customerNameCorporateName": "Teste Uappi",
6 "customerTradeName": "",
7 "customerEmail": "teste@uappi.com.br",
8 "customerDocument": "33082748090",
9 "customerDocument2": "",
10 "customerPhone": "+5599999999999",
11 "customerIsCorporate": false,
12 "customerGender": "undefined",
13 "customerBirthdate": "2000-01-01"
14 }
15}

🔐 Permissão

  • UserAuth — autenticação do usuário administrativo
  • ORDER_WRITE — escopo de permissão para operações de escrita em pedidos

📝 Parâmetros

🏷️ Headers Obrigatórios

HeaderValorDescrição
AuthorizationBearer {token}Token de autenticação do usuário
Content-Typeapplication/jsonTipo do conteúdo

🔗 Parâmetros de URL

ParâmetroTipoObrigatórioDescrição
orderGroupIdinteger✅ SimID do grupo de pedido

📦 Parâmetros do Corpo

CampoTipoObrigatórioDescrição
customerPhonestring✅ SimTelefone do cliente
customerNameCorporateNamestring❌ NãoNome completo (pessoa física) ou razão social (pessoa jurídica)
customerTradeNamestring❌ NãoNome fantasia — obrigatório para PJ quando customerIsCorporate: true; proibido para PF
customerEmailstring❌ NãoE-mail do cliente
customerDocumentstring❌ NãoCPF (pessoa física) ou CNPJ (pessoa jurídica)
customerDocument2string❌ NãoRG (pessoa física) ou Inscrição Estadual (pessoa jurídica)
customerIsCorporateboolean❌ Nãotrue para pessoa jurídica, false para pessoa física
customerGenderstring❌ NãoGênero — male, female ou undefined
customerBirthdatestring❌ NãoData de nascimento — formato YYYY-MM-DD
1{
2 "customerNameCorporateName": "João Silva",
3 "customerEmail": "joao.silva@email.com",
4 "customerPhone": "+5511999999999",
5 "customerDocument": "123.456.789-00",
6 "customerDocument2": "12.345.678-9",
7 "customerIsCorporate": false,
8 "customerGender": "male",
9 "customerBirthdate": "1990-05-20"
10}

💡 Exemplo de Requisição

1curl --request PUT \
2 --url '{{MAIN_URL}}/orders/groups/3710/customer' \
3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \
4 --header 'Content-Type: application/json' \
5 --data '{
6 "customerNameCorporateName": "João Silva",
7 "customerEmail": "joao.silva@email.com",
8 "customerPhone": "+5511999999999",
9 "customerIsCorporate": false,
10 "customerGender": "male"
11 }'

✅ Resposta de Sucesso

HTTP Status: 200 OK

1{
2 "status": true,
3 "data": {
4 "orderGroupId": 3710,
5 "customerId": 3533,
6 "customerNameCorporateName": "João Silva",
7 "customerTradeName": null,
8 "customerEmail": "joao.silva@email.com",
9 "customerDocument": "123.456.789-00",
10 "customerDocument2": "12.345.678-9",
11 "customerPhone": "+5511999999999",
12 "customerIsCorporate": false,
13 "customerGender": "male",
14 "customerBirthdate": "1990-05-20"
15 }
16}

Campos da Resposta

CampoTipoNullableDescrição
orderGroupIdintegerNãoID do grupo de pedido
customerIdintegerSimID do cliente na plataforma; null quando não há cadastro vinculado
customerNameCorporateNamestringNãoNome completo (pessoa física) ou razão social (pessoa jurídica)
customerTradeNamestringSimNome fantasia; presente apenas para pessoa jurídica (customerIsCorporate: true)
customerEmailstringNãoE-mail do cliente
customerDocumentstringNãoCPF (pessoa física) ou CNPJ (pessoa jurídica)
customerDocument2stringNãoRG (pessoa física) ou Inscrição Estadual (pessoa jurídica)
customerPhonestringNãoTelefone do cliente
customerIsCorporatebooleanNãotrue para pessoa jurídica; false para pessoa física
customerGenderstringNãoGênero do cliente — male, female ou undefined
customerBirthdatestringNãoData de nascimento no formato YYYY-MM-DD

⚠️ Possíveis Erros

> Os cenários abaixo representam os principais erros que podem ocorrer neste endpoint, servindo como referência para entendimento e tratamento das falhas.

Código do ErroHTTPDescrição
UAPPI_STORE_ORDER_GROUP_NOT_FOUND404Grupo de pedido não encontrado com o ID informado
UAPPI_STORE_CUSTOMER_REQUIRED_TRADE_NAME422Nome fantasia obrigatório para pessoa jurídica
UAPPI_STORE_CUSTOMER_MISSING_TRADE_NAME422Nome fantasia não permitido para pessoa física
UAPPI_STORE_CUSTOMER_INVALID_GENDER422Gênero inválido — use male, female ou undefined
UAPPI_STORE_CUSTOMER_INVALID_BIRTHDATE422Data de nascimento em formato inválido — use YYYY-MM-DD

Uappi é a melhor opção para o crescimento da sua loja!

;