Início / API

API

Traga o progresso dos Projetos de Loja para seu próprio sistema: em qual passo cada projeto se encontra, para onde a mercadoria está indo e se o Treinamento está no caminho certo. Todos os endpoints são de apenas leitura; nenhum registro ou chave de API é necessária.

Convenções básicas

Base URL
https://www.icook.cloud
Autenticação
Os endpoints listados nesta página não requerem credenciais; endpoints acessíveis por código usam o token no próprio link como credencial
Formato
JSON (application/json; charset=utf-8); todos os horários estão em UTC
Erros
400 parâmetro inválido · 401 falta código de acesso · 404 não encontrado; o corpo da resposta tem a forma {"error":"…"}
Solicitações entre origens
Nenhum cabeçalho CORS é retornado — chamadas entre origens do navegador são bloqueadas. Chame a partir de seu servidor. Se for necessário acesso direto do navegador, envie-nos um e-mail com o domínio de origem.
Frequência
Não há cota fixa. Use cache com responsabilidade; consultar o progresso dos Projetos de Loja uma vez por minuto é suficiente, em vez de a cada segundo
Versão
Não há número de versão. Os campos são adicionados, não removidos; se uma mudança incompatível for necessária, os consumidores conhecidos serão notificados por e-mail com antecedência

Esses endpoints alimentam as próprias páginas públicas neste site — a API retorna exatamente o que você vê em uma página de projeto, nem mais nem menos.

Dados abertos

Nenhuma credencial é necessária. Adequado para trazer progresso do projeto para seu próprio painel.

GET/api/projects

Lista de Projetos de Loja Ativos. Projetos com estado active.

CampoDescrição
idNúmero do projeto; parâmetro de rota para os demais endpoints
name / biz_type / cityNome do projeto · tipo de negócio · cidade
statusactive (em andamento) · todos os outros valores indicam estados arquivados
current_stageA etapa atual entre os nove passos, 1–9
noteNota pública de contexto em uma frase
track / cuisineCategoria de Seleção de local / categoria do menu; os valores são compartilhados com as bibliotecas
submission_countQuantidade de propostas recebidas (apenas contagem, sem conteúdo)
stage_countsQuantidade de propostas por etapa, na forma { "5": 12 }
created_atHora de criação do projeto, UTC

GET/api/projects/:id

Detalhes de um projeto individual. Inclui três campos adicionais de status entre etapas em relação à resposta da lista.

CampoDescrição
…Inclui todos os campos da resposta da lista
opening_status⑨ Termo de status do ciclo de Abertura (apenas status, sem dados operacionais)
training_status⑧ Termo de status do ciclo de Treinamento
accepted_countQuantidade de propostas aceitas

Receita, custos, problemas, responsável e data de abertura nem sequer são retornados como campos — esta é uma linha vermelha do design, não uma omissão.

GET/api/projects/:id/sites

Lista curta de locais candidatos do projeto (o entregável de ② Seleção de local).

CampoDescrição
site_idIdentificador do local na Biblioteca de locais; os detalhes do local são armazenados na Biblioteca de locais e apenas a referência é armazenada aqui
external_title / external_urlTítulo e link para um local externo à biblioteca
statuspending (visita pendente) · visited (visitado) · chosen (selecionado) · rejected (rejeitado)
noteNota do candidato

Atenção: `note` é um campo público e é exibido publicamente com a página do projeto. Trate as notas como públicas ao escrevê-las — não inclua seu preço mínimo aceitável, nomes de concorrentes ou qualquer avaliação que não deva ser divulgada.

GET/api/projects/:id/menus

Lista curta de menus candidatos do projeto (o entregável de ① Diagnóstico). Tem a mesma estrutura que os locais candidatos e armazena apenas referências menu_id.

CampoDescrição
menu_idIdentificador do menu na Biblioteca de menus
status / noteIgual aos locais candidatos

GET/api/projects/:id/shipments

Progresso de envio do projeto. Com dados ocultos: retorna apenas a quantidade de envios, seu marco atual, data de chegada e quantidade de caixas.

CampoDescrição
idNúmero do envio
cargo_classfood (alimentos) · general (não alimentos)
transport_modesea_fcl (contêiner completo) · sea_lcl (carga consolidada) · air (frete aéreo) · ground (transporte rodoviário nos EUA)
cold_chainIndica se usa cadeia de frio, 0 / 1
statusStatus da lista de embalagem
nodedepart (saído) · transit (em trânsito) · arrived (chegou ao porto) · customs (desembaraço aduaneiro) · final_mile (última milha) · delivered (entregue)
etaData estimada de chegada ao porto
item_count / carton_totalQuantidade de linhas de itens / quantidade total de caixas

Apenas envios que estão finalizados ou em uma etapa posterior são retornados. O valor da carga, HS CODE, endereço de entrega, transportadora e número do conhecimento nunca são retornados.

GET/api/projects/:id/training-readiness

Prontidão para ⑧ Treinamento do projeto. Apenas contagens agregadas; sem listas de pessoal ou informações pessoais.

CampoDescrição
started / statusIndica se começou · termo de status do ciclo
staffed / plan_totalContagem real de pessoal / contagem de pessoal planejada
cert_passed / cert_requiredItens de certificação aprovados / itens de certificação obrigatórios
critical_passed / critical_required / critical_pendingItens críticos aprovados / obrigatórios / pendentes
hollowIndica se está no estado vazio em que registrar apenas um item exibe uma pontuação perfeita
readyIndica se os requisitos de Treinamento para abertura foram atendidos

O progresso é calculado em relação aos itens obrigatórios, não às linhas criadas — portanto `cert_required` normalmente é muito maior que a quantidade de linhas registradas.

Endpoints acessíveis por código

O link é a credencial. Emitimos o token junto com o link comercial relevante; não pode ser solicitado publicamente — cada link recebido fornece acesso apenas ao documento associado.

GET/api/ticket/:code

Status de avaliação da proposta. code é o código de rastreamento de 8 caracteres mostrado na página de envio bem-sucedido.

CampoDescrição
title / supplierTítulo da proposta / nome da empresa proponente
stageEtapa associada, 1–9
statusnew (novo envio) · reviewing (em avaliação) · accepted (aceita) · rejected (não aceita)
created_atHora de envio, UTC

O corpo da proposta, a cotação e os anexos não são retornados.

GET/api/quote/:token

Cotação para o cliente. O token vem de um link /q/ emitido por nós.

CampoDescrição
title / category / stageTítulo da cotação · categoria · etapa
quote_amount / quote_currencyValor cotado ao cliente e moeda
member_discountPercentual de desconto para membros; 0 indica que nenhum nível de preço para membros está configurado
items[]Linhas de itens: name · spec · unit · qty · sale_price · category · img_url
shipments[]Progresso de envio associado (igual acima, com dados ocultos)

Cotações com código de acesso requerem `?pass=<código-de-acesso>`; caso contrário, a resposta é 401. Preço de custo, margem de lucro e margem bruta nunca são retornados.

GET/api/booking/:token

Destino de um link de cliente de lista de embalagem de logística. O token vem de um link /logistics/f/ emitido por nós; as listas de embalagem são preenchidas em freight.icook.cloud, e este endpoint retorna apenas o link de cliente correspondente.

CampoDescrição
redirectLink de cliente do freight; inclui ?pass= quando o código de acesso correto é informado; null quando não há lista de embalagem correspondente
noteExplicação quando não há lista de embalagem correspondente

Também suporta `?pass=`. O conteúdo da lista de embalagem não é retornado.

GET/api/booking-share/:token

Destino de um link de transportadora de lista de embalagem de logística. O token vem de um link /logistics/s/ emitido por nós; este endpoint retorna apenas o link de transportadora do freight correspondente.

CampoDescrição
redirectLink de transportadora do freight; null quando não há lista de embalagem correspondente
noteExplicação quando não há lista de embalagem correspondente; vazio quando existe um destino

O conteúdo da lista de embalagem não é retornado.

Experimente

curl https://www.icook.cloud/api/projects

# Projeto individual
curl https://www.icook.cloud/api/projects/1

# Avance do envio (dados ocultos)
curl https://www.icook.cloud/api/projects/1/shipments

# Código de rastreamento de demonstração / cotação de demonstração (os dois utilizados no guia)
curl https://www.icook.cloud/api/ticket/GUIDE2026
curl https://www.icook.cloud/api/quote/GUIDEQUOTE26

O que não é fornecido

  • Não há endpoint de escrita público. Para enviar uma proposta, solicitar uma associação, preencher uma lista de embalagem ou alterar as quantidades cotadas, use os formulários da web — eles incluem as medidas necessárias de prevenção de abuso, e as solicitações que as ignoram e chamam os endpoints diretamente são rejeitadas.
  • Conteúdo da proposta, custos cotados e listas de clientes não são fornecidos. Eles são visíveis apenas na interface de administração.
  • Informações de funcionários não são fornecidas. O módulo de Treinamento não armazena dados como identidade, endereço ou salário; apenas armazena números e funções de funcionários.
  • Exportação em massa não é fornecida. Se você precisar de dados históricos, envie-nos um e-mail e explique o uso pretendido.

Precisa integrar dados, chamar diretamente do navegador ou obter um campo que não aparece aqui? Envie um e-mail para [email protected] com seu caso de uso e volume de chamadas. O uso desta API constitui aceitação dos Termos de Serviço; veja Política de Privacidade para processamento de dados.