Skip to main content

LivePix API (2.0.0)

Download OpenAPI specification:Download

Intro

A API LivePix foi construida utilizando tecnologias atuais, provendo segurança e padronização.

Rate Limit

Para garantir o uso justo da API, cada endpoint é protegido por um limite de requisições que reseta a cada minuto. Se você ultrapassar o limite máximo de chamadas no mesmo minuto para um mesmo endpoint, a API passará a retornar HTTP 429 Too Many Requests até que o limite seja resetado no próximo minuto.

Para saber qual o limite de cada endpoint, verifique o valor do header X-RateLimit-Limit na resposta do endpoint.

OAuth2

A API LivePix utiliza OAuth2 para gerenciar as permissões de acesso a API. Você pode se autenticar utilizando suas credenciais de cliente ou como um usuário terceiro através do fluxo de autorização.

Crie uma aplicação nas configurações da sua conta para obter o client_id e client_secret necessários para os passos abaixo.

Credenciais do cliente

Para autenticar na sua própria conta, você pode utilizar o grant client_credentials:

POST https://oauth.livepix.gg/oauth2/token
grant_type=client_credentials&client_id=<id do cliente>&client_secret=<segredo do cliente>&scope=<permissoes>

A requisição acima deve retornar o token de acesso para a conta conforme o exemplo abaixo:

{
  "access_token": "...",
  "expires_in": 3600,
  "scope": "account:read wallet:read webhooks",
  "token_type": "bearer"
}

Código de autorização

Para solicitar permissão para acessar uma conta de terceiro, siga o fluxo de autorização abaixo:

  • Redirecione o usuário para a URL abaixo (substitua os parâmetros pelos configurados na sua aplicação):
https://oauth.livepix.gg/oauth2/auth?client_id=<id do cliente>&redirect_uri=<url de redirecionamento>&response_type=code&scope=<permissoes>&state=<state>

O usuário será direcionado para uma página onde revisará as permissões solicitadas e poderá aprovar ou não a conexão.

  • Após o usuário aprovar, o usuário será redirecionado para a URL configurada no parâmetro redirect_uri com um parâmetro code na URL que será utilizado no passo a seguir.

  • Utilize a requisição abaixo para trocar o token recebido no parâmetro code por um token de acesso que será utilizado para requisitar a API:

POST https://oauth.livepix.gg/oauth2/token
grant_type=authorization_code&client_id=<id do cliente>&client_secret=<segredo do cliente>&code=<valor do parametro code>&redirect_uri=<url de redirecionamento>

A requisição acima deve retornar o token de acesso para a conta conforme o exemplo abaixo:

{
  "access_token": "...",
  "expires_in": 3600,
  "scope": "account:read wallet:read webhooks",
  "token_type": "bearer"
}

Limite de emissão de tokens

Você deve utilizar os tokens emitidos até sua expiração para evitar chamadas desnecessárias ao servidor OAuth. Nossa equipe monitora constantemente a atividade em nossa API e caso seja detectado uso incorreto da emissão de tokens, a conta poderá ser encerrada.

Webhooks

Você pode configurar uma URL para receber notificações de mensagens e assinaturas recebidas.

Ao receber uma mensagem ou assinatura, a URL configurada será chamada com as informações do evento no corpo da requisição. Se a primeira chamada falhar, a URL será chamada a cada 10 minutos até que a mesma retorne uma resposta de sucesso (HTTP 200) em até 24 horas.

Por segurança, apenas algumas informações básicas são enviadas a URL configurada no webhook. Para obter todos os detalhes da mensagem ou assinatura, você deve realizar uma chamada a API.

Conta

Endpoints para interagir com os dados da conta do usuário

Consultar conta

Consultar conta

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{}

Pagamentos

Endpoints para interagir com os pagamentos recebidos e iniciar novos pagamentos

Pagamento recebido Webhook

Evento enviado quando o usuário recebe um pagamento

Request Body schema: application/json
userId
string

ID do usuário

clientId
string

ID do cliente da aplicação

event
string

Evento

object

Responses

Request samples

Content type
application/json
{
  • "userId": "61021c7bdabe5e001225b65b",
  • "clientId": "61021c7bdabe5e001225b65b",
  • "event": "new",
  • "resource": {
    }
}

Consultar pagamentos recebidos

Consultar pagamentos recebidos

Authorizations:
OAuth2
query Parameters
proof
string

Filtrar pagamentos pelo comprovante

reference
string

Filtrar pagamentos pela referência

currency
string

Filtrar pagamentos pela moeda

page
int

Número da página

limit
int

Limite de itens por página

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Iniciar pagamento

Iniciar pagamento

Authorizations:
OAuth2
Request Body schema: application/json
amount
integer

Valor do pagamento em centavos

currency
string

Moeda do pagamento (BRL, BNB, etc)

redirectUrl
string

URL para redirecionar o usuário de volta após o pagamento

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Consultar pagamento

Consultar pagamento

Authorizations:
OAuth2
path Parameters
paymentId
required
string

ID do pagamento

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Mensagens

Endpoints para interagir com as mensagens recebidas e iniciar o envio de novas mensagens

Mensagem recebida Webhook

Evento enviado quando o usuário recebe uma mensagem

Request Body schema: application/json
userId
string

ID do usuário

clientId
string

ID do cliente da aplicação

event
string

Evento

object

Responses

Request samples

Content type
application/json
{
  • "userId": "61021c7bdabe5e001225b65b",
  • "clientId": "61021c7bdabe5e001225b65b",
  • "event": "new",
  • "resource": {
    }
}

Consultar mensagens recebidas

Consultar mensagens recebidas

Authorizations:
OAuth2
query Parameters
proof
string

Filtrar transações pelo comprovante

reference
string

Filtrar transações pela referência

currency
string

Filtrar transações pela moeda

page
int

Número da página

limit
int

Limite de itens por página

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Enviar mensagem

Enviar mensagem

Authorizations:
OAuth2
Request Body schema: application/json
username
string

Nome de usuário autor da mensagem

message
string

Mensagem

amount
integer

Valor da mensagem em centavos

currency
string

Moeda da mensagem (BRL, BNB, etc)

redirectUrl
string

URL para redirecionar o usuário de volta após o pagamento

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Consultar mensagem

Consultar mensagem

Authorizations:
OAuth2
path Parameters
messageId
required
string

ID da mensagem

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Assinaturas

Endpoints para interagir com as assinaturas recebidas e planos de assinatura e iniciar o envio de novas assinaturas

Assinatura recebida Webhook

Evento enviado quando o usuário recebe uma assinatura

Request Body schema: application/json
userId
string

ID do usuário

clientId
string

ID do cliente da aplicação

event
string

Evento

object

Responses

Request samples

Content type
application/json
{
  • "userId": "61021c7bdabe5e001225b65b",
  • "clientId": "61021c7bdabe5e001225b65b",
  • "event": "new",
  • "resource": {
    }
}

Assinatura cancelada Webhook

Evento enviado quando a assinatura é cancelada

Request Body schema: application/json
userId
string

ID do usuário

clientId
string

ID do cliente da aplicação

event
string

Evento

object

Responses

Request samples

Content type
application/json
{
  • "userId": "61021c7bdabe5e001225b65b",
  • "clientId": "61021c7bdabe5e001225b65b",
  • "event": "cancelled",
  • "resource": {
    }
}

Consultar planos

Consultar planos

Authorizations:
OAuth2
query Parameters
page
int

Número da página

limit
int

Limite de itens por página

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Criar plano

Criar plano

Authorizations:
OAuth2
Request Body schema: application/json
slug
string

Slug do plano

name
string

Nome do plano

description
string

Descrição do plano

amount
string

Valor do plano em centavos

currency
string

Moeda do plano

Responses

Request samples

Content type
application/json
{
  • "slug": "basic",
  • "name": "Basic",
  • "description": "Basic",
  • "amount": 1000,
  • "currency": "BRL"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Exibir plano

Exibir plano

Authorizations:
OAuth2
path Parameters
planId
required
string

ID do plano

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Atualizar plano

Atualizar plano

Authorizations:
OAuth2
path Parameters
planId
required
string

ID do plano

Request Body schema: application/json
slug
string

Slug do plano

name
string

Nome do plano

description
string

Descrição do plano

amount
string

Valor do plano em centavos

Responses

Request samples

Content type
application/json
{
  • "slug": "basic",
  • "name": "Basic",
  • "description": "Basic",
  • "amount": 1000
}

Excluir plano

Excluir plano

Authorizations:
OAuth2
path Parameters
planId
required
string

ID do plano

Responses

Consultar assinaturas recebidas

Consultar assinaturas recebidas

Authorizations:
OAuth2
query Parameters
status
string
Enum: "active" "pending" "cancelled"

Filtrar assinaturas pelo status

currency
string

Filtrar assinaturas pela moeda

page
int

Número da página

limit
int

Limite de itens por página

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Enviar assinatura

Enviar assinatura

Authorizations:
OAuth2
Request Body schema: application/json
planId
string

ID do plano de assinatura

recurrence
string
Enum: "monthly" "quarterly" "semiannual" "yearly"

Recorrência da assinatura

object
redirectUrl
string

URL para redirecionar o usuário de volta após o pagamento

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Consultar assinatura

Consultar assinatura

Authorizations:
OAuth2
path Parameters
subscriptionId
required
string

ID da assinatura

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Consultar pagamentos da assinatura

Consultar pagamentos da assinatura

Authorizations:
OAuth2
path Parameters
subscriptionId
required
string

ID da assinatura

query Parameters
proof
string

Filtrar pagamentos pelo comprovante

page
int

Número da página

limit
int

Limite de itens por página

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Recompensas

Endpoints para interagir com as recompensas do usuário

Consultar recompensas

Consultar recompensas

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Consultar recompensas concedidas

Consultar recompensas concedidas

Authorizations:
OAuth2
path Parameters
rewardId
required
string

ID da recompensa

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Moedas

Endpoints para interagir com as configurações de moedas do usuário

Consultar moedas do usuário

Consultar moedas do usuário

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Carteira

Endpoints para interagir com a carteira do usuário

Consultar saldo

Consultar saldo

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Consultar transações

Consultar transações

Authorizations:
OAuth2
path Parameters
currency
required
string
Example: BRL

Moeda das transações

query Parameters
page
int

Número da página

limit
int

Limite de itens por página

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Consultar transações pendentes de liberação

Consultar transações pendentes de liberação

Authorizations:
OAuth2
path Parameters
currency
required
string
Example: BRL

Moeda das transações

query Parameters
page
int

Número da página

limit
int

Limite de itens por página

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Webhooks

Endpoints para configurar os webhooks do usuário

Consultar webhooks

Consultar webhooks

Authorizations:
OAuth2
query Parameters
page
int

Número da página

limit
int

Limite de itens por página

Responses

Response samples

Content type
application/json
{}

Criar webhook

Criar webhook

Authorizations:
OAuth2
Request Body schema: application/json
url
string

URL do webhook

Responses

Request samples

Content type
application/json

Response samples

Content type
application/json
{
  • "data": {
    }
}

Excluir webhook

Excluir webhook

Authorizations:
OAuth2
path Parameters
webhookId
required
string

ID do webhook

Responses

Controles

Consultar estado dos controles do usuário

Consultar estado dos controles do usuário

Authorizations:
OAuth2

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Atualizar estado dos controles do usuário

Atualizar estado dos controles do usuário

Authorizations:
OAuth2
Request Body schema: application/json
autoPlay
boolean

Indica se os alertas são exibidos automaticamente.

Responses

Request samples

Content type
application/json
{
  • "autoPlay": true
}

Pular alerta atual

Pular alerta atual

Authorizations:
OAuth2

Responses

Reexibir último alerta

Reexibir último alerta

Authorizations:
OAuth2

Responses