OTL ShoesAPI
Exemplos em
Menu da documentação

Numerações

A tabela que transforma a numeração do calçado no sufixo do SKU de cada variação.

GET/v1/numeracoes

Para que serve

Cada numeração de um produto é uma variação com SKU próprio: o SKU do produto seguido de um sufixo. O produto 320 na numeração 38 é o 320U.

Na maioria dos casos você não precisa desta tabela: o campo skuVariacao já vem pronto emListar produtos e em Estoque do produto. Ela existe para quem precisa montar ou conferir o SKU do próprio lado — por exemplo, ao receber de um marketplace só o SKU da variação.

Requisição

Sem parâmetros.

curl "https://api.otlshoes.com.br/v1/numeracoes" \
  -H "Authorization: Bearer otl_prod_SEU_TOKEN"
curl "https://api-sandbox.otlshoes.com.br/v1/numeracoes" \
  -H "Authorization: Bearer otl_sbx_SEU_TOKEN"
const resposta = await fetch('https://api.otlshoes.com.br/v1/numeracoes', {
  headers: {
    Authorization: 'Bearer otl_prod_SEU_TOKEN',
  },
});

if (!resposta.ok) {
  const { erro } = await resposta.json();
  throw new Error(`${erro.codigo}: ${erro.mensagem} (${erro.requestId})`);
}
const dados = await resposta.json();
const resposta = await fetch('https://api-sandbox.otlshoes.com.br/v1/numeracoes', {
  headers: {
    Authorization: 'Bearer otl_sbx_SEU_TOKEN',
  },
});

if (!resposta.ok) {
  const { erro } = await resposta.json();
  throw new Error(`${erro.codigo}: ${erro.mensagem} (${erro.requestId})`);
}
const dados = await resposta.json();
<?php
$ch = curl_init('https://api.otlshoes.com.br/v1/numeracoes');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer otl_prod_SEU_TOKEN',
]);

$corpo = json_decode(curl_exec($ch), true);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($status >= 400) {
    throw new Exception($corpo['erro']['codigo'] . ': ' . $corpo['erro']['mensagem']);
}
<?php
$ch = curl_init('https://api-sandbox.otlshoes.com.br/v1/numeracoes');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer otl_sbx_SEU_TOKEN',
]);

$corpo = json_decode(curl_exec($ch), true);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($status >= 400) {
    throw new Exception($corpo['erro']['codigo'] . ': ' . $corpo['erro']['mensagem']);
}
import requests

resposta = requests.get(
    "https://api.otlshoes.com.br/v1/numeracoes",
    headers={
        "Authorization": "Bearer otl_prod_SEU_TOKEN",
    },
    timeout=30,
)

if not resposta.ok:
    erro = resposta.json()["erro"]
    raise RuntimeError(f'{erro["codigo"]}: {erro["mensagem"]} ({erro["requestId"]})')
dados = resposta.json()
import requests

resposta = requests.get(
    "https://api-sandbox.otlshoes.com.br/v1/numeracoes",
    headers={
        "Authorization": "Bearer otl_sbx_SEU_TOKEN",
    },
    timeout=30,
)

if not resposta.ok:
    erro = resposta.json()["erro"]
    raise RuntimeError(f'{erro["codigo"]}: {erro["mensagem"]} ({erro["requestId"]})')
dados = resposta.json()
Testar agora no ambiente de testes

A chamada é feita de verdade, do seu navegador para a API de testes (https://api-sandbox.otlshoes.com.br/v1). Use um token otl_sbx_…: ele fica só nesta aba, e some ao fechá-la. Token de produção não é aceito aqui.

Resposta

{
  "dados": [
    {
      "numeracao": "17",
      "sufixoSku": "AA"
    },
    {
      "numeracao": "18",
      "sufixoSku": "A"
    },
    {
      "numeracao": "19",
      "sufixoSku": "B"
    }
  ]
}

A lista completa, que raramente muda:

NumeraçãoSufixoExemplo com o SKU 320
17AA320AA
18A320A
19B320B
20C320C
21D320D
22E320E
23F320F
24G320G
25H320H
26I320I
27J320J
28K320K
29L320L
30M320M
31N320N
32O320O
33P320P
34Q320Q
35R320R
36S320S
37T320T
38U320U
39V320V
40W320W
41X320X
42Y320Y
43Z320Z
44AB320AB
45AC320AC
46AD320AD
47AE320AE
48AF320AF

Regras que não se leem no JSON

  • Numeração em faixa usa o primeiro número. 27/28 tem o sufixo da 27: J.
  • Numeração fora desta tabela não tem sufixo: o skuVariacao dela vem null. Não invente um.
  • O sufixo pode ter uma ou duas letras. Para separar SKU e sufixo, parta do SKU do produto, não do tamanho do texto.