Permissões
Use esta rota para descobrir quais rotas da API estão liberadas para a sua api_key. A resposta traz todas as rotas documentadas, agrupadas pelas mesmas seções desta documentação, e indica com true ou false se a sua conta pode usar cada uma.
Com ela, a sua integração se adapta aos produtos habilitados na sua conta sem precisar de configuração manual. Por exemplo, você pode exibir a opção de Pix no checkout apenas quando POST v3/pix estiver liberada.
- Ao iniciar a integração, para confirmar quais produtos já estão habilitados na sua conta.
- Ao montar o checkout ou o painel, para exibir apenas os meios de pagamento e funcionalidades disponíveis.
- Ao investigar um erro, para verificar se a rota chamada está habilitada para a sua conta.
Request Headers
Esta rota não recebe parâmetros de query nem body.
| Header | Tipo | Descrição |
|---|---|---|
| api_key | string | Obrigatório. Sua chave de API. As permissões retornadas são as da conta vinculada a esta chave, no ambiente em que a requisição é feita (Sandbox ou Produção). |
Response Object
A resposta é um objeto em que cada chave é uma seção da documentação. Dentro de cada seção, as chaves são o método e o caminho da rota na API, por exemplo GET v3/sub_sellers, e os valores são boolean.
| Seção | Tipo | Seção da documentação |
|---|---|---|
| sub_sellers | object | Parceiros |
| cards | object | Cartões |
| transactions | object | Transações |
| checkouts | object | Checkouts |
| webhooks | object | Webhooks |
| antifraud | object | Integração com Antifraude |
| 3ds | object | Integração com 3DS |
| crossborder | object | Cross Border |
| financial | object | Financeiro |
| conciliation | object | Conciliação |
| validator | object | Integração com Validador |
true: a rota está liberada para a sua conta neste ambiente.false: a rota não está habilitada. Para habilitá-la, entre em contato com o nosso time de suporte.- Rota ausente: trate como
false. Novas rotas e seções podem ser adicionadas à resposta ao longo do tempo, então não valide o conjunto exato de chaves. - Use a chave exatamente como retornada, incluindo o método e os parâmetros de path, por exemplo
POST v3/transactions/:transaction_id/refund.
Regras de liberação
As tabelas abaixo mostram quando cada rota é liberada. Rotas que dependem de habilitação pela Marlim ficam disponíveis depois que o produto é contratado e configurado na sua conta.
sub_sellers
| Chave | Liberada quando |
|---|---|
POST v3/sub_sellersCriar parceiro | Depende de habilitação de parceiros. |
GET v3/sub_sellersRetornar parceiros | Depende de habilitação de parceiros. |
PUT v3/sub_sellers/:sub_seller_idAtualizar parceiro | Depende de habilitação de parceiros. |
PATCH v3/sub_sellers/:sub_seller_id/filesEnviar documentos | Depende de habilitação de parceiros. |
cards
| Chave | Liberada quando |
|---|---|
POST v3/cardsCriar cartão | Sempre liberada. |
GET v3/cards/:card_idRetornar cartão | Sempre liberada. |
transactions
| Chave | Liberada quando |
|---|---|
GET v3/installmentsParcelas | As taxas da conta estão configuradas. |
POST v3/transactionsCriar transação com cartão | Depende de habilitação de pagamentos com cartão. |
POST v3/pixCriar transação Pix | Depende de habilitação do Pix. |
GET v3/transactionsRetornar transações | Sempre liberada. |
POST v3/transactions/:transaction_id/refundEstornar transação | Sempre liberada. |
GET v3/card_hash_keyCard Hash Key | Sempre liberada. |
POST v3/transactions/authorizeAutorizar transação | Apenas em Sandbox e depende de habilitação da pré-autorização. |
POST v3/transactions/:transaction_id/captureCapturar transação | Mesma regra de Autorizar transação. |
POST v3/transactions/:transaction_id/cancelCancelar transação | Mesma regra de Autorizar transação. |
checkouts
| Chave | Liberada quando |
|---|---|
POST v3/link_paymentCriar link de pagamento | Depende de habilitação do Link de Pagamento. |
GET v3/link_payment/:link_hashDados do link | Sempre liberada. |
webhooks
| Chave | Liberada quando |
|---|---|
GET v3/webhooks/:transaction_idConsultar webhooks | Sempre liberada. |
POST v3/webhooks/:transaction_idReprocessar webhook | Sempre liberada. |
antifraud
| Chave | Liberada quando |
|---|---|
PATCH v3/antifraudEmular revisão do antifraude | Apenas com api_key de teste (Sandbox). |
3ds
| Chave | Liberada quando |
|---|---|
GET v3/3ds/sessionsGerar sessão 3DS | Sempre liberada. |
crossborder
| Chave | Liberada quando |
|---|---|
GET v3/crossborder/installmentsParcelas | Depende de habilitação do Cross Border. |
GET v3/crossborder/quotes/previewPrévia de cotação | Depende de habilitação do Cross Border. |
POST v3/crossborder/transactionsCriar transação | Depende de habilitação do Cross Border. |
GET v3/crossborder/transactionsRetornar transações | Depende de habilitação do Cross Border. |
POST v3/crossborder/transactions/:transaction_id/refundEstornar transação | Depende de habilitação do Cross Border. |
financial
| Chave | Liberada quando |
|---|---|
GET v3/financial/balanceConsultar saldo | Depende de habilitação do painel financeiro. |
GET v3/financial/withdrawalsListar saques | Depende de habilitação do painel financeiro. |
GET v3/financial/conciliationsListar conciliações | Depende de habilitação do painel financeiro. |
GET v3/financial/conciliationConsultar conciliação | Depende de habilitação do painel financeiro. |
GET v3/financial/statementExtrato | Depende de habilitação do painel financeiro. |
POST v3/financial/withdrawalSolicitar saque | Depende de habilitação da gestão de saldo. |
GET v3/financial/withdrawal/:withdrawal_idConsultar saque | Depende de habilitação da gestão de saldo. |
conciliation
| Chave | Liberada quando |
|---|---|
POST v3/conciliationConciliação bancária | Apenas com api_key de produção (Produção). |
validator
| Chave | Liberada quando |
|---|---|
POST v3/validator/initIniciar sessão do Validador | Sempre liberada. |
Sandbox e Produção
A mesma conta pode receber respostas diferentes em cada ambiente. As rotas abaixo dependem do ambiente, independentemente da habilitação da conta:
| Chave | Sandbox | Produção |
|---|---|---|
POST v3/transactions/authorizePOST v3/transactions/:transaction_id/capturePOST v3/transactions/:transaction_id/cancel | Conforme a habilitação da conta. | Sempre false. A pré-autorização ainda não é suportada em Produção. |
PATCH v3/antifraud | true | Sempre false. Em Produção, a revisão do antifraude é feita pela Marlim. |
POST v3/conciliation | Sempre false. | true |
Consulte as permissões com a api_key do ambiente que você vai usar. O resultado obtido em Sandbox não vale para Produção, e vice-versa.
As permissões mudam apenas quando a configuração da sua conta é alterada pela Marlim. Você pode guardar o resultado em cache por um período curto (por exemplo, alguns minutos) em vez de consultar esta rota a cada transação.
Error Object
Quando a api_key não é enviada ou não é válida, a rota retorna um erro e nenhuma permissão.
| Atributo | Tipo | Descrição |
|---|---|---|
| errors | object | Objeto com o erro encontrado ao processar a requisição. |
| errors[type] | string | Tipo de erro ocorrido. Nesta rota, sempre api_key. |
| errors[message] | string | Mensagem detalhada do erro ocorrido. |
| Status | Quando ocorre |
|---|---|
401 | A api_key não foi enviada no header. |
403 | A api_key é inválida, está desativada, não é permitida para a versão v3 ou não corresponde ao ambiente (chave de teste em Produção ou chave de produção em Sandbox). |
Exemplos
Os valores utilizados nos exemplos abaixo são apenas para ilustração e não devem ser usados para fazer requests nas APIs da Marlim.
- Permissões da conta
- Sem api_key
- api_key inválida
curl -X GET "https://api.marlim.co/v3/permissions" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d '{}'
{
"sub_sellers": {
"POST v3/sub_sellers": true,
"GET v3/sub_sellers": true,
"PUT v3/sub_sellers/:sub_seller_id": true,
"PATCH v3/sub_sellers/:sub_seller_id/files": true
},
"cards": {
"POST v3/cards": true,
"GET v3/cards/:card_id": true
},
"transactions": {
"GET v3/installments": true,
"POST v3/transactions": true,
"GET v3/transactions": true,
"POST v3/pix": false,
"POST v3/transactions/:transaction_id/refund": true,
"GET v3/card_hash_key": true,
"POST v3/transactions/authorize": false,
"POST v3/transactions/:transaction_id/capture": false,
"POST v3/transactions/:transaction_id/cancel": false
},
"checkouts": {
"POST v3/link_payment": true,
"GET v3/link_payment/:link_hash": true
},
"webhooks": {
"GET v3/webhooks/:transaction_id": true,
"POST v3/webhooks/:transaction_id": true
},
"antifraud": {
"PATCH v3/antifraud": false
},
"3ds": {
"GET v3/3ds/sessions": true
},
"crossborder": {
"GET v3/crossborder/installments": false,
"GET v3/crossborder/quotes/preview": false,
"POST v3/crossborder/transactions": false,
"GET v3/crossborder/transactions": false,
"POST v3/crossborder/transactions/:transaction_id/refund": false
},
"financial": {
"GET v3/financial/balance": true,
"GET v3/financial/withdrawals": true,
"POST v3/financial/withdrawal": false,
"GET v3/financial/withdrawal/:withdrawal_id": false,
"GET v3/financial/conciliations": true,
"GET v3/financial/conciliation": true,
"GET v3/financial/statement": true
},
"conciliation": {
"POST v3/conciliation": true
},
"validator": {
"POST v3/validator/init": true
}
}
curl -X GET "https://api.marlim.co/v3/permissions" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d '{}'
{
"errors": {
"type": "api_key",
"message": "All requests need a api_key."
}
}
curl -X GET "https://api.marlim.co/v3/permissions" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d '{}'
{
"errors": {
"type": "api_key",
"message": "This api_key is not valid."
}
}