-
Notifications
You must be signed in to change notification settings - Fork 3
Simular requisicao rest
Para acessar as APIs do VPSA, o aplicativo deve solicitar a permissão do seu usuário. Este processo é feito através do protoloco OAuth. Quando o aplicativo desejar acessar os serviços da API do VPSA, ele deve iniciar o fluxo abaixo para obter um token de acesso. Este token fornecerá ao aplicativo permissões para acessar os dados da empresa do seu usuário.
Para acessar os dados no VPSA, o desenvolvedor deve criar uma conta no DevCenter e cadastrar seu aplicativo. Este cadastro gerará duas informações:
- client_id: o ID do aplicativo no VPSA
- client_secret: a chave do aplicativo para acesso à API. Esta chave deve ser mantida em segredo.
Ambas as informações serão necessárias para realizar o fluxo de autorização.
A obtenção do token se dá em duas etapas. Na primeira, o aplicativo obtém um authorization code. Na segunda, o aplicativo usa o authorization code para obter o token.
Para iniciar o fluxo de autorização via OAuth, o aplicativo deve redirecionar o usuário para o seguinte endereço:
https://www.vpsa.com.br/apps/oauth/authorization?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI
Onde:
- client_id: o client_id gerado no cadastro do aplicativo
- redirect_uri: URL do aplicativo para onde o usuário deve ser redirecionado de volta. Exemplo: http://www.meuapp.com.br/oauth/callback
Quando o usuário é redirecionado, o VPSA solicita o seu login e pergunta se ele permite que o aplicativo acesse seus dados. Se o usuário aceitar, o VPSA o redireciona para a redirect_uri informada.
Ao redirecionar, o VPSA envia na requisição o seguinte parâmetro:
- code: authorization code gerado.
Exemplo:
http://www.meuapp.com.br/oauth/callback?code=AUTHORIZATION_CODE
Ao receber a requisição na redirect_uri o aplicativo deve guardar o authorization_code recebido e realizar a seguinte chamada para obter o token, direto do seu servidor para o servidor da VPSA:
POST https://www.vpsa.com.br/apps/oauth/token
Passando no corpo da requisição os seguintes parâmetros:
- grant_type: usar o texto "authorization_code".
- client_id: O ID do aplicativo no VPSA, obtido no cadastro.
- client_secret: A chave do aplicativo para acesso à API, obtida no cadastro.
- redirect_uri: a mesma redirect_uri utilizada na obtenção do authorization code.
- code: o authorization_code obtido no passo anterior.
Esses parâmetros podem ser enviados tanto com "Content-Type: application/x-www-form-urlencoded" quanto com "Content-Type: application/json".
Exemplos:
POST https://www.vpsa.com.br/apps/oauth/token Content-Type: application/x-www-form-urlencoded client_id=506329c6d93aab197a000013&client_secret=9182dcef5abc948c845236c0dad0b3c6201f56545a232a9c21803e3a2433372b& code=21111f6f88fb5d70a6441f862a2342d40f8345fa7cf75ca45654a7b21381049&grant_type=authorization_code& redirect_uri=http%3A%2F%2Fmeudominio%2Foauth%2Fcallback
POST https://www.vpsa.com.br/apps/oauth/token Content-Type: application/json { "grant_type":"authorization_code", "client_id":"502e7de8d93a4b4aad000010", "client_secret":"2f630161f708371433e0ff24e6a5b3705b566bbda8c85205b3d6deb6b1b744c9", "redirect_uri":"http://www.meuapp.com.br/oauth/calback", "code":"5d27be8e3bc6fac6ecfcd30c46188da0223b1b7df2e451a7f8aa643058c362cf" }
A resposta desta requisição trará um JSON, contendo os seguintes parâmetros:
- access_token: o token gerado.
- expires_in: segundos de duração do token.
- refresh_token: token utilizado para gerar um novo token com nova data de expiração.
- cnpj_empresa: o CNPJ da empresa, cliente da VPSA, na qual o usuário logou.
- id_terceiro: o id do usuário logado. Para obter mais dados do usuário é possível consultar a API de terceiros com este ID.
- nome_terceiro: o nome do usuário logado.
Exemplo:
{ "access_token":"4285007069f6e024ff10bece2c772acd4733bc4f363e316517147f751fd351e9", "expires_in":1800, "refresh_token":"e4e8ae71ddf715db5b75f32349719e05acd64c80b5ac633861ed0e4af4dddaf0", "cnpj_empresa":"99999999000199", "id_terceiro":"123", "nome_terceiro":"Nome do Usuário" }
Com o token, o aplicativo pode realizar as chamadas à API do VPSA.
O token pode ser enviado no body da requisição, em um JSON. Exemplo:
GET: https://www.vpsa.com.br/apps/api/terceiros { "token":"4285007069f6e024ff10bece2c772acd4733bc4f363e316517147f751fd351e9" }
Ou pode ser enviado como parâmetro da requisição. Exemplo:
GET: https://www.vpsa.com.br/apps/api/terceiros?token=4285007069f6e024ff10bece2c772acd4733bc4f363e316517147f751fd351e9
- Rails: rails-oauth-client
Administrativo
- GET dados-login
- GET empresas
- GET entidades
- GET Grupo entidades
- GET Campos Custom.
- ENDPOINTS terceiros
- GET classificacoes-clientes
- ENDPOINTS Usuários
- GET permissao-usuario
- GET marcas
Comercial
Compras
Financeiro
- ENDPOINTS adiantamentos
- POST baixas
- POST estorno baixa
- GET boletos
- POST boletos
- GET Impressao boletos
- GET contas-disponibilidade
- GET contas-pagar
- GET contas-receber
- GET lancamentos-padroes
- GET negociacoes-cartao
- GET planos-gerenciais
- GET plano-contabil
- GET planos-financeiro
- GET previsoes
- POST provisoes
- DELETE Provisão
- POST reneg. receber
- POST reneg. pagar
- PUT transacao-cartao
Controle de crédito
Fiscal
- GET classificao-produtos
- GET conhecim. transporte
- GET cupons fiscais
- GET notas-consumo
- GET notas-mercadoria
- GET XML notas-mercadorias
- GET DANFE notas mercadoria
- GET notas-servico
- GET reducoes-z
Contábil
Operacional
- POST ajuste-estoque
- GET canais-digitais
- ENDPOINTS Categorias
- GET conferencias-caixa
- GET custo-produtos
- GET devolucoes
- GET entradas
- POST entradas
- GET Niveis Categoria
- GET Orcamentos
- PUT Orcamentos
- POST Orcamentos
- DELETE Orcamentos
- GET Reserva estoque
- PUT Cancelar Reserva
- ENDPOINTS Pedidos
- GET planos-pagamento
- ENDPOINTS Produtos
- GET atendimentos
- GET saidas
- POST entrada movimentação própria
- POST saída movimentação própria
- GET saldos-liquidos-mercadorias
- GET saldos-mercadorias
- GET servicos
- POST servicos
- PUT servicos
- GET tabelas-preco
- GET configuracoes-preco
- POST tabelas-preco
- PUT tabelas-preco
- GET preco-produtos
- PUT preco-produtos
- GET preco-servicos
- PUT preco-servicos
- GET unidades
- POST unidades
- PUT unidades
- POST transferencia
- GET atributos de produto
- ENDPOINTS ações promocionais
- GET Status Pedido Venda
- Integração com Ecom
- Coleta de Alterações
- Paginação de Resultados
- Obter Pagamento de Vendas
- Nota de Devolução de Venda
- Filtro de Datas
- Filtro de Entidades
- Filtro de CPF ou CNPJ
- Filtro de Representantes
- Filtro de Terceiro
- Filtro de Integração