📥 Importação de Grupos de Pedido
📋 Visão Geral
O módulo de Importação de Grupos de Pedido permite criar grupos de pedido em massa por meio de um arquivo CSV.
Cada linha do CSV representa um item de pedido. Linhas com o mesmo Order group code são agrupadas em um único grupo — quando os itens pertencerem a armazéns diferentes, são criadas remessas separadas dentro do mesmo grupo.
O limite máximo é de 2.500 linhas e 4 MB por arquivo.
🔄 Entidades Envolvidas
Cada importação cria um ou mais Grupos de Pedido (OrderGroup), cada um podendo conter múltiplas Remessas (Order) com seus respectivos Itens (OrderItem).
O Cliente (Customer) e seus Endereços de entrega e cobrança são criados ou vinculados automaticamente a partir das colunas do CSV.
📌 Notas e Considerações
- Utilize o endpoint
GET /orders/groups/import/examplepara baixar o modelo CSV com o cabeçalho correto antes de montar o arquivo. - Grupos com erro são incluídos na resposta com o campo
errorpreenchido — os demais são criados normalmente, sem interrupção do lote. - O campo
Customer trade nameé obrigatório para pessoa jurídica e proibido para pessoa física. - Se os endereços de entrega e cobrança forem iguais, preencha ambos com os mesmos valores.
📥 Importação de Grupos de Pedido
/orders/groups/import
Importa grupos de pedido em massa a partir de um arquivo CSV
📋 Descrição
Endpoint que permite importar grupos de pedido em massa por meio de um arquivo CSV, criando automaticamente os grupos de pedido, remessas, itens, cliente e endereços associados.
O arquivo deve seguir o modelo disponibilizado no endpoint de exemplo (GET /orders/groups/import/example).
> Cada linha do CSV representa um item de pedido. Múltiplas linhas com o mesmo Order group code são agrupadas em um único grupo de pedido. Quando os itens pertencerem a armazéns diferentes (campo Storage code), serão criadas remessas separadas dentro do mesmo grupo.
O limite máximo é de 2.500 linhas por arquivo.
🔐 Permissão
UserAuth— autenticação do usuário administrativoORDER_WRITE— escopo de permissão para gerenciamento de pedidos
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação do usuário |
Content-Type | multipart/form-data | Tipo do conteúdo |
📦 Body (multipart/form-data)
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
file | file | ✅ Sim | Arquivo CSV com os grupos de pedido — máximo 4 MB, mimetype: text/csv |
📄 Estrutura do Arquivo CSV
Uma linha = um item de pedido. Agrupe múltiplas linhas pelo mesmo Order group code para criar um grupo com vários itens ou armazéns.
🗂️ Dados do Grupo de Pedido
| Coluna | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Order group code | string | ✅ Sim | Código único do grupo — identifica o grupo de pedido. Linhas com o mesmo código são agrupadas |
Sales channel domain | string | ✅ Sim | Domínio do canal de venda onde o pedido foi realizado — ex: minhaloja.com.br |
Currency | string | ✅ Sim | Código da moeda — ex: BRL |
Created at | datetime | ✅ Sim | Data e hora de criação do grupo — formato: YYYY-MM-DD HH:MM:SS |
Issued at | datetime | ✅ Sim | Data e hora de emissão do pedido — formato: YYYY-MM-DD HH:MM:SS |
🚚 Dados da Remessa (Pedido)
| Coluna | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Storage code | string | ✅ Sim | Código do armazém responsável por atender esta remessa |
Order status code | string | ✅ Sim | Código do status do pedido — deve existir na plataforma |
Tracking code | string | ❌ Não | Código de rastreamento da entrega |
Shipping carrier | string | ❌ Não | Nome da transportadora |
Invoice number | string | ❌ Não | Número da nota fiscal |
Invoice key | string | ❌ Não | Chave de acesso da nota fiscal (NFe) |
Invoice serie | string | ❌ Não | Série da nota fiscal |
Invoice url | string | ❌ Não | URL de acesso à nota fiscal |
Order total value | decimal | ✅ Sim | Valor total da remessa — ex: 349.90 |
Order shipping value | decimal | ✅ Sim | Valor do frete da remessa — ex: 22.50 |
🛍️ Dados do Item
| Coluna | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Order item sku | string | ✅ Sim | SKU do produto — deve existir na plataforma |
Order item name | string | ✅ Sim | Nome do produto no pedido |
Order item quantity | decimal | ✅ Sim | Quantidade do item — deve ser maior que zero |
Order item unit value | decimal | ✅ Sim | Valor unitário do item — ex: 349.90 |
👤 Dados do Cliente
| Coluna | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Customer name corporate name | string | ✅ Sim | Nome completo (pessoa física) ou razão social (pessoa jurídica) |
Customer trade name | string | ⚠️ Condicional | Nome fantasia — obrigatório quando Customer is corporate for true; proibido quando for false |
Customer email | string | ✅ Sim | E-mail do cliente |
Customer birthdate | string | ❌ Não | Data de nascimento — formato: YYYY-MM-DD |
Customer phone | string | ✅ Sim | Telefone do cliente |
Customer is corporate | boolean | ✅ Sim | true para pessoa jurídica, false para pessoa física |
Customer gender | string | ✅ Sim | Gênero: male, female ou undefined |
Customer document | string | ❌ Não | CPF (pessoa física) ou CNPJ (pessoa jurídica) |
Customer document 2 | string | ❌ Não | RG (pessoa física) ou Inscrição Estadual (pessoa jurídica) |
🏠 Endereço de Entrega
| Coluna | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Delivery address zip code | string | ✅ Sim | CEP do endereço de entrega |
Delivery address country code | string | ✅ Sim | Código do país no formato alpha-3 — ex: BRA |
Delivery address street | string | ✅ Sim | Logradouro |
Delivery address district | string | ✅ Sim | Bairro |
Delivery address number | string | ✅ Sim | Número |
Delivery address city | string | ✅ Sim | Cidade |
Delivery address state | string | ✅ Sim | Nome completo do estado |
Delivery address state code | string | ✅ Sim | Código do estado — ex: BR-SP |
Delivery address complement | string | ❌ Não | Complemento |
Delivery address recipient | string | ✅ Sim | Nome do destinatário |
🧾 Endereço de Cobrança
> Se os endereços de entrega e cobrança forem iguais, preencha ambos com os mesmos valores.
| Coluna | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Billing address zip code | string | ✅ Sim | CEP do endereço de cobrança |
Billing address country code | string | ✅ Sim | Código do país no formato alpha-3 — ex: BRA |
Billing address street | string | ✅ Sim | Logradouro |
Billing address district | string | ✅ Sim | Bairro |
Billing address number | string | ✅ Sim | Número |
Billing address city | string | ✅ Sim | Cidade |
Billing address state | string | ✅ Sim | Nome completo do estado |
Billing address state code | string | ✅ Sim | Código do estado — ex: BR-SP |
Billing address complement | string | ❌ Não | Complemento |
Billing address recipient | string | ✅ Sim | Nome do destinatário |
💡 Exemplo de Requisição
1curl --request POST \2 --url '{{MAIN_URL}}/orders/groups/import' \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: multipart/form-data' \5 --form 'file=@order-groups.csv'✅ Resposta de Sucesso
HTTP Status: 200 OK
Retorna um array com o resultado de cada grupo de pedido processado. Grupos com erro são incluídos no resultado com o campo error preenchido — os demais são criados normalmente.
1{2 "status": true,3 "data": [4 {5 "externalId": "PED-2026-001",6 "orderGroupId": 142,7 "error": null8 },9 {10 "externalId": "PED-2026-002",11 "orderGroupId": null,12 "error": "UAPPI_STORE_ORDER_DUPLICATED_ORDER_GROUP_CODE"13 }14 ]15}⚠️ 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.
Erros Gerais do Arquivo
| Código Interno | HTTP | Descrição |
|---|---|---|
UAPPI_CORE_IMPORT_FILE_HEADER_REQUIRED | 400 | ❌ O arquivo não possui cabeçalho |
UAPPI_CORE_IMPORT_FILE_REQUIRED_FIELDS | 400 | ❌ O arquivo não possui todos os campos obrigatórios |
UAPPI_CORE_IMPORT_FILE_LINE_LIMIT | 400 | ❌ O arquivo excede o limite de 2.500 linhas |
Erros por Linha (campo error)
| Código do Erro | Descrição |
|---|---|
UAPPI_STORE_ORDER_DUPLICATED_ORDER_GROUP_CODE | ❌ Código de grupo já existe na plataforma |
UAPPI_STORE_INVALID_ORDER_CURRENCY | ❌ Moeda informada inválida |
UAPPI_STORE_CUSTOMER_REQUIRED_TRADE_NAME | ❌ Nome fantasia obrigatório para pessoa jurídica |
UAPPI_STORE_CUSTOMER_MISSING_TRADE_NAME | ❌ Nome fantasia não permitido para pessoa física |
UAPPI_STORE_CUSTOMER_INVALID_GENDER | ❌ Gênero inválido — use male, female ou undefined |
UAPPI_STORE_CUSTOMER_INVALID_BIRTHDATE | ❌ Data de nascimento em formato inválido — use YYYY-MM-DD |
UAPPI_STORE_ORDER_INVALID_ADDRESS | ❌ Endereço inválido — entrega e cobrança são obrigatórios |
UAPPI_STORE_CUSTOMER_ADDRESS_COUNTRY_NOT_FOUND | ❌ Código de país não encontrado |
UAPPI_STORE_CUSTOMER_ADDRESS_STATE_NOT_FOUND | ❌ Código de estado não encontrado para o país informado |
UAPPI_STORE_PRODUCT_NOT_FOUND | ❌ SKU do produto não encontrado na plataforma |
UAPPI_STORE_ORDER_INVALID_ITEM_QUANTITY | ❌ Quantidade do item deve ser maior que zero |
UAPPI_STORE_STORAGE_NOT_FOUND | ❌ Código do armazém não encontrado na plataforma |
📥 Exemplo de Arquivo para Importação de Grupos de Pedido
/orders/groups/import/example
Retorna o arquivo CSV de exemplo para importação de grupos de pedido
📋 Descrição
Endpoint responsável por retornar um arquivo CSV de exemplo para importação de grupos de pedido.
O arquivo contém o cabeçalho com todas as colunas obrigatórias do modelo de importação, servindo como referência para montagem e validação do arquivo antes do envio.
Utilize este arquivo como base para preparar sua planilha — preencha a partir da segunda linha, mantendo o cabeçalho intacto.
🔐 Permissão
UserAuth— autenticação do usuário administrativoORDER_READ— escopo de permissão para leitura de pedidos
📝 Parâmetros
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação do usuário |
💡 Exemplo de Requisição
1curl --request GET \2 --url '{{MAIN_URL}}/orders/groups/import/example' \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --output order-group-example.csv✅ Resposta de Sucesso
HTTP Status: 200 OK
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="order-example.csv"
O arquivo retornado contém o seguinte cabeçalho:
1Order group code,Sales channel domain,Currency,Created at,Issued at,Storage code,Order status code,Tracking code,Shipping carrier,Invoice number,Invoice key,Invoice serie,Invoice url,Order total value,Order shipping value,Order item sku,Order item name,Order item quantity,Order item unit value,Customer name corporate name,Customer trade name,Customer email,Customer birthdate,Customer phone,Customer is corporate,Customer gender,Customer document,Customer document 2,Delivery address zip code,Delivery address country code,Delivery address street,Delivery address district,Delivery address number,Delivery address city,Delivery address state,Delivery address state code,Delivery address complement,Delivery address recipient,Billing address zip code,Billing address country code,Billing address street,Billing address district,Billing address number,Billing address city,Billing address state,Billing address state code,Billing address complement,Billing address recipient⚠️ 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 Erro | HTTP | Descrição |
|---|---|---|
UAPPI_STORE_IMPORT_MODEL_NOT_FOUND | 404 | Modelo de importação não encontrado |
📥 Importação de Pedidos em JSON
/orders/groups/import/json
Importa grupos de pedidos em lote via payload JSON
📋 Descrição
Endpoint administrativo responsável por importar grupos de pedidos em lote via JSON.
🔐 Permissão
UserAuth— autenticação do usuário administrativoORDER_WRITE— escopo de permissão para gerenciamento de pedidos- Limite máximo por requisição:
100grupos emorderGroups; - Pagamento é obrigatório por grupo em
payments; - Campos obrigatórios de pagamento:
type,value,status,label; payment_option_idé persistido como0;integration_nameé persistido comointernal;orders[].statusCodeé mapeado diretamente pororder_status.code;- Alterações de valor (
discounteaddition) são enviadas no nível de remessa emorders[].valuese rateadas entre itens antes da persistência; - Idempotência por
orderGroups[].code: grupos já existentes ou repetidos na mesma requisição retornam erro por grupo; - A persistência do JSON é síncrona;
- A moeda deve ser informada como seu código alfa-3, exemplos: BRL, USD, EUR, GBP.
📝 Parâmetros
⚠️ Regras Importantes
🏷️ Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {token} | Token de autenticação do usuário |
Content-Type | application/json | Tipo do conteúdo |
📦 Parâmetros do Corpo
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| orderGroups | array | Sim | Lista de grupos de pedido. Máximo: 100 itens. |
| orderGroups[].code | string | Sim | Código único do grupo para idempotência. Máximo: 255 caracteres. |
| orderGroups[].salesChannelDomain | string | Sim | Domínio do canal de venda. Máximo: 255 caracteres. |
| orderGroups[].currency | string | Sim | Moeda do pedido (ISO 4217). Máximo: 3 caracteres. Ex: BRL. |
| orderGroups[].issuedAt | string | Sim | Data de emissão no formato Y-m-d H:i:s. |
| orderGroups[].customer | object | Sim | Dados do cliente. |
| orderGroups[].customer.customerNameCorporateName | string | Sim | Nome ou Razão Social. Máximo: 255 caracteres. |
| orderGroups[].customer.customerTradeName | string | Não | Nome Fantasia. Máximo: 255 caracteres. |
| orderGroups[].customer.customerEmail | string | Sim | E-mail válido do cliente. Máximo: 255 caracteres. |
| orderGroups[].customer.customerBirthdate | string | Não | Data de nascimento. Máximo: 20 caracteres. |
| orderGroups[].customer.customerPhone | string | Sim | Telefone de contato. Máximo: 50 caracteres. |
| orderGroups[].customer.customerIsCorporate | boolean | Sim | Indica se é pessoa jurídica (true) ou física (false). |
| orderGroups[].customer.customerGender | string | Sim | Gênero do cliente. Valores aceitos: male, female, undefined. |
| orderGroups[].customer.customerDocument | string | Sim | CPF ou CNPJ (apenas números). Máximo: 100 caracteres. |
| orderGroups[].customer.customerDocument2 | string | Não | RG ou Inscrição Estadual. Máximo: 100 caracteres. |
| orderGroups[].addresses | array | Sim | Lista de endereços. Mínimo: 1, Máximo: 2. |
| orderGroups[].addresses[].customerAddressType | string | Sim | Tipo do endereço. Valores aceitos: both, delivery, billing. |
| orderGroups[].addresses[].addressZipCode | string | Sim | CEP do endereço. Máximo: 20 caracteres. |
| orderGroups[].addresses[].addressCountryCode | string | Sim | Código do país (alfa-3). Máximo: 3 caracteres. Ex: BRA. |
| orderGroups[].addresses[].addressStreet | string | Sim | Logradouro/Rua. Máximo: 255 caracteres. |
| orderGroups[].addresses[].addressDistrict | string | Sim | Bairro. Máximo: 255 caracteres. |
| orderGroups[].addresses[].addressNumber | string | Sim | Número. Máximo: 50 caracteres. |
| orderGroups[].addresses[].addressCity | string | Sim | Cidade. Máximo: 255 caracteres. |
| orderGroups[].addresses[].addressState | string | Sim | Nome do Estado. Máximo: 255 caracteres. |
| orderGroups[].addresses[].addressStateCode | string | Sim | Código do Estado. Máximo: 10 caracteres. Ex: BR-SP ou BR-RJ. |
| orderGroups[].addresses[].addressComplement | string | Não | Complemento do endereço. Máximo: 255 caracteres. |
| orderGroups[].addresses[].addressRecipient | string | Sim | Nome do destinatário. Máximo: 255 caracteres. |
| orderGroups[].orders | array | Sim | Lista de remessas/pedidos do grupo. Mínimo: 1 item. |
| orderGroups[].orders[].storageCode | string | Sim | Código do armazém de origem. Máximo: 100 caracteres. |
| orderGroups[].orders[].statusCode | string | Sim | Código de status conforme a listagem de status de pedido. Máximo: 100 caracteres. |
| orderGroups[].orders[].trackingCode | string | Não | Código de rastreio da remessa. Máximo: 255 caracteres. |
| orderGroups[].orders[].trackingUrl | string | Não | URL de rastreio da remessa. Máximo: 255 caracteres. |
| orderGroups[].orders[].reverseLogisticsCode | string | Não | Código de logística reversa da remessa. Máximo: 255 caracteres. |
| orderGroups[].orders[].shippingCarrier | string | Não | Nome da transportadora. Máximo: 255 caracteres. |
| orderGroups[].orders[].invoice | object | Não | Dados da nota fiscal da remessa. |
| orderGroups[].orders[].invoice.number | string | Não | Número da nota fiscal. Máximo: 255 caracteres. |
| orderGroups[].orders[].invoice.key | string | Não | Chave de acesso da nota fiscal (44 dígitos). Máximo: 255 caracteres. |
| orderGroups[].orders[].invoice.serie | string | Não | Série da nota fiscal. Máximo: 255 caracteres. |
| orderGroups[].orders[].invoice.url | string | Não | URL do XML ou PDF da nota. Máximo: 255 caracteres. |
| orderGroups[].orders[].values.shippingValue | decimal | Sim | Valor de frete. Precisão: decimal:0,6. |
| orderGroups[].orders[].values.discountValue | decimal | Sim | Valor de desconto da remessa. Precisão: decimal:0,6. |
| orderGroups[].orders[].values.additionValue | decimal | Sim | Valor de acréscimo da remessa. Precisão: decimal:0,6. |
| orderGroups[].orders[].items | array | Sim | Lista de itens da remessa. Mínimo: 1 item. |
| orderGroups[].orders[].items[].sku | string | Sim | SKU do item. Máximo: 255 caracteres. |
| orderGroups[].orders[].items[].name | string | Sim | Nome do item. Máximo: 255 caracteres. |
| orderGroups[].orders[].items[].quantity | integer | Sim | Quantidade. Valor deve ser maior que 0. |
| orderGroups[].orders[].items[].unitValue | decimal | Sim | Valor unitário. Precisão: decimal:0,6. Valor deve ser maior que 0. |
| orderGroups[].payments | array | Sim | Lista de pagamentos do grupo. Mínimo: 1 item. |
| orderGroups[].payments[].type | string | Sim | Meio de pagamento. Valores aceitos: credit-card, debit-card, pix, billet, custom. |
| orderGroups[].payments[].value | decimal | Sim | Valor do pagamento. Precisão: decimal:0,6. Valor deve ser maior que 0. |
| orderGroups[].payments[].status | string | Sim | Status do pagamento conforme os padrões do sistema (ex: paid, waiting-payment, canceled). |
| orderGroups[].payments[].label | string | Sim | Rótulo/Nome amigável do pagamento. Máximo: 255 caracteres. |
| orderGroups[].payments[].transactionId | string | Sim | ID da transação na operadora. Máximo: 255 caracteres. |
💡 Exemplo de Requisição
1curl --request POST \2 --url '{{MAIN_URL}}/orders/groups/import/json' \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "orderGroups": [7 {8 "code": "json-order-group-001",9 "salesChannelDomain": "loja1.com.br",10 "currency": "BRL",11 "issuedAt": "2026-04-22 10:00:00",12 "customer": {13 "customerNameCorporateName": "Cliente API",14 "customerTradeName": "",15 "customerEmail": "cliente.api@teste.com",16 "customerBirthdate": "1990-01-01",17 "customerPhone": "+5511999999999",18 "customerIsCorporate": false,19 "customerGender": "male",20 "customerDocument": "12345678901",21 "customerDocument2": ""22 },23 "addresses": [24 {25 "customerAddressType": "both",26 "addressZipCode": "01001000",27 "addressCountryCode": "BRA",28 "addressStreet": "Praca da Se",29 "addressDistrict": "Se",30 "addressNumber": "100",31 "addressCity": "Sao Paulo",32 "addressState": "Sao Paulo",33 "addressStateCode": "BR-SP",34 "addressComplement": "",35 "addressRecipient": "Cliente API"36 }37 ],38 "orders": [39 {40 "storageCode": "MAIN",41 "statusCode": "pending",42 "trackingCode": "",43 "shippingCarrier": "",44 "invoice": {45 "number": "",46 "key": "",47 "serie": "",48 "url": ""49 },50 "values": {51 "shippingValue": "5.000000",52 "discountValue": "10.000000",53 "additionValue": "0.000000"54 },55 "items": [56 {57 "sku": "SKU-EXISTENTE-1",58 "name": "Produto API",59 "quantity": "1.000000",60 "unitValue": "100.000000"61 }62 ]63 }64 ],65 "payments": [66 {67 "type": "pix",68 "value": "25.000000",69 "status": "paid",70 "label": "PIX API",71 "transactionId": "weLa9yoUfKViV63"72 },73 {74 "type": "billet",75 "value": "70.000000",76 "status": "waiting-payment",77 "label": "Pagamento com boleto bancário",78 "transactionId": "weLa9yoUfKViV62"79 }80 ]81 }82 ]83 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": [4 {5 "id": null,6 "externalId": "json-order-group-001",7 "error": "UAPPI_STORE_ORDER_DUPLICATED_ORDER_GROUP_CODE"8 },9 {10 "id": 349,11 "externalId": "json-order-group-002",12 "error": null13 }14 ]15}📋 Contrato de data[]
| Campo | Tipo | Descrição |
|---|---|---|
id | integer\null | ID cadastrado da entidade importada (neste endpoint, normalmente null em erro) |
externalId | string | Código do grupo enviado em orderGroups[].code |
error | string | Código interno do erro de negócio |
⚠️ 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 Erro | HTTP | Descrição |
|---|---|---|
UAPPI_STORE_ORDER_DUPLICATED_ORDER_GROUP_CODE | 200 | orderGroups[].code já existe ou foi repetido na mesma requisição |
UAPPI_STORE_INVALID_ORDER_CURRENCY | 200 | Moeda inválida |
UAPPI_STORE_CUSTOMER_MISSING_TRADE_NAME | 200 | customerTradeName preenchido para pessoa física |
UAPPI_STORE_CUSTOMER_REQUIRED_TRADE_NAME | 200 | customerTradeName ausente para pessoa jurídica |
UAPPI_CORE_INVALID_PHONE_NUMBER | 200 | Telefone inválido |
UAPPI_STORE_CUSTOMER_INVALID_GENDER | 200 | Gênero inválido |
UAPPI_STORE_CUSTOMER_INVALID_BIRTHDATE | 200 | Data de nascimento inválida |
UAPPI_STORE_ORDER_INVALID_ADDRESS | 200 | Endereçamento diferente de both ou delivery + billing |
UAPPI_STORE_CUSTOMER_ADDRESS_COUNTRY_NOT_FOUND | 200 | País do endereço não encontrado |
UAPPI_STORE_CUSTOMER_ADDRESS_STATE_NOT_FOUND | 200 | Estado do endereço não encontrado para o país informado |
UAPPI_STORE_PRODUCT_NOT_FOUND | 200 | SKU não encontrado |
UAPPI_STORE_ORDER_INVALID_ITEM_QUANTITY | 200 | Quantidade menor ou igual a zero |
UAPPI_STORE_STORAGE_NOT_FOUND | 200 | Armazém não encontrado |
UAPPI_STORE_ORDER_STATUS_NOT_FOUND | 200 | orders[].statusCode não corresponde a nenhum order_status.code |
UAPPI_STORE_ORDER_INSERT_FAIL | 200 | Falha inesperada durante a persistência canônica do grupo |