Skip to content

Instantly share code, notes, and snippets.

@mateuspiresl
Last active November 12, 2019 16:35
Show Gist options
  • Save mateuspiresl/d7399d27604cc95ad27dc4529e4a1a7f to your computer and use it in GitHub Desktop.
Save mateuspiresl/d7399d27604cc95ad27dc4529e4a1a7f to your computer and use it in GitHub Desktop.
IBPClub API documentation for suppliers

IBP Club API

A API da IBP Club pode ser utilizada para ter acesso a suas informações de pagamentos.

Endereços da API:

Tipo Endereço
Produção ibpapps.herokuapps.com
Teste ibpapps-qa.herokuapps.com

Autenticação

Utilizando seu client_id e client_secret, acesse a rota /api/v1/suppliers/auth com autorização do tipo Basic Auth.

Basic Auth

Envie as credenciais no cabeçalho Authorization na seguinte forma:

Authorization: Basic <credenciais>

Onde <credenciais> deve ser a string <client_id>:<client_secret> codificados em base64.

Exemplo de cabeçalho:

Authorization: Basic RmlhRmhybVIxS3lWWGR5Zk10TW9YcEFZdE5DQmlNWG5na0ZiSDV6YUVUOTNISFc2NW04UG1jcTJVUHNKMzRDajpHTG8xdGt6czV2eE1FaVhCZEdoOGJwc3ZTSENHWTFnYWNnbllKYmNKRGprTVMzNTM4Q0R1NENNV003NkQ4eDgx

Exemplo de requisição:

curl -X POST \
  https://ibpapps-qa.herokuapp.com/api/v1/suppliers/auth \
  -H 'Authorization: Basic RmlhRmhybVIxS3lWWGR5Zk10TW9YcEFZdE5DQmlNWG5na0ZiSDV6YUVUOTNISFc2NW04UG1jcTJVUHNKMzRDajpHTG8xdGt6czV2eE1FaVhCZEdoOGJwc3ZTSENHWTFnYWNnbllKYmNKRGprTVMzNTM4Q0R1NENNV003NkQ4eDgx' \

Resposta

As chaves de acesso poderão ser encontradas no corpo:

{
  "access-token": <access-token>,
  "token-type": "Bearer",
  "client": <client>,
  "expiry": <expiry>,
  "uid": <uid>
}

As informações essênciais, que serão utilizadas na autenticação de rotas, são access-token, client e uid.

Erros

Cõdigo Erro Descrição
401 Acesso negado Caso o client_id e client_secrect não correspondam ou a requisição esteja mal formada.

Autorização de rotas

Para acessar qualquer rota disponibilizada, utilize os cabeçalhos access-token, client e uid com os valores recebidos na autenticação.

Exemplo de requisição:

curl -X GET \
  https://ibpapps-qa.herokuapp.com/api/v1/suppliers/me/payments \
  -H 'access-token: CBpBFBazMs6Mb2MqtV1RLA' \
  -H 'client: Igmech9OaJ_BGlk366cZwQ' \
  -H 'uid: rh2GVKBMyVMMbfyiRwDZ4GjREzZEaoKP'

Payments

Representação de um pagamento da IBP Club para um supplier. Contém todas os usos de cupons, compras online e compras presenciais do período, como na lista abaixo:

  • is_paid: Se este pagemento já foi concluído ou não;
  • payment_message: Observação da IBP Club;
  • from: Data inicial do período deste pagamento;
  • to: Data final do período deste pagamento;
  • total_usd: Valor do pagamento em dólares;
  • checkout_payments: Lista de cupons utilizados por usuários;
    • quantity: Quantidade de items do cupom;
    • created_at: Data de utilização;
    • item_name: Nome do item;
    • price_usd: Valor do item;
    • checkout_id: Identificador do uso;
    • seller_name: Nome do vendedor;
    • pos_code: Código da venda;
  • financial_records: Compras presenciais;
    • id: Identificador da compra;
    • record_type: Tipo da compra (o valor sempre será PAYMENT);
    • description: Descrição da compra;
    • date: Data da compra;
    • supplier_value: Valor taxado recebido pelo fornecedor;
    • currency: Moeda utilizada pelo fornecedor;
    • cashback: Cashback percentage;
    • cashback_value: Cashback value.

Rotas da API

Rotas disponíveis:

Propósito Método Rota Parâmetros
Autenticação POST /api/v1/suppliers/auth
Visualização de pagamentos GET /api/v1/suppliers/me/payment from, to, page, per_page

Visualização de pagamentos

Para visualizar pagamentos, utilize a seguinte rota:

POST /payment_requests

Parêmetros

  • from: Data inicial mínima;
  • to: Data final máxima;
  • page: Número da página;
  • per_page: Número de itens por página (padrão: 10).

Resposta

{
  "total_pages": 6,
  "current_page": 1,
  "payments": [{
    "is_paid": false,
    "payment_message": null,
    "from": "2019-11-01T15:00:00.000-03:00",
    "to": "2019-11-04T15:00:00.000-03:00",
    "total_usd": 2211.0,
    "checkout_payments": [{
      "quantity": 1,
      "created_at": "2019-11-01T16:04:49.270-03:00",
      "item_name": "teste 1",
      "price_usd": 2.72,
      "checkout_id": 130,
      "seller_name": "João",
      "pos_code": "122"
    }, {
      "quantity": 1,
      "created_at": "2019-11-01T15:40:48.036-03:00",
      "item_name": "teste 1",
      "price_usd": 2.72,
      "checkout_id": 129,
      "seller_name": "João",
      "pos_code": "123"
    }],
    "financial_records": [{
      "id": 1303,
      "record_type": "PAYMENT",
      "description": "Gastou em João Restaurante.",
      "date": "2019-11-04T14:17:39.480-03:00",
      "supplier_value": "2162.06",
      "currency": "USD",
      "cashback": "10.0",
      "cashback_value": 233.03
    }, {
      "id": 1290,
      "record_type": "PAYMENT",
      "description": "Gastou em João Restaurante.",
      "date": "2019-11-01T17:17:58.090-03:00",
      "supplier_value": "43.5",
      "currency": "USD",
      "cashback": "3.5",
      "cashback_value": 2.1
    }]
  }]
}

Exemplo de requisição

curl -X POST \
  https://ibpapps-qa.herokuapp.com/api/v1/suppliers/me/payment \
  -H 'access-token: CBpBFBazMs6Mb2MqtV1RLA' \
  -H 'client: Igmech9OaJ_BGlk366cZwQ' \
  -H 'uid: rh2GVKBMyVMMbfyiRwDZ4GjREzZEaoKP' \
  -F 'from=2019-10-01' \
  -F 'to=2019-11-01' \
  -F 'page=1'

Erros

Cõdigo Erro Descrição
401 Acesso negado Caso o client_id e client_secrect não correspondam ou não estejam presentes.
422 Dados inválidos Caso pelo menos um dos parâmetros seja inválido.

Ajuda

Caso ocorra algum erro ou tenha alguma dificuldades para integrar a API, por favor, entre em contato com o suporte pelo e-mail support@ibpclub.com.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment