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
O parceiro nomeia os itens dele nos paths, queries e corpos que o Midaz já tem. Nada extra é enviado. Estes casos pedem atenção:
- Contas filtradas por carteira, segmento ou titular. Envie
portfolio_id,segment_idouholder_idna query da lista de contas. - Contas de um titular. Envie
ledger_idna query, com um ledger dentro do escopo. A resposta traz só as contas desse ledger. - Contas novas. Um parceiro restrito por carteira ou segmento envia a própria
portfolioIdousegmentIdno corpo. Um parceiro restrito por conta envia uma das próprias contas emparentAccountId. - Transações nas rotas
/v2/transactions(direct,hold,block,unblockebatch). 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, então ele só move dinheiro entre as próprias contas. - Transações nas rotas de ledger da
/v1(json,outflow,annotation,blockeunblock). Os aliases de origem emsend.source.from[].accountAliastêm que ser do parceiro.
inflow na /v1, e confirmar, cancelar, reverter, alterar, ler por ID ou listar. Ele pode criar uma retenção, mas não pode confirmá-la nem cancelá-la. Um parceiro restrito por ID de conta não pode criar transações nas rotas da /v1. Para deixá-lo mover dinheiro de contas específicas, restrinja-o por alias.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.

