Requests

Ao realizar requisições a API utilize o formato JSON no corpo das requisições. Para fazer uma solicitação adequada no formato JSON, forneça Content-Type: application/json no cabeçalho da requisição HTTP. A API utiliza os verbos HTTP para cada ação:

Método Descrição
GET Usado para recuperar recursos
POST Usado para criar recursos
PUT Usado para alterar/substituir recursos
DELETE Usado para deletar recursos

URL

Nossa API está disponivel no endereço https://api-hom.smarkets.com.br/api/v1.0.

Códigos de Status HTTP

Status Codes usados na API do Marketplace:

Código de Status Nome Descrição
200 Success Requisição realizada
400 Bad Request Requisição realizada
401 Unauthorized Token de acesso inválido
403 Forbidden Requisição não permitida
404 Not Found Recurso indisponível
415 Unsupported Media Type Recurso não ativado
429 Too Many Requests Limite de requisições excedido
500 Internal Server Error Método inválido
501 Not Implemented Funcionalidade inexistente
503 Service Unavailable Manutenção agendada

Autenticação

O acesso as APIs da Plataforma Smarkets é feito através da criação de um token de autorização de requisição, único por requisição. Toda aplicação que deseja se conectar a plataforma recebe um client_id e um secret, através dessas duas informações que serão gerados os tokens de autorização.

client_id Identificador único de uma empresa na plataforma
secret Palavra chave única de uma empresa na plataforma utilizada durante o processo de codificação de token para requisição

Um token de autorização a API válido deve ser gerado seguindo as seguintes diretivas:

  • 1. Um JSON contendo client_id de sua empresa e timestamp deve ser codificado em Base64.

    {"client_id":1,"timestamp":"1555449236"}

    //Base64 JSON: eyJjbGllbnRfaWQiOjEsInRpbWVzdGFtcCI6IjE1NTU0NDkyMzYifQ==

  • 2. O secret de sua empresa deve ser codificado em Base64.

    //secret: qUQXzKyKuTfxh5ga5bnY5Vr4v9BhzPMN

    //Base64 secret: cVVRWHpLeUt1VGZ4aDVnYTViblk1VnI0djlCaHpQTU4=

  • 3. Utilizando o algoritmo HMACSHA256, codifique o resultado do passo 1, utilizando como secret key o resultado do passo 2.

    //access_token: 7f6035ad75db15ab5d7b864f6b523354273ed84bc7a4589e43b90d7abbd054e1

  • 4. O resultado do passo anterior é seu token de acesso.

Seu access_token deve ser usado para realizar requisições a endpoints da API. Para usar o token, construa uma requisição HTTPS normal e inclua um cabeçalho Authorization com o valor Bearer access_token, client_Id e timestamp utilizados na criação do access_token.

Exemplo de requisição:

GET /1.0/pedidos HTTP/1.1

Host: api.smarkets.com.br


Content-Type: application/json

Authorization: Bearer 7f6035ad75db15ab5d7b864f6b523354273ed84bc7a4589e43b90d7abbd054e1

client_Id: 1

timestamp: 1555449236