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