Desenvolvimento de Integração
Documentação para integrar seu sistema ao portal (autenticação e redirecionamento). Exemplos em PHP e Node.js.
Visão geral
Para autenticar usuários no portal e obter o token de redirecionamento, envie um POST com username e password em formato JSON (Content-Type: application/json). A resposta é JSON com code e token: se code === 200, redirecione para https://portal.rastreamos.com.br/auth/{token}; caso contrário, redirecione para a página de destino em caso de erro (ex.: site institucional).
POST https://portal.rastreamos.com.br/auth/redirect
Content-Type: application/json
{"username":"seu_usuario","password":"sua_senha"}
Parâmetros da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| username | string | Sim | Login (e-mail ou usuário). Recomenda-se enviar com trim para evitar espaços. |
| password | string | Sim | Senha do usuário. Recomenda-se enviar com trim. |
Resposta
O corpo da resposta é JSON com os campos code e token. Use code === 200 para considerar sucesso e então redirecionar o usuário para https://portal.rastreamos.com.br/auth/{token}. Se code for diferente de 200, redirecione para uma página de erro ou para o site institucional (ex.: https://www.atualcargo.com.br).
{
"code": 200,
"token": "token_de_sessao_retornado_pelo_servidor"
}
Segurança: Nunca envie credenciais por GET. Use sempre HTTPS e armazene senhas com segurança no seu lado (não as guarde em log ou em front-end).
Exemplo em PHP
Utilize cURL com corpo JSON (json_encode) e Content-Type: application/json. Decodifique a resposta com json_decode e redirecione conforme code e token.
trim($_POST['username']),
'password' => trim($_POST['password'])
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
$result = json_decode($result);
if (@$result->code != 200) {
header('Location: https://portal.rastreamos.com.br', true, 302);
exit;
}
header('Location: https://portal.rastreamos.com.br/auth/' . @$result->token, true, 302);
exit;
Para produção, use $_POST apenas se a requisição vier de um formulário seu; se for server-to-server, use variáveis seguras (ex.: variáveis de ambiente). Ajuste a URL de fallback (https://www.atualcargo.com.br) conforme sua necessidade.
Exemplo em Node.js
Envie o corpo em JSON (Content-Type: application/json). Parse a resposta e redirecione conforme code e token.
Usando fetch (Node 18+)
const username = (process.env.USERNAME || '').trim();
const password = (process.env.PASSWORD || '').trim();
const body = JSON.stringify({ username, password });
const response = await fetch('https://portal.rastreamos.com.br/auth/redirect', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body
});
const result = await response.json();
// Redirecionar o usuário (res = resposta do seu servidor, ex.: Express)
if (result.code !== 200) {
return res.redirect(302, 'https://portal.rastreamos.com.br');
}
res.redirect(302, 'https://portal.rastreamos.com.br/auth/' + result.token);
Usando axios
Instale: npm install axios
const axios = require('axios');
const username = (process.env.USERNAME || '').trim();
const password = (process.env.PASSWORD || '').trim();
const { data } = await axios.post(
'https://portal.rastreamos.com.br/auth/redirect',
{ username, password },
{ headers: { 'Content-Type': 'application/json' } }
);
// Redirecionar o usuário (res = resposta do seu servidor, ex.: Express)
if (data.code !== 200) {
return res.redirect(302, 'https://portal.rastreamos.com.br');
}
res.redirect(302, 'https://portal.rastreamos.com.br/auth/' + data.token);
Teste rápido com cURL
curl -X POST 'https://portal.rastreamos.com.br/auth/redirect' \
-H 'Content-Type: application/json' \
-d '{"username":"SEU_USUARIO","password":"SUA_SENHA"}'
Resposta da API (campo code)
O corpo da resposta é sempre JSON. O campo code indica o resultado: 200 = sucesso (use o token para redirecionar); qualquer outro valor = falha (redirecione para a página de erro ou site institucional).
| code | Descrição |
|---|---|
| 200 | Sucesso. Redirecione para https://portal.rastreamos.com.br/auth/{token}. |
| ≠ 200 | Falha na autenticação. Redirecione para o site institucional ou página de erro (ex.: https://www.atualcargo.com.br). |