1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Integração Datasul X E-millennium via API OData/REST

Discussão em 'EMS , HCM e Totvs 11' iniciado por Neivaldo, Janeiro 30, 2020.

  1. Neivaldo

    Neivaldo Membro Participativo

    Boa tarde,

    Alguém tem já fez ou tem algum material para auxiliar na realização de integração via API com o E-millennium?

    Só me foi informado que o acesso deve ser feito via endpoints com login e senha.

    Desde já agradeço.
  2. af.dums

    af.dums Membro Ativo

    Olá... Já fiz algumas integrações com JSON, XML, SOAP, REST, etc... Depende um pouco da tecnologia usada, não te passaram nenhuma documentação mais detalhada?
  3. Neivaldo

    Neivaldo Membro Participativo

    Boa tarde af.dumn,

    Sim me passaram um documentação, o retorno é via .JSON mas precisamos acessar a API via web, mas não estamos conseguindo fazer a comunicação com a URL que nos foi repassada, saberia me informar se há alguma documentação referente a este tipo de comunicação?

    Estou tentando fazer a requisição confome abaixo:

    assign oClient = ClientBuilder:Build():Client
    oUri = new URI("http", "191.233.25.152",6107) /* URI("metodo", "dominio", "porta") */
    oUri:path = "/api/millenium_eco/pedido_venda/listafaturamentos". /* URI:path: demais partes da URL destino */

    Existe alguma forma de testar esta chamada e seu retorno?

    Desde já muito obrigado.

    Att,
  4. af.dums

    af.dums Membro Ativo

    Arquivos Anexados:

  5. Neivaldo

    Neivaldo Membro Participativo

    Exato, amigo,

    Na verdade neste primeiro momento so precisamos testar o acesso, e realmente está com erro de permissão, conforme realizamos o teste abaixo:

    upload_2020-2-3_16-20-39.png

    Sabe como podemos fazer esta request informando usuário e senha na chamada? Onde informamos?

    Desde já muito obrigado.

    Att,
  6. af.dums

    af.dums Membro Ativo

    Olá.
    Uma forma de fazer é a abaixo, com autenticação simples, não sei se é essa que a URL espera:
    Código:
    USING OpenEdge.Net.HTTP.Credentials.
    USING OpenEdge.Net.HTTP.IHttpRequest.
    USING OpenEdge.Net.HTTP.IHttpResponse.
    USING OpenEdge.Net.HTTP.ClientBuilder.
    USING OpenEdge.Net.HTTP.RequestBuilder.
    
    
    DEFINE VARIABLE oCredentials AS Credentials   NO-UNDO.
    DEFINE VARIABLE oRequest     AS IHttpRequest  NO-UNDO.
    DEFINE VARIABLE oResponse    AS IHttpResponse NO-UNDO.
    
    DEFINE VARIABLE httpUrl  AS CHARACTER NO-UNDO. 
    DEFINE VARIABLE cUsuario AS CHARACTER NO-UNDO.
    DEFINE VARIABLE cSenha   AS CHARACTER NO-UNDO.
    
    
    UPDATE cUsuario FORMAT "X(20)" LABEL "Usuario"
           cSenha   FORMAT "X(20)" LABEL "Senha"
        WITH 1 COL SIDE-LABELS.
    
    httpUrl = "http://191.233.25.152:6017/api/millenium_eco/pedido_venda/listafaturamentos". 
    
    oCredentials = new Credentials('application', cUsuario, cSenha). 
    
    oRequest = RequestBuilder:Get(httpUrl) 
                    :AcceptJson()
                    :UsingBasicAuthentication(oCredentials)
                    :Request.
    
    oResponse = ClientBuilder:Build():Client:EXECUTE(oRequest).
    
    MESSAGE oResponse:StatusCode SKIP
            oResponse:StatusReason
        VIEW-AS ALERT-BOX INFO BUTTONS OK.
    
    

Compartilhe esta Página