Passo a passo
1
Escolha onde o parceiro atua
Escolha o escopo mais estreito que cobre o que o parceiro precisa. Cada linha é uma restrição que você pode adicionar. O campo na API é o
field de uma entrada de escopo; o Console mostra o nome da primeira coluna.O catálogo de escopo lista todas as restrições do Midaz, inclusive as que não estão nesta tabela. Leia-o com Consultar o catálogo de escopo de um produto para
midaz.Algumas regras valem para todo escopo:- Uma requisição que não nomeia um item de um tipo restrito é recusada quando atua sobre o que essa restrição limita. Por exemplo, um parceiro restrito a alguns ledgers não pode listar todos os ledgers da organização dele. Uma requisição fora do que a restrição limita só precisa da organização.
- Uma requisição que lista vários valores, como vários aliases num corpo ou numa query, é recusada quando qualquer um deles está fora do escopo.
- As rotas que atuam sobre o tenant inteiro, como listar organizações ou ler configurações do tenant, são recusadas a todo parceiro.
2
Dê ao parceiro as permissões e o escopo
Crie o parceiro, ou altere-o, no Console ou com a API do Identity. O identificador do produto é
midaz.- Adicione a entrada de escopo da organização, com exatamente um valor. Sem ela, o Access Manager recusa o parceiro com
400eIDE-0001. Com duas organizações, recusa comIDE-0002. - Adicione as outras restrições que você escolheu no passo 1.
- Marque os recursos e as ações. O máximo que você pode dar é o que o papel
midaz-editor-roletem no seu tenant. Acima disso, o Access Manager recusa comIDE-1043.
- Uma escrita que atua sobre o tenant inteiro, como criar uma organização, nunca é dada a um parceiro.
- Uma escrita que atua acima do escopo do parceiro é recusada. Por exemplo, um parceiro restrito a um ledger não pode receber o direito de criar, alterar ou excluir ledgers, titulares, ou rotas de operação e de transação: essas escritas atuam sobre a organização inteira.
- As duas recusas respondem
400comIDE-1056. O Console marca a linha como Fora do escopo.
400 e IDE-1052. O Access Manager não confere se o ID de uma rota pertence ao ledger do parceiro: o parceiro lê toda rota cujo ID você lista. Liste só as rotas dos ledgers dele.Não dê transactions com post a um parceiro restrito só por carteira, segmento ou titular. O Access Manager aceita, mas toda transação desse parceiro é recusada.3
Crie a aplicação dele no Midaz
Crie a aplicação do parceiro com o produto
midaz. Veja Criar as aplicações do parceiro no guia da API, ou no Console. Envie o client ID e o client secret ao parceiro por um canal seguro.4
Diga ao parceiro como nomear os itens dele
Na maioria das rotas do Midaz, a organização e o ledger já estão no path, então o parceiro não envia nada extra. O parceiro nomeia os outros itens dele nos paths, queries e corpos que o Midaz já tem. Todo valor tem que estar dentro do escopo do parceiro.Na tabela,
…/ledgers/{ledger_id} representa /organizations/{organization_id}/ledgers/{ledger_id}, depois de /v1 ou /v2.Nas rotas
/v2/transactions, todo débito e todo crédito nomeia uma organização e um ledger dentro do escopo. Um parceiro restrito por alias só pode usar os próprios aliases nos dois lados.Um parceiro restrito por conta ou alias não pode usar estas rotas de transação: inflow na /v1, e confirmar, cancelar, reverter, alterar, ler por ID ou listar. Um parceiro restrito por alias pode criar uma retenção. Um parceiro restrito por ID de conta não pode criar transações. Para deixá-lo mover dinheiro de contas específicas, restrinja-o por alias.Um campo de corpo que aceita um item aceita um valor, como portfolioId ou o alias de um débito. Não envie uma lista nele.5
Confirme que funciona
Esta conferência supõe que o parceiro tem o recurso Envie a mesma requisição com um ledger da mesma organização que está fora do escopo. A resposta é
accounts com a ação get no Midaz, e um escopo restrito a uma organização e a um ou mais ledgers dela. Use a credencial do parceiro. Liste as contas de um ledger dentro do escopo dele. A resposta é 200:403 com o código AUT-1020.Se algo falhar
A resposta não diz se foram as permissões ou o escopo que recusaram a requisição. Isso é proposital: um parceiro não consegue usar uma recusa para descobrir quais itens existem fora do escopo dele.
Para todos os outros códigos, veja a lista de erros do Midaz. Para as recusas ao criar ou alterar um parceiro, veja os códigos de erro no guia da API.

