POST/api/v2/partners/auth/login

Login do Parceiro

Faz o login do parceiro conforme as credenciais informadas e retorna um token de autenticação Bearer.

Descrição das propriedades do response:

CampoTipoDescrição
access_tokenstringToken JWT que deve ser usado para autenticação.
token_typestringTipo do token retornado (sempre bearer).
expires_inintTempo de expiração do token em segundos.

Observações

  • Utilize o access_token retornado como Bearer Token no cabeçalho Authorization para autenticar suas próximas requisições.
  • Substitua {{ client_id }} e {{ client_secret }} pelas credenciais fornecidas para o seu parceiro.
  • O token tem validade limitada e deve ser renovado quando expirar.
  • Mantenha suas credenciais em sigilo e não as compartilhe com terceiros.

Códigos de Resposta

CódigoSignificadoDescrição
200OKLogin realizado com sucesso.
400Bad RequestParâmetros inválidos ou ausentes na requisição.
401UnauthorizedCredenciais inválidas ou não autorizadas.
500Internal Server ErrorErro interno do servidor.
curl --location 'https://dominio-ambiente.com.br/api/v2/partners/auth/login' \
--header 'Content-Type: application/json' \
--data '{
  "client_id": "{{ client_id }}",
  "client_secret": "{{ client_secret }}"
}'
const axios = require('axios');

const loginPartner = async () => {
  try {
    const response = await axios.post('https://dominio-ambiente.com.br/api/v2/partners/auth/login', {
      client_id: '{{ client_id }}',
      client_secret: '{{ client_secret }}'
    }, {
      headers: {
        'Content-Type': 'application/json'
      }
    });

    console.log('Token obtido:', response.data.access_token);
    return response.data.access_token;
    
  } catch (error) {
    console.error('Erro no login:', error.response?.data || error.message);
    return null;
  }
};

// Uso
loginPartner().then(token => {
  if (token) {
    console.log('Login realizado com sucesso!');
  }
});
import requests
import json

def login_partner():
    url = "https://dominio-ambiente.com.br/api/v2/partners/auth/login"
    
    payload = {
        "client_id": "{{ client_id }}",
        "client_secret": "{{ client_secret }}"
    }
    
    headers = {
        "Content-Type": "application/json"
    }
    
    try:
        response = requests.post(url, json=payload, headers=headers)
        response.raise_for_status()
        
        data = response.json()
        print(f"Token obtido: {data['access_token']}")
        return data['access_token']
        
    except requests.exceptions.RequestException as e:
        print(f"Erro na requisição: {e}")
        return None

# Uso
token = login_partner()
<?php

function loginPartner() {
    $url = 'https://dominio-ambiente.com.br/api/v2/partners/auth/login';
    
    $loginData = [
        'client_id' => '{{ client_id }}',
        'client_secret' => '{{ client_secret }}'
    ];
    
    // Configuração do cURL
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($loginData));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json'
    ]);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $error = curl_error($ch);
    curl_close($ch);
    
    if ($error) {
        echo "Erro cURL: " . $error . "\n";
        return null;
    }
    
    if ($httpCode !== 200 && $httpCode !== 201) {
        echo "Erro HTTP: " . $httpCode . "\n";
        echo "Resposta: " . $response . "\n";
        return null;
    }
    
    $data = json_decode($response, true);
    
    if (json_last_error() !== JSON_ERROR_NONE) {
        echo "Erro ao decodificar JSON: " . json_last_error_msg() . "\n";
        return null;
    }
    
    echo "Token obtido: " . $data['access_token'] . "\n";
    return $data['access_token'];
}

// Uso
$token = loginPartner();
if ($token) {
    echo "Login realizado com sucesso!\n";
}
?>
{
  "access_token": "{{ access_token }}",
  "token_type": "bearer",
  "expires_in": 3600
}