PATCH/api/v2/partners/application/{partnerApplicationId}

Atualizar Aplicação

Atualiza os dados de uma aplicação específica vinculada ao parceiro autenticado.

Parâmetros

AuthorizationObrigatório
header

Token de autenticação obtido no login do parceiro.

Tipo:string
partnerApplicationIdObrigatório
path

ID da aplicação que será atualizada.

Tipo:string

Cabeçalhos obrigatórios:

CabeçalhoValorDescrição
Content-Typeapplication/jsonTipo de conteúdo enviado no corpo da requisição.
AuthorizationBearer {{ access_token }}Token de autenticação obtido no login do parceiro.

Parâmetros no corpo (JSON)

ParâmetroTipoObrigatórioDescrição
namestringSimNovo nome da aplicação.
scopesarraySimLista de escopos autorizados para a aplicação.
descriptionstringSimDescrição detalhada da aplicação.
briefingstringSimDescrição resumida da aplicação.
categorystringSimCategoria atribuída à aplicação.

Escopos Disponíveis

EscopoDescrição
cob.readLeitura de cobranças Pix
cob.writeCriação e atualização de cobranças Pix
merchants.readLeitura de estabelecimentos
merchants.writeCriação e atualização de estabelecimentos
terminals.readLeitura de terminais
terminals.writeCriação e atualização de terminais
transactions.readLeitura de transações
transactions.writeCriação e atualização de transações
webhooks.readLeitura de webhooks
webhooks.writeCriação e atualização de webhooks
dict.readLeitura de dicionários
dict.writeCriação e atualização de dicionários

Resposta de Sucesso

Em caso de sucesso, será retornado um objeto JSON com os dados atualizados da aplicação, incluindo campos como id, name, scopes, status, datas e informações do parceiro.

Campos da Resposta

CampoTipoDescrição
idstringID único da aplicação atualizada.
partnerobjectDados do parceiro proprietário da aplicação.
namestringNome atualizado da aplicação.
descriptionstringDescrição atualizada da aplicação.
briefingstringDescrição resumida atualizada da aplicação.
categorystringCategoria atualizada da aplicação.
scopesarrayEscopos atualizados da aplicação.
client_idstringID do cliente (se aplicação estiver aprovada).
client_secretstringChave secreta do cliente (se aplicação estiver aprovada).
statusstringStatus atual da aplicação.
created_atstringData de criação da aplicação (ISO8601).
updated_atstringData da última atualização da aplicação (ISO8601).

Observações

  • O token {{ access_token }} deve ser válido e obtido via login do parceiro.
  • O partnerApplicationId deve ser o ID da aplicação que deseja atualizar.
  • Somente aplicações pertencentes ao parceiro autenticado podem ser alteradas.
  • Mudanças nos escopos podem afetar as permissões da aplicação.
  • Aplicações com status active podem ter suas credenciais afetadas por mudanças nos escopos.

Códigos de Resposta

CódigoSignificadoDescrição
200OKAplicação atualizada com sucesso.
400Bad RequestParâmetros inválidos ou ausentes na requisição.
401UnauthorizedToken de autenticação inválido ou expirado.
403ForbiddenParceiro não tem permissão para atualizar esta aplicação.
404Not FoundAplicação não encontrada.
500Internal Server ErrorErro interno do servidor.

Validações

  • Nome: Deve ter entre 3 e 100 caracteres.
  • Descrição: Deve ter entre 10 e 500 caracteres.
  • Briefing: Deve ter entre 5 e 200 caracteres.
  • Escopos: Deve conter pelo menos um escopo válido.
  • Categoria: Deve ser uma categoria válida do sistema.
  • ID da Aplicação: Deve ser um UUID válido de uma aplicação existente.

Impacto das Mudanças

  • Mudança de Escopos: Pode afetar as permissões da aplicação e requer nova aprovação.
  • Mudança de Nome: Não afeta funcionalidades, apenas identificação.
  • Mudança de Descrição/Briefing: Não afeta funcionalidades, apenas documentação.
  • Mudança de Categoria: Pode afetar a organização e classificação da aplicação.

Observações Importantes

  • O token {{ access_token }} deve ser válido e obtido via login do parceiro.
  • O partnerApplicationId deve ser o ID da aplicação que deseja atualizar.
  • Somente aplicações pertencentes ao parceiro autenticado podem ser alteradas.
curl --location --globoff --request PATCH 'https://dominio-ambiente.com.br/api/v2/partners/application/{{ partner_application_id }}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{ access_token }}' \
--data '{
  "name": "Novo nome da sua aplicação",
  "scopes": [
    "cob.read",
    "cob.write"
  ],
  "description": "Uma descrição da sua aplicação",
  "briefing": "Uma descrição curta da sua aplicação",
  "category": "Categoria 1"
}'
const axios = require('axios');

const updateApplication = async (token, applicationId, updateData) => {
  try {
    const response = await axios.patch(`https://dominio-ambiente.com.br/api/v2/partners/application/${applicationId}`, updateData, {
      headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${token}`
      }
    });

    console.log('Aplicação atualizada:', response.data.id);
    console.log('Nome:', response.data.name);
    console.log('Status:', response.data.status);
    
    return response.data;
    
  } catch (error) {
    console.error('Erro ao atualizar aplicação:', error.response?.data || error.message);
    return null;
  }
};

// Exemplo de uso
const applicationId = "{{ partner_application_id }}";
const updateData = {
  name: "Novo nome da sua aplicação",
  scopes: ["cob.read", "cob.write"],
  description: "Uma descrição da sua aplicação",
  briefing: "Uma descrição curta da sua aplicação",
  category: "Categoria 1"
};

const token = "{{ access_token }}";
updateApplication(token, applicationId, updateData);
import requests
import json

def update_application(token, application_id, update_data):
    url = f"https://dominio-ambiente.com.br/api/v2/partners/application/{application_id}"
    
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {token}"
    }
    
    try:
        response = requests.patch(url, json=update_data, headers=headers)
        response.raise_for_status()
        
        data = response.json()
        
        print(f"Aplicação atualizada: {data['id']}")
        print(f"Nome: {data['name']}")
        print(f"Status: {data['status']}")
        print(f"Escopos: {', '.join(data['scopes'])}")
        
        return data
        
    except requests.exceptions.RequestException as e:
        print(f"Erro na requisição: {e}")
        return None

# Exemplo de uso
application_id = "{{ partner_application_id }}"
update_data = {
    "name": "Novo nome da sua aplicação",
    "scopes": ["cob.read", "cob.write"],
    "description": "Uma descrição da sua aplicação",
    "briefing": "Uma descrição curta da sua aplicação",
    "category": "Categoria 1"
}

token = "{{ access_token }}"
result = update_application(token, application_id, update_data)
<?php

function updateApplication($token, $applicationId, $updateData) {
    $url = 'https://dominio-ambiente.com.br/api/v2/partners/application/' . $applicationId;
    
    // Configuração do cURL
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($updateData));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'Authorization: Bearer ' . $token
    ]);
    
    $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 "Aplicação atualizada: " . $data['id'] . "\n";
    echo "Nome: " . $data['name'] . "\n";
    echo "Status: " . $data['status'] . "\n";
    
    return $data;
}

// Exemplo de uso
$applicationId = '{{ partner_application_id }}';
$updateData = [
    'name' => 'Novo nome da sua aplicação',
    'scopes' => ['cob.read', 'cob.write'],
    'description' => 'Uma descrição da sua aplicação',
    'briefing' => 'Uma descrição curta da sua aplicação',
    'category' => 'Categoria 1'
];

$token = '{{ access_token }}';
updateApplication($token, $applicationId, $updateData);
?>
{
  "id": "app-123-456-789",
  "partner": {
    "id": "partner-abc-def",
    "name": "Minha Empresa",
    "contact_email": "[email protected]",
    "contact_phone": "11999999999",
    "status": "active",
    "scopes": ["cob.read", "cob.write", "merchants.read"]
  },
  "name": "Novo nome da sua aplicação",
  "description": "Uma descrição da sua aplicação",
  "briefing": "Uma descrição curta da sua aplicação",
  "category": "Categoria 1",
  "scopes": [
    "cob.read",
    "cob.write"
  ],
  "client_id": "client_123456789",
  "client_secret": "secret_987654321",
  "status": "active",
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-20T14:45:00Z"
}