Autenticação das Requisições às APIs

O modelo de autenticação para requisição das APIs segue o padrão OAuth 2.0, usando o tipo de autorização por client_credentials.

Neste modelo o cliente, que irá requisitar as APIs, deve primeiro requisitar um token de acesso através da rota disponível informando um client_id={}, um client_secret={}, o tipo de acesso grant_type=client_credentials e o escopo de acesso scope=parcerias/all.

O retorno desta requisição terá um token de acesso (access_token), seu prazo de validade (expires_in) em segundos desde a requisição e o tipo de token (token_type).

Com o access_token, as requisições às APIs fornecidas pela YOUSE devem ter como cabeçalho uma autorização indicando o valor do access_token e o valor do token_type.

As figuras abaixo representam o fluxo para requisitar o token de acesso e realizar as chamadas disponíveis pela API:

OAuth 2.0 modelo simples

OAuth 2.0 rotas e serviços

Exemplos de chamadas e respostas a serem executadas

Para obter o token de acesso

curl -XPOST https://stage-partner-auth.youse.io/oauth2/token --data 'client_id=61vdltov1bcnsbklf14dt88dml&client_secret=121n44bhmu0875inb4mvgsuocd8f9d0sm5o5s0dlrmn7q86eeqcr&grant_type=client_credentials&scope=parcerias/all' -H 'Content-type: application/x-www-form-urlencoded'

Retorno:

{
  "access_token": "eyJraWQiOiIwTjZFdnRWc3M0c1wvMDdCWVNmd3JkektPb2xQZFwvQVZCME9cLzlZSWZrSW44PSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiI2MXZkbHRvdjFiY25zYmtsZjE0ZHQ4OGRtbCIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoicGFyY2VyaWFzXC9hbGwiLCJhdXRoX3RpbWUiOjE2NjIxNDEzNjcsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC5zYS1lYXN0LTEuYW1hem9uYXdzLmNvbVwvc2EtZWFzdC0xX0ZMOE00SE1FZSIsImV4cCI6MTY2MjE0NDk2NywiaWF0IjoxNjYyMTQxMzY3LCJ2ZXJzaW9uIjoyLCJqdGkiOiI5YzdkMzEzYi1jOWFlLTRmZDctYjEzZi04ZGQ2YWMwMzg2NGYiLCJjbGllbnRfaWQiOiI2MXZkbHRvdjFiY25zYmtsZjE0ZHQ4OGRtbCJ9.I-dpM4uC0b2tYSr0XlEbe2OuF0Mk-NBkMDtq_ncPdZAjcfeUswYJnLEjGYBDA5pfVqLpfqSNPsdMNw7aXqP5iUe36hC6yV33vIsXVbZjE4aUb-HN8OiWhd0GK7pocYBEqJCNbrfScIIIWzEjWDdCQ7KRkPa2k3aIZeMymTSNTCVF85DbAzvbHQTq1wHL02h9LcRUwegR-Mf0e3x4_idyKZmRpfZMmHfEpHLpf9tqJmtnHXE2oF7QuG8O2c__ugnbkVFHBwJmgfPtBWhBdqhNEGtZF3WpiP1Sz9PKAS1fvRS2UJKVGm1kba6cezAs4zLXbdkCVxZvMmK9yL_-AcXLVQ",
  "expires_in": 3600,
  "token_type": "Bearer"
}

Para obter o conteúdo via GRAPHQL

curl -XPOST  https://stage-partner-gw-api.youse.io/v1/graphql -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Authorization: Bearer eyJraWQiOiIwTjZFdnRWc3M0c1wvMDdCWVNmd3JkektPb2xQZFwvQVZCME9cLzlZSWZrSW44PSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiI2MXZkbHRvdjFiY25zYmtsZjE0ZHQ4OGRtbCIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoicGFyY2VyaWFzXC9hbGwiLCJhdXRoX3RpbWUiOjE2NjIxNDEzNjcsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC5zYS1lYXN0LTEuYW1hem9uYXdzLmNvbVwvc2EtZWFzdC0xX0ZMOE00SE1FZSIsImV4cCI6MTY2MjE0NDk2NywiaWF0IjoxNjYyMTQxMzY3LCJ2ZXJzaW9uIjoyLCJqdGkiOiI5YzdkMzEzYi1jOWFlLTRmZDctYjEzZi04ZGQ2YWMwMzg2NGYiLCJjbGllbnRfaWQiOiI2MXZkbHRvdjFiY25zYmtsZjE0ZHQ4OGRtbCJ9.I-dpM4uC0b2tYSr0XlEbe2OuF0Mk-NBkMDtq_ncPdZAjcfeUswYJnLEjGYBDA5pfVqLpfqSNPsdMNw7aXqP5iUe36hC6yV33vIsXVbZjE4aUb-HN8OiWhd0GK7pocYBEqJCNbrfScIIIWzEjWDdCQ7KRkPa2k3aIZeMymTSNTCVF85DbAzvbHQTq1wHL02h9LcRUwegR-Mf0e3x4_idyKZmRpfZMmHfEpHLpf9tqJmtnHXE2oF7QuG8O2c__ugnbkVFHBwJmgfPtBWhBdqhNEGtZF3WpiP1Sz9PKAS1fvRS2UJKVGm1kba6cezAs4zLXbdkCVxZvMmK9yL_-AcXLVQ' --data-binary '{"query":"query {\n  occupations {\n    code\n    name\n  }\n}\n","variables":{}}'

Retorno:

{
    "data": {
        "occupations": [
            {
                "name": "Abatedor",
                "code": "848505"
            },
            {
                "name": "Acabador de calçados",
                "code": "764305"
            },
            {
                "name": "Açougueiro",
                "code": "848510"
            },
            {
                "name": "Acrobata",
                "code": "376205"
            }
        ]
    }
}

Para saber quais são as rotas/operações disponíveis, veja a documentação técnica da API GraphQL.