Skip to content

GatewayUnitAccounts

Ronaldo Meneguite edited this page Jul 4, 2018 · 1 revision

GET /v1/gateway-units/{unit}/accounts - Retorna a listagem das contas de uma unidade de negócio

Required Permission: gateway-unit-accounts.list

Parâmetros

[
  {
    "name": "Authorization",
    "in": "header",
    "type": "string",
    "required": true,
    "description": "Token válido"
  },
  {
    "name": "unit",
    "in": "path",
    "type": "string",
    "required": true,
    "description": "Identificador da unidade de negócio"
  },
  {
    "name": "onlyActive",
    "in": "query",
    "type": "bool",
    "required": false,
    "description": "Filtra os resultados para listar apenas contas ativas",
    "default": false
  },
  {
    "name": "limit",
    "in": "query",
    "type": "number",
    "required": false,
    "description": "Limite de registros por página",
    "default": 10
  },
  {
    "name": "orderBy",
    "in": "query",
    "type": "string",
    "required": false,
    "description": "Campo referência para a ordenação",
    "default": "id"
  },
  {
    "name": "orderByDirection",
    "in": "query",
    "type": "list",
    "accepted": ["asc", "desc"],
    "required": false,
    "description": "Direção da ordenação",
    "default": "desc"
  },
  {
    "name": "include",
    "in": "query",
    "type": "string",
    "accepted": ["unit", "bank", "owner"],
    "required": false,
    "description": "Inclui relacionamentos separados por virgula"
  },
  {
    "name": "filters",
    "in": "query",
    "type": "array[json]",
    "required": false,
    "description": "Inclui um array com os filtros avançados para limitar a listagem",
    "definition": [
      {
        "name": "field",
        "type": "string",
        "required": true,
        "description": "Nome do campo a ser usado no filtro",
        "example": "status"
      },
      {
        "name": "operation",
        "type": "list",
        "required": true,
        "accepted": ["=", ">", ">=", "<", "<=", "<>", "in", "nin"],
        "description": "Operação a ser utilizada na comparação do filtro",
        "example": "="
      },
      {
        "name": "value",
        "type": "string|array",
        "required": true,
        "description": "Valor para o filtro",
        "example": "name"
      }
    ]
  }
]

Exemplo de Envio via query string:

{
  "limit": "2",
  "orderBy": "created_at",
  "orderByDirection": "desc",
  "include": "unit,bank",
  "filters": [
    {"field": "type", "operation": "=", "value": "WALLET"}
  ]
}

Resultando em uma url como:

https://sandbox.hashlee.com/v1/gateway-units/vojvzo/accounts?limit=10&orderBy=id&orderByDirection=asc&filters[]={"field": "type", "operation": "=","value":"WALLET"}&include=unit,bank

Respostas

HTTP 200 - Listagem das contas de uma unidade do gateway

{
  "data": [
    {
      "name": "Padilha",
      "gateway_unit_id": "zkbmmo",
      "bank_id": null,
      "type": "PREPAID_CARD",
      "currency": "BTC",
      "document": "51247290000103",
      "agency": null,
      "account": null,
      "account_type": "PREPAID_CARD",
      "operation": null,
      "wallet_address": null,
      "status": "BLOCKED",
      "others": null,
      "description": "Rem qui et.",
      "verified_at": "2017-09-30T18:58:37-03:00",
      "created_at": "2018-06-08T17:36:27-03:00",
      "updated_at": "2018-06-08T17:36:27-03:00",
    }
  ],
  "meta": {
    "pagination": {
      "total": 301,
      "count": 10,
      "per_page": 10,
      "current_page": 1,
      "total_pages": 31,
      "links": {
        "next": "https://sandbox.hashlee.com/v1/gateway-units/vojvzo/accounts?page=2"
      }
    }
  }
}

HTTP 401 - Acesso não autorizado

{
  "message":"Unauthorized"
}

HTTP 429 - Excedido o número de tentativas de acesso

{
  "message":"Exceeded the limit of attempts. Wait for 5 minutes for another try."
}

GET /v1/gateway-units/{unit}/accounts/{hash} - Retorna os detalhes de uma conta para a unidade de negócio por seu identificador

Required Permission: gateway-unit-accounts.show

Parâmetros

[
  {
    "name": "Authorization",
    "in": "header",
    "type": "string",
    "required": true,
    "description": "Token válido"
  },
  {
    "name": "unit",
    "in": "path",
    "type": "string",
    "required": true,
    "description": "Identificador da unidade de negócio"
  },
  {
    "name": "hash",
    "in": "path",
    "type": "string",
    "required": true,
    "description": "Identificador da conta"
  },
  {
    "name": "include",
    "in": "query",
    "type": "list",
    "accepted": ["bank", "unit", "owner"],
    "required": false,
    "description": "Inclui relacionamentos separados por virgula"
  }
]

Respostas

HTTP 200 - Detalhes da conta para a unidade de negócio

{
  "data": {
    "hash": "mboenk",
    "name": "Gonçalves",
    "gateway_unit_id": "vojvzo",
    "bank_id": "BR:100",
    "type": "WALLET",
    "currency": "BTC",
    "document": "20945878000107",
    "agency": null,
    "account": null,
    "account_type": "WALLET",
    "operation": null,
    "wallet_address": "87c08cab-9801-4010-a5bc-10eef99668a0",
    "status": "NEW",
    "others": null,
    "description": "Nulla non officiis earum sit.",
    "verified_at": "2017-11-04T21:06:37-02:00",
    "created_at": "2018-06-08T17:36:27-03:00",
    "updated_at": "2018-06-08T17:36:27-03:00"
  }
}

HTTP 400 - Um Identificador inválido foi passado

{
  "message": "Invalid identifier to requested resource"
}

HTTP 401 - Acesso não autorizado

{
  "message":"Unauthorized"
}

HTTP 429 - Excedido o número de tentativas de acesso

{
  "message":"Exceeded the limit of attempts. Wait for 5 minutes for another try."
}

POST /v1/gateway-units/{unit}/accounts - Cadastra uma nova conta para uma unidade no gateway

Required Permission: gateway-unit-accounts.store

Parâmetros

[
  {
    "name": "Authorization",
    "in": "header",
    "type": "string",
    "required": true,
    "description": "Token válido"
  },
  {
    "name": "unit",
    "in": "path",
    "type": "string",
    "required": true,
    "description": "Identificador da unitdade do gateway"
  },
  {
    "name": "name",
    "in": "formData",
    "type": "string",
    "required": true,
    "description": "Nome que identifica a conta"
  },
  {
    "name": "status",
    "in": "formData",
    "type": "list",
    "accepted": ["NEW", "UPDATED", "OK", "BLOCKED", "DISABLED", "WAITING_CONFIRMATION"],
    "required": true,
    "description": "Status da conta",
    "comment": "Parâmetro disponível apenas para usuários internos, é ignorado para outros usuários"
  },
  {
    "name": "type",
    "in": "formData",
    "type": "list",
    "accepted": ["BANK", "WALLET", "PREPAID_CARD"],
    "required": true,
    "description": "Tipo da conta"
  },
  {
    "name": "bank_id",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Identificador do banco"
  },
  {
    "name": "currency",
    "in": "formData",
    "type": "list",
    "accepted": ["BRL", "BTC"],
    "required": true,
    "description": "Identificador moeda para a conta"
  },
  {
    "name": "document",
    "in": "formData",
    "type": "string",
    "required": true,
    "description": "Número de identificação da unidade do gateway (CNPJ ou CPF)",
    "comment": "O documento deve ser igual ao da unidade ou do usuário principal da unidade"
  },
  {
    "name": "agency",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Número da agência",
    "comment": "Obrigatório para o tipo de 'BANK'"
  },
  {
    "name": "account",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Número da conta",
    "comment": "Obrigatório para o tipo de 'BANK'"
  },
  {
    "name": "account_type",
    "in": "formData",
    "type": "list",
    "accepted": ["CA", "SA"],
    "required": false,
    "description": "Tipo de conta",
    "comment": "Obrigatório para o tipo de 'BANK'"
  },
  {
    "name": "operation",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Código da operação",
    "comment": "Parâmetro obrigatório quando banco for a Caixa Econômica"
  },
  {
    "name": "wallet_address",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Número de Carteira",
    "comment": "Obrigatório para o tipo de 'WALLET'"
  },
  {
    "name": "others",
    "in": "formData",
    "type": "array",
    "required": false,
    "description": "Informações adicionais a serem anexadas ao cadastro da conta"
  },
  {
    "name": "description",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Descrição a ser vinculado a conta"
  }
]

Exemplo de Envio para o cadastro de uma conta bancária:

{
  "name": "Account Name",
  "type": "BANK",
  "currency": "BRL",
  "document": "29478612000176",
  "bank_id": "BR:100",
  "agency": "00562",
  "account": "122222",
  "account_type": "CA",
  "operation": "013",
  "wallet_address": "",
  "others": "",
  "description": "Description"
}

Exemplo de Envio para o cadastro de uma wallet:

{
  "name": "Account Name",
  "type": "WALLET",
  "currency": "BTC",
  "document": "29478612000176",
  "wallet_address": "2NDKYWxSDtJyKR2LgWDS5uuSzC45PgUzQad",
  "description": "Description"
}

Respostas

HTTP 200 - Cadastro efetuado com sucesso

{
  "data": {
    "hash": "rvojzo",
    "name": "Account Name",
    "gateway_unit_id": "vojvzo",
    "bank_id": "BR:100",
    "type": "BANK",
    "currency": "BRL",
    "document": "29478612000176",
    "agency": "00562",
    "account": "122222",
    "account_type": "CA",
    "operation": null,
    "wallet_address": null,
    "status": "NEW",
    "others": null,
    "description": "Description",
    "verified_at": null,
    "created_at": "2018-06-13T20:09:47-03:00",
    "updated_at": "2018-06-13T20:09:47-03:00"
  }
}

HTTP 422 - Erro ao validar os parâmetros

{
  "message": "The given data was invalid.",
  "errors": {
    "name": [
      "The name field is required."
    ],
    "type": [
      "The type field is required."
    ]
  }
}

HTTP 401 - Acesso não autorizado

{
  "message":"Unauthorized"
}

HTTP 429 - Excedido o número de tentativas de acesso

{
  "message":"Exceeded the limit of attempts. Wait for 5 minutes for another try."
}

PUT /v1/gateway-units/{unit}/accounts/{hash} - Atualiza uma conta para a unidade no gateway

Required Permission: gateway-unit-accounts.update

Parâmetros

[
  {
    "name": "Authorization",
    "in": "header",
    "type": "string",
    "required": true,
    "description": "Token válido"
  },
  {
    "name": "unit",
    "in": "path",
    "type": "string",
    "required": true,
    "description": "Identificador da unitdade do gateway"
  },
  {
    "name": "hash",
    "in": "path",
    "type": "string",
    "required": true,
    "description": "Identificador da conta"
  },
  {
    "name": "name",
    "in": "formData",
    "type": "string",
    "required": true,
    "description": "Nome que identifica a conta"
  },
  {
    "name": "status",
    "in": "formData",
    "type": "list",
    "accepted": ["NEW", "UPDATED", "OK", "BLOCKED", "DISABLED", "WAITING_CONFIRMATION"],
    "required": true,
    "description": "Status da conta",
    "comment": "Parâmetro disponível apenas para usuários internos, é ignorado para outros usuários"
  },
  {
    "name": "type",
    "in": "formData",
    "type": "list",
    "accepted": ["BANK", "WALLET", "PREPAID_CARD"],
    "required": true,
    "description": "Tipo da conta"
  },
  {
    "name": "bank_id",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Identificador do banco"
  },
  {
    "name": "currency",
    "in": "formData",
    "type": "list",
    "accepted": ["BRL", "BTC"],
    "required": true,
    "description": "Identificador moeda para a conta"
  },
  {
    "name": "document",
    "in": "formData",
    "type": "string",
    "required": true,
    "description": "Número de identificação da unidade do gateway (CNPJ ou CPF)",
    "comment": "O documento deve ser igual ao da unidade ou do usuário principal da unidade"
  },
  {
    "name": "agency",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Número da agência",
    "comment": "Obrigatório para o tipo de 'BANK'"
  },
  {
    "name": "account",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Número da conta",
    "comment": "Obrigatório para o tipo de 'BANK'"
  },
  {
    "name": "account_type",
    "in": "formData",
    "type": "list",
    "accepted": ["CA", "SA"],
    "required": false,
    "description": "Tipo de conta",
    "comment": "Obrigatório para o tipo de 'BANK'"
  },
  {
    "name": "operation",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Código da operação",
    "comment": "Parâmetro obrigatório quando banco for a Caixa Econômica"
  },
  {
    "name": "wallet_address",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Número de Carteira",
    "comment": "Obrigatório para o tipo de 'WALLET'"
  },
  {
    "name": "others",
    "in": "formData",
    "type": "array",
    "required": false,
    "description": "Informações adicionais a serem anexadas ao cadastro da conta"
  },
  {
    "name": "description",
    "in": "formData",
    "type": "string",
    "required": false,
    "description": "Descrição a ser vinculado a conta"
  }
]

Exemplo de envio para a atualização de uma conta bancária:

{
  "name": "Account Name",
  "type": "BANK",
  "currency": "BRL",
  "document": "29478612000176",
  "bank_id": "BR:100",
  "agency": "00562",
  "account": "122222",
  "account_type": "CA",
  "wallet_address": "",
  "description": "Description"
}

Exemplo de envio para a atualização de uma wallet:

{
  "name": "Account Name",
  "type": "WALLET",
  "currency": "BTC",
  "document": "29478612000176",
  "wallet_address": "2NDKYWxSDtJyKR2LgWDS5uuSzC45PgUzQad",
  "description": "Description"
}

Respostas

HTTP 200 - Atualização efetuada com sucesso

{
  "data": {
    "hash": "rvojzo",
    "name": "Account Name",
    "gateway_unit_id": "vojvzo",
    "bank_id": "BR:100",
    "type": "BANK",
    "currency": "BRL",
    "document": "29478612000176",
    "agency": "00562",
    "account": "122222",
    "account_type": "CA",
    "wallet_address": null,
    "status": "UPDATED",
    "description": "Description",
    "verified_at": null,
    "created_at": "2018-06-13T20:09:47-03:00",
    "updated_at": "2018-06-13T20:09:47-03:00"
  }
}

HTTP 422 - Erro ao validar os parâmetros

{
  "message": "The given data was invalid.",
  "errors": {
    "name": [
      "The name field is required."
    ],
    "type": [
      "The type field is required."
    ]
  }
}

HTTP 401 - Acesso não autorizado

{
  "message":"Unauthorized"
}

HTTP 429 - Excedido o número de tentativas de acesso

{
  "message":"Exceeded the limit of attempts. Wait for 5 minutes for another try."
}

DELETE /v1/gateway-units/{unit}/accounts/{hash} - Remove uma conta para a unidade do gateway com base em seu identificador

Required Permission: gateway-unit-accounts.destroy

Parâmetros

[
  {
    "name": "Authorization",
    "in": "header",
    "type": "string",
    "required": true,
    "description": "Token válido"
  },
  {
    "name": "unit",
    "in": "path",
    "type": "string",
    "required": true,
    "description": "Identificador da unidade do gateway"
  }
  {
    "name": "hash",
    "in": "path",
    "type": "string",
    "required": true,
    "description": "Identificador da conta"
  }
]

Respostas

HTTP 204 - Conta removida com sucesso"

{}

HTTP 400 - Um Identificador inválido foi passado

{
  "message":"Invalid identifier to requested resource"
}

HTTP 401 - Acesso não autorizado

{
  "message":"Unauthorized"
}

HTTP 429 - Excedido o número de tentativas de acesso

{
  "message":"Exceeded the limit of attempts. Wait for 5 minutes for another try."
}

Clone this wiki locally