OPTIMOS PRO · TECER
Guia para envio automático de manifestos ao nosso sistema
Seu sistema envia os dados do caminhão e das placas para o endereço abaixo. O OPTIMOS PRO valida as informações e cria o manifesto automaticamente, deixando as placas em trânsito para recebimento no porto. A resposta traz o código do manifesto criado.
Método: POST · Formato: JSON
https://optimospro.com.br/functions/apiManifesto
Cabeçalhos obrigatórios em toda chamada:
Content-Type: application/json x-api-key: <SUA CHAVE DE ACESSO>
A chave de acesso é fornecida pela TECER de forma individual e sigilosa. Não a compartilhe.
| Campo | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
| imo | Numérico (7 dígitos) | Sim | Número IMO do navio, conforme cadastro de Navio | 9123456 |
| ov_item | Texto (numérico com barra) | Sim | OV-Item da carga: 10 números + / + número do item | 1234567890/10 |
| cliente | Texto | Sim | Nome do cliente da carga | ArcelorMittal |
| motorista | Texto | Sim | Nome completo do motorista | João da Silva |
| caminhao_placa | Alfanumérico (7 caracteres) | Sim | Placa do caminhão, letras e números | ABC1D23 |
| placas | Lista de textos alfanuméricos | Sim | Números das placas de aço (1 letra + 9 números cada) | ["A123456789"] |
Traços e espaços na placa do caminhão e nas placas de aço são removidos automaticamente. Placas repetidas são consideradas uma vez só.
POST https://optimospro.com.br/functions/apiManifesto
x-api-key: <SUA CHAVE DE ACESSO>
Content-Type: application/json
{
"imo": "9123456",
"ov_item": "1234567890/10",
"cliente": "ArcelorMittal",
"motorista": "João da Silva",
"caminhao_placa": "ABC1D23",
"placas": ["A123456789", "A123456790"]
}| Código | Significado | O que fazer |
|---|---|---|
| 201 | Manifesto criado com sucesso | Guarde o campo codigo (ex: REM-000123) |
| 400 | Dados inválidos | Veja a lista erros e corrija os campos |
| 401 | Chave de acesso inválida ou ausente | Confira o cabeçalho x-api-key |
| 403 | Chave sem permissão para a operação | A chave CIPP aceita somente envio (POST) |
| 404 | Navio ou OV-Item não encontrado | Confirme os dados com a TECER |
| 405 | Método não suportado | Use o método POST |
| 409 | Manifesto ou placa duplicada | Não reenvie um manifesto já criado nem placas já manifestadas |
| 500 | Erro interno | Tente novamente; persistindo, contate a TECER |
Exemplo de sucesso:
{ "codigo": "REM-000123", "remessa_id": "abc123", "total_placas": 2, "avisos": [] }Exemplo de erro:
{ "error": "Dados inválidos", "erros": ["caminhao_placa deve ter 7 caracteres alfanuméricos"] }Mensagens de retorno possíveis (campo error; em 400 "Dados inválidos" os detalhes vêm na lista erros):
| Código | Mensagem | Causa |
|---|---|---|
| 401 | Unauthorized: x-api-key inválida ou ausente | Chave não enviada ou incorreta |
| 403 | Forbidden: chave com permissão somente de envio | Chave CIPP usada fora do POST |
| 405 | Método não suportado | Método diferente de POST |
| 400 | Corpo deve ser JSON válido | Corpo da requisição mal formatado |
| 400 | Dados inválidos → imo é obrigatório | Campo imo vazio |
| 400 | Dados inválidos → ov_item é obrigatório | Campo ov_item vazio |
| 400 | Dados inválidos → cliente é obrigatório | Campo cliente vazio |
| 400 | Dados inválidos → motorista é obrigatório | Campo motorista vazio |
| 400 | Dados inválidos → caminhao_placa deve ter 7 caracteres alfanuméricos | Placa do caminhão fora do padrão |
| 400 | Dados inválidos → placas deve conter ao menos uma placa | Lista de placas vazia |
| 400 | Dados inválidos → placas com formato inválido: <placas> | Placa de aço fora do padrão (1 letra + 9 números) |
| 404 | Navio com IMO '<imo>' não encontrado no cadastro | IMO não cadastrado |
| 404 | Navio '<nome>' (IMO <imo>) sem operação de placas cadastrada | Navio sem operação ativa |
| 404 | OV-Item '<ov>' não encontrada no navio <nome> | OV não pertence ao navio |
| 409 | Manifesto duplicado: já existe <codigo> para este navio, OV, motorista e placa do caminhão | Manifesto já enviado |
| 409 | Placas repetidas no envio: <placas> | Mesma placa de aço mais de uma vez na lista |
| 409 | Placas já constam em outro manifesto: <placas> | Placa de aço já manifestada |
| 500 | <mensagem do erro> | Falha interna — tente novamente |
Placas que não constam no packlist do navio, ou que pertencem a outra OV-Item, não impedem a criação do manifesto. Elas são listadas no campo avisos para conferência.
Dúvidas sobre a integração ou solicitação de chave de acesso: entre em contato com a equipe TECER.