curl --request POST \
--url https://api.malvo.io/categories/rules \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"description": "uber payment",
"categoryId": "05000000",
"transactionType": "DEBIT",
"accountType": "CHECKING_ACCOUNT"
}
'const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: 'uber payment',
categoryId: '05000000',
transactionType: 'DEBIT',
accountType: 'CHECKING_ACCOUNT'
})
};
fetch('https://api.malvo.io/categories/rules', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.malvo.io/categories/rules"
payload = {
"description": "uber payment",
"categoryId": "05000000",
"transactionType": "DEBIT",
"accountType": "CHECKING_ACCOUNT"
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.malvo.io/categories/rules",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'description' => 'uber payment',
'categoryId' => '05000000',
'transactionType' => 'DEBIT',
'accountType' => 'CHECKING_ACCOUNT'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"description": "uber payment",
"category": "Salary/pro-labore",
"categoryId": "05000000",
"clientId": "03cc0eff-4ec5-495c-adb3-1ef9611624fc",
"transactionType": "DEBIT",
"accountType": "CHECKING_ACCOUNT"
}{
"code": 400,
"message": "description must be a string"
}{
"code": 404,
"codeDescription": "CATEGORY_NOT_FOUND",
"message": "category not found"
}{
"code": 500,
"codeDescription": "INTERNAL_SERVER_ERROR",
"message": "Internal Server Error"
}Criar regra de categoria
Cria uma regra de categoria do cliente. O texto em description é casado contra as descrições das transações (case-insensitive). As regras são aplicadas ANTES do classificador. category na resposta é a descrição resolvida de categoryId.
curl --request POST \
--url https://api.malvo.io/categories/rules \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"description": "uber payment",
"categoryId": "05000000",
"transactionType": "DEBIT",
"accountType": "CHECKING_ACCOUNT"
}
'const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: 'uber payment',
categoryId: '05000000',
transactionType: 'DEBIT',
accountType: 'CHECKING_ACCOUNT'
})
};
fetch('https://api.malvo.io/categories/rules', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.malvo.io/categories/rules"
payload = {
"description": "uber payment",
"categoryId": "05000000",
"transactionType": "DEBIT",
"accountType": "CHECKING_ACCOUNT"
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.malvo.io/categories/rules",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'description' => 'uber payment',
'categoryId' => '05000000',
'transactionType' => 'DEBIT',
'accountType' => 'CHECKING_ACCOUNT'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"description": "uber payment",
"category": "Salary/pro-labore",
"categoryId": "05000000",
"clientId": "03cc0eff-4ec5-495c-adb3-1ef9611624fc",
"transactionType": "DEBIT",
"accountType": "CHECKING_ACCOUNT"
}{
"code": 400,
"message": "description must be a string"
}{
"code": 404,
"codeDescription": "CATEGORY_NOT_FOUND",
"message": "category not found"
}{
"code": 500,
"codeDescription": "INTERNAL_SERVER_ERROR",
"message": "Internal Server Error"
}Authorizations
Chave de API da aplicação. Obrigatória em todos os endpoints. Renove via POST /auth.
Body
Corpo para criar uma regra de categoria do cliente.
Texto casado contra as descrições das transações (case-insensitive).
"uber payment"
Categoria a atribuir.
"05000000"
Restringe a regra a transações DEBIT ou CREDIT.
DEBIT, CREDIT Restringe a regra a contas CHECKING_ACCOUNT ou CREDIT_CARD.
CHECKING_ACCOUNT, CREDIT_CARD Modo de correspondência. Padrão exact.
exact, contains, startsWith, endsWith Response
A regra criada.
Regra de categoria do cliente. As regras são client-wide (escopadas ao clientId da API). category é a descrição resolvida de categoryId.
Texto casado contra as descrições das transações.
"uber payment"
Descrição resolvida de categoryId.
"Salary/pro-labore"
Id da categoria atribuída.
"05000000"
Id do cliente (API) ao qual a regra pertence.
"03cc0eff-4ec5-495c-adb3-1ef9611624fc"
Restrição por tipo de transação, se definida.
DEBIT, CREDIT Restrição por tipo de conta, se definida.
CHECKING_ACCOUNT, CREDIT_CARD Modo de correspondência.
exact, contains, startsWith, endsWith