Sage / sageone_br_nfe_documentacao_api

Documentação para a API do Sage One BR
MIT License
15 stars 5 forks source link

autenticacao OAUTH2 inconsistente #36

Open zoqui opened 7 years ago

zoqui commented 7 years ago

De acordo com o exemplo encontrado em: https://github.com/Sage/sageone_br_nfe_documentacao_api/wiki

A autorização para uso da api no Brasil é feita através da url: https://app.br.sageone.com/oauth2/auth e não através da url padrão https://www.sageone.com/oauth2/auth

Porém, não há menção de outra url que faça a autenticação (troca pelo access_token) do código autorizado , restando apenas a descrita na documentação original: https://api.sageone.com/oauth2/token

Vale lembrar que a url de autorização brasileira só é vista no exemplo (Não há sequer descrição de que não deve ser usada a da documentação original)

Os endpoints de autorização e autenticacao tbem não constam nas listagem:

https://developer.columbus.sage.com/docs#/ca/sageone/accounts/gs-authentication

CA https://mysageone.ca.sageone.com/oauth2/token DE https://oauth.eu.sageone.com/token ES https://oauth.eu.sageone.com/token FR https://oauth.eu.sageone.com/token GB https://app.sageone.com/oauth2/token IE https://app.sageone.com/oauth2/token US https://mysageone.na.sageone.com/oauth2/token

Tarcisiosk commented 7 years ago

Olá @zoqui em qual passo você parou na autorização?

zoqui commented 7 years ago

Tarcisio, obrigado pela ajuda. A autorização e autenticação estão funcionando recebo os tokens (access_token e refresh_token). Montagem de headers para assinatura das requisições foram feitas tbem, porém o retorno para qualquer requisição é sempre "Access Denied"

Anexo classe python usada para assinar as requisiçoes.

sageone.txt

Testamos a autorização da aplicação nos endpoints abaixo:

SAGEONE_URL_AUTH="https://app.br.sageone.com/oauth2/auth" SAGEONE_URL_AUTH="https://www.sageone.com/oauth2/auth"

Porém a troca de code pelo access_token está sempre sendo feita através da url abaixo pois não encontramos nenhuma documentação para os endpoints brasileiros

SAGEONE_URL_TOKEN='https://api.sageone.com/oauth2/token'

A aplicação cadastrada é a autosis, e estranhamente sageone sempre pede que o usuário conceda nova autorização, mesmo já tendo sido concedido.

Testamos requisições para os seguintes serviços:

https://api.sageone.com/core/v2/business https://api.sageone.com/core/v2/me

https://app.br.sageone.com/core/v2/business https://app.br.sageone.com/core/v2/me https://app.br.sageone.com/notafiscal/v1/clients.sdata https://app.br.sageone.com/notafiscal/v1/issuer.sdata

Estamos fazendo algo errado?

Tarcisiosk commented 7 years ago

Poderia por gentileza tentar com as seguintes URLs? https://api.sageone.biz/oauth2/auth https://api.sageone.biz/oauth2/token

zoqui commented 7 years ago

ainda não foi desta vez....

agora, nem a página de autorização da aplicação registrada no sageone é mostrada... o retorno foi o json abaixo: {"$diagnoses":[{"$severity":"error","$dataCode":"AuthorizationFailure","$message":"Access Denied","$source":""}]}

Testei: https://api.sageone.biz/oauth2/auth?response_type=code&scope=full_access&client_id=CLIENTID&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Fnfse e https://api.sageone.biz/oauth2/auth?response_type=code&scope=full_access&client_id=CLIENTID&redirect_uri=http://localhost:8080/nfse

onde CLIENTID é da aplicação registrada

Tarcisiosk commented 7 years ago

Olá desculpe se estou sendo repetitivo, apenas para confirmar:

Irei postar um pequeno exemplo em ruby que temos funcionando, irei tentar ver como é em python também para melhor ajudá-lo, mas por enquanto se ajudar de alguma maneira está abaixo:

OAuth2::Client.new(CLIENT_ID, CLIENT_SECRET,
      site: API_URL,
      authorize_url: '/oauth2/auth',
      token_url: '/oauth2/token',
      token_method: :post
    )

Onde: API_URL = 'http://app.br.sageone.com/' para autorizar o acesso API_URL = https://api.sageone.com' para realizar as chamadas CLIENT_ID e CLIENT_SECRET gerados no developer.sageone.com

Para gerar o código:

https://app.br.sageone.com/oauth2/auth?client_id=<CLIENT_ID>&redirect_uri=<REDIRECT_URI>&response_type=code

Onde CLIENT_ID gerado no developer.sageone.com REDIRECT_URI url de callback

zoqui commented 7 years ago

Tarcisio, obrigado,

Sim peguei as credenciais (todas) quando registrei a aplicação autosis no developer.sageone.com

Com relação aos testes, em seu penultipo post, você sugere utilizar a autorizacao e autenticacao nos endpoints: https://api.sageone.biz/oauth2/auth https://api.sageone.biz/oauth2/token

porém em seu ultimo exemplo a autenticação é feita em https://app.br.sageone.com/oauth2/auth

tá confuso.

Sugiro atualizar a Wiki com os endpoints corretos (apenas um pra cada recurso) e de preferencia usar a url completa. Nos exemplos encontrados as urls são "/notafiscal/v1/clients.sdata" ou "/notafiscal/v1/issuer.sdata" e persiste a duvida da raiz da api brasileira,

Tarcisiosk commented 7 years ago

As urls:

https://api.sageone.biz/oauth2/auth
https://api.sageone.biz/oauth2/token

Foram apenas para teste. As corretas são mesmo as:

API_URL = 'http://app.br.sageone.com/' para autorizar o acesso
API_URL = https://api.sageone.com' para realizar as chamadas

Irei averiguar um pouco melhor seu caso, talvez eu peça algumas informações por email.

zoqui commented 7 years ago

vc escreveu: API_URL = 'http://app.br.sageone.com/' para autorizar o acesso API_URL = https://api.sageone.com' para realizar as chamadas

vamos la... 1) o schema não é httpS para autenticar? 2) se a url basica para requisicão é: https://api.sageone.com, a url pro recurso cliente descrito na página https://github.com/Sage/sageone_br_nfe_documentacao_api/wiki/Clientes seria... https://api.sageone.com/notafiscal/v1/clients.sdata Certo?

Tarcisiosk commented 7 years ago

Correto, você poderia passar a hash e os parâmetros que está usando para a solicitação?

zoqui commented 7 years ago

fornecido pvt

zoqui commented 7 years ago

depois de 7 dias sem retorno... acredito que nada tenha sido feito para corrigir a api.

Tarcisiosk commented 7 years ago

Olá @zoqui: O senhor me enviou por email que estava tentando outro sistema, eu enviei ao senhor: "assim que tivermos novidades eu entro em contato com você para podermos tentar mais uma vez." O processo de melhoria irá ocorrer, porém temos prioridades com o sistema web, aviso novamente que assim que tivermos novidades entraremos em contato. Desculpe pelo inconveniente.

Obrigado!

zoqui commented 7 years ago

@Tarcisiosk nao entendi sua reposta. A API do sageone não foi feita para um projeto em particular, e não importa se o sageone não pôde ser integrado devido ao orçamento ou tempo expirado de um projeto cliente. A API deve funcionar para eliminar retrabalho e erros uma vez que muitos clientes já possuem sistemas com informações que podem ser utilizadas para emissão das notas (como dados dos clientes e tabela de preços de produtos e serviços) No nosso caso em particular, um cliente não quis esperar a boa vontade dos desenvolvedores da sage brazuca, mas não significa que API esteja funcionando para outros casos de uso. A comunidade não tem nada a ver com a falta de recursos humanos da sage ou suas prioridades. Se precisa de ajuda para testes estamos aqui aqui para auxilia-los e é isso que move o desenvolvimento colaborativo (alias vcs hospedaram a api no github, onde podemos abrir tickets, clonar e fazer commits sempre com o intuito de melhorar o codigo, documentação e a usabilidade do sistema, certo?)

Uma outra preocupação é que segundo o http://developer.sageone.com, as versões 1 e 2 já não terão mais suporte oficial a partir de julho deste ano, e a sage brazuca ainda luta pra fazer a v1 funcionar...

LucasArgate commented 6 years ago

@zoqui conseguiu fazer alguma coisa funcionar ai ?

zoqui commented 6 years ago

sim, migrei pro acras e tudo funciona perfeitamente obrigado

Marco Aurélio Zoqui

If you want to go faster, go alone. If you want to go far, go together. (African quote)

[image: novo_75x75_monkey.png]

[image: Zoqui´s web site]

✆ +55 19 99104-2827 🕿 +55 19 4042-0100

[image: Follow @mazoqui] [image: Follow Marco A Zoqui at Facebook] [image: Find me in linkedin] [image: Chat with me at Skype]

On Tue, Mar 6, 2018 at 2:12 PM, Lucas Argate notifications@github.com wrote:

@zoqui https://github.com/zoqui conseguiu fazer alguma coisa funcionar ai ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Sage/sageone_br_nfe_documentacao_api/issues/36#issuecomment-370855790, or mute the thread https://github.com/notifications/unsubscribe-auth/AFqaZmBFUzmr9VRrMqCa-9C3Y138jPxMks5tbsOJgaJpZM4NuhCp .

LucasArgate commented 6 years ago

to tendo dificuldades tbm... tem erro pra tudo conter lado, parece uma plataforma amadora.... tenho até o dia 15 pra terminar a integração e to vendo que não vou conseguir...

vlw ai

zoqui commented 6 years ago

entre com contato comigo, talvez eu possa ajuda-lo. marco [at] zoqui [dot] com

Marco Aurélio Zoqui

If you want to go faster, go alone. If you want to go far, go together. (African quote)

[image: novo_75x75_monkey.png]

[image: Zoqui´s web site]

✆ +55 19 99104-2827 🕿 +55 19 4042-0100

[image: Follow @mazoqui] [image: Follow Marco A Zoqui at Facebook] [image: Find me in linkedin] [image: Chat with me at Skype]

2018-03-06 15:28 GMT-03:00 Lucas Argate notifications@github.com:

to tendo dificuldades tbm... tem erro pra tudo conter lado, parece uma plataforma amadora.... tenho até o dia 15 pra terminar a integração e to vendo que não vou conseguir...

vlw ai

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Sage/sageone_br_nfe_documentacao_api/issues/36#issuecomment-370880311, or mute the thread https://github.com/notifications/unsubscribe-auth/AFqaZuZqAUNRxwzGD2Hrwb561Q4dtUMEks5tbtVcgaJpZM4NuhCp .

GeovaneHiMaker commented 6 years ago

Desisti da minha integração com essa API. Consegui uma outra solução, se quiser o contato me manda um email (geovane@himaker.com.br)

LucasArgate commented 6 years ago

Então, a empresa ta dando um tiro no pé. Vou aguardar o email, caso não tiver nenhuma resposta eu migro tbm, muito obrigado ai pessoal, @GeovaneHiMaker e @zoqui

zoqui commented 6 years ago

Se precisarem de emitir nota de serviço, entre em contato comigo. Fiz a implementação e tenho revenda de serviço com preço bem abaixo do mercado.

Marco Aurélio Zoqui

If you want to go faster, go alone. If you want to go far, go together. (African quote)

[image: novo_75x75_monkey.png]

[image: Zoqui´s web site]

✆ +55 19 99104-2827 🕿 +55 19 4042-0100

[image: Follow @mazoqui] [image: Follow Marco A Zoqui at Facebook] [image: Find me in linkedin] [image: Chat with me at Skype]

2018-03-06 15:46 GMT-03:00 Lucas Argate notifications@github.com:

Então, a empresa ta dando um tiro no pé. Vou aguardar o email, caso não tiver nenhuma resposta eu migro tbm, muito obrigado ai pessoal, @GeovaneHiMaker https://github.com/geovanehimaker e @zoqui https://github.com/zoqui

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Sage/sageone_br_nfe_documentacao_api/issues/36#issuecomment-370885853, or mute the thread https://github.com/notifications/unsubscribe-auth/AFqaZnnZQ09VuhbL72JVcEGLTnSIkZZlks5tbtmMgaJpZM4NuhCp .