Url de callback

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

roh.drigo
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 19 Mar 2019 09:27
Localização: marilia/sp

Url de callback

Mensagem por roh.drigo »

Gostaria de saber como crio uma url para callback, estou fazendo uma integração por api e a empresa pede uma url de callback.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Url de callback

Mensagem por JoséQuintas »

Se entendi direito, a empresa quer um webservice, é isso?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
roh.drigo
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 19 Mar 2019 09:27
Localização: marilia/sp

Url de callback

Mensagem por roh.drigo »

Acredito que seja isso, no caso seria para integração com apis para estoque de produtos e cadastros, para integrar com o site que eles fazem.
Seria essa empresa que faz http://developers.tray.com.br/
Só para fazer o cadastro eles já pedem a url de callback.

Cadastro do aplicativo
Para disponibilizar as chaves de integração é necessário informar alguns dados para a criação de uma aplicação.
Estes dados são divididos em dados do integrador, onde é necessário informar os dados da empresa que irá realizar a integração, e dados do aplicativo, com os dados para cadastro da aplicação. Segue abaixo os dados necessários:

Dados do integrador:
Nome do contato técnico
Email do contato técnico
Telefone do contato técnico
URL da empresa
Dados do aplicativo:

Nome da aplicação
Descrição da aplicação
URL de callback (Em ambiente seguro - SSL)
Imagem com o logo da aplicação (tamanho 70x70)
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Url de callback

Mensagem por alxsts »

[]´s
Alexandre Santos (AlxSts)
roh.drigo
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 19 Mar 2019 09:27
Localização: marilia/sp

Url de callback

Mensagem por roh.drigo »

Estou com um problema, não consigo fazer o sistema fazer o login, ele ate carrega os dados do site, mas não faz o login e preciso pegar depois do login também o retorno da url.
O que eles pedem:

TRAY
"Após a autorização, o cliente é redirecionado para URL informada no parâmetro callback passado no momento da autorização (no exemplo acima é a URL http://localhost/tray/callback/auth/), onde ficaria, seguindo os exemplos anteriores, da seguinte forma esta URL:
http://localhost/tray/callback/auth/?co ... ss=http://{URL da loja}/web_api/
Assim é possível capturar as informações dessa URL e utilizá-las para configurar em sua aplicação, sendo os parâmetros code e api_address mais importantes no processo de integração."

Segue minha programação

Código: Selecionar todos

cUrl := 'https://trayparceiros.commercesuite.com.br/auth.php?'+'response_type=code&consumer_key='+consumerkey+'&callback='+wcallback

aResult:= ""
cXml:=''
XML(@cXml,wnome,wsenha)

oHttp:= CreateObject( 'MSXML2.ServerXMLHTTP' )
oHttp:Open( "GET", cUrl, .f. )
oHttp:setRequestHeader('Content-Type'  , 'application/json;charset=UTF-8')
oHttp:Send(cXml)

IF oHttp:status <> 200 // diferente de aprovado
	MsgStop( Alltrim(Str(oHttp:status)) +" - "+ Alltrim(oHttp:ResponseText) , "Erro na requisição")
	MemoWrit('resposta.html', oHttp:ResponseText)  
	RETURN NIL
ENDIF
MemoWrit('resposta.html', oHttp:ResponseText)  // coloquei apenas para visualizar o retorno em caso de erro
x:= oHttp:responseText

//MSGINFO(x,"OK") // visualizar na tela

RETURN nil

*********************************************************************************************************
FUNCTION XML(cXml,wnome,wsenha)
	cXml:=[{]+hb_eol()
	cXml:= cXml + ["usuario": "]+wnome+[" ,]+hb_eol()
	cXml:= cXml + ["senha": "]+wsenha+["]+hb_eol()
	cXml:= cXml + [}]

	HB_MemoWrit('login.xml',cXml)
RETURN cXml
Editado pela última vez por Toledo em 09 Abr 2019 18:11, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
roh.drigo
Usuário Nível 1
Usuário Nível 1
Mensagens: 11
Registrado em: 19 Mar 2019 09:27
Localização: marilia/sp

Url de callback

Mensagem por roh.drigo »

Preciso fazer o login conforme o layout da Tray,

Solicitar autorização
O código de autorização é fornecido através do servidor de autenticação do Tray Commerce.

Para permitir acesso as informações e recursos da conta, o cliente deve ser redirecionado para a url de autenticação pelo navegador.(******SERA QUE TEM COMO FAZER SEM ABRIR O NAVEGADOR*****)
O Tray Commerce é responsável por receber a confirmação da autorização do cliente e fornecer o código de autorização ao aplicativo.

Url para autenticação: https://{dominio_da_loja}/auth.php

Parâmetros HTTP "GET" suportados para a autenticação:
response_type: Tipo de solicitação (Valor padrão code)
consumer_key: Identificação do aplicativo junto ao Tray Commerce.
callback: URL de Callback que será redirecionado depois da autorização

Depois pegar o retorno da url que retornar, conforme o tutorial da Tray:

Após a autorização, o cliente é redirecionado para URL informada no parâmetro callback passado no momento da autorização (no exemplo acima é a URL http://localhost/tray/callback/auth/), onde ficaria, seguindo os exemplos anteriores, da seguinte forma esta URL:

https://{dominio_da_loja}/auth.php?response_type=code&consumer_key=2r9dg7sgdb&callback=https://{url_de_callback}

Assim é possível capturar as informações dessa URL e utilizá-las para configurar em sua aplicação, sendo os parâmetros code e api_address mais importantes no processo de integração.

Com o code e api_address, deve-se utilizar a API de Gerar Chave de Acesso para gerar o valor do access_token utilizados nas outras APIs. É de extrema importância armazenar todas as informações de retorno desta API, pois serão utilizados constantemente durante a comunicação com a Tray.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Url de callback

Mensagem por JoséQuintas »

Aí complicou.
Talvez elas tenham exemplo de algum cliente que já faz isso.

Pesquisar detalhes sobre isso.... só se algum dia eu usar, igual acabou acontecendo com webservice de seguro, que só descobri quando chegou minha vez de usar, e mesmo assim levou alguns dias...
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Url de callback

Mensagem por lucimauro »

Ola, conseguiu concluir essa integração com tray?
Responder