Centros de Custo / Receitas (Classification Center)

O recurso Classification Center representa um centro de custo e/ou receita cadastrado em seu MyFinance. Os centros de custo / receita estão associados diretamente a uma entidate (Entity) no MyFinance, isto é, seu uso é restrito apenas a entidade a qual pertence.

Os centros de custo / receita podem ser associados à outros objetos (FinancialTranscation e FinancialAccount), da mesma entidade, tanto através de seu id (seu código identificador único no sistema) quanto através de seu nome (attributo name).

Listar centros de custo / receita

GET /classification_centers

Retorna uma lista (paginada) de todas os centros de custo / receita das Entidades que usuários possui acesso. Para designar o número de registros por página, passar o parâmetro per_page no endpoint. Caso o parâmetro não seja passado, o default de 50 será utilizado. O limite superior é de 500 registros por página. Para navegar entre as diferentes páginas, basta usar o parâmetro page. Exemplo:

GET /classification_centers?per_page=15&page=3

O endpoint acima irá retornar a terceira página da listagem de Classification Centers com 15 registros em cada.

Exemplo de Resposta

HTTP/1.1 200 OK
Content-Type: application/xml; charset=utf-8
Date: Wed, 26 Jan 2011 13:11:23 GMT
<?xml version="1.0" encoding="UTF-8"?>
<classification-centers type="array">
  <classification-center>
    <cost-center type="boolean">true</cost-center>
    <created-at type="datetime">2012-11-07T18:46:36-02:00</created-at>
    <entity-id type="integer">1</entity-id>
    <excel-import-id type="integer" nil="true"></excel-import-id>
    <id type="integer">1</id>
    <name>Centro de custo Tal</name>
    <revenue-center type="boolean">false</revenue-center>
    <updated-at type="datetime">2012-11-07T19:01:36-02:00</updated-at>
    <use-count type="integer">0</use-count>
  </classification-center>
  <classification-center>
    <cost-center type="boolean">false</cost-center>
    <created-at type="datetime">2012-11-07T18:52:15-02:00</created-at>
    <entity-id type="integer">2</entity-id>
    <excel-import-id type="integer" nil="true"></excel-import-id>
    <id type="integer">2</id>
    <name>Centro de receita Tal</name>
    <revenue-center type="boolean">true</revenue-center>
    <updated-at type="datetime">2012-11-07T19:01:46-02:00</updated-at>
    <use-count type="integer">0</use-count>
  </classification-center>
</classification-centers>
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Wed, 26 Jan 2011 13:11:23 GMT
[
  {
    "classification_center":{
      "cost-center":true,
      "created-at":"2012-11-07T18:46:36-02:00",
      "entity-id":1,
      "excel-import-id":null,
      "id":1,
      "name":"Centro de custo Tal",
      "revenue-center":false,
      "updated-at":"2012-11-07T19:01:36-02:00",
      "use-count":0
    }
  },
  {
    "classification_center":{
      "cost-center":false,
      "created-at":"2012-11-07T18:52:15-02:00",
      "entity-id":2,
      "excel-import-id":null,
      "id":2,
      "name":"Centro de receita Tal",
      "revenue-center":true,
      "updated-at":"2012-11-07T19:01:46-02:00",
      "use-count":0
    }
  }
]

Exemplo de Busca Avançada

GET /classification_centers?search[name_contains]=name

Filtros disponíveis para Busca Avançada

- entity_id_equals   | Id da entidade
- name_contains      | Nome parcial do Centro de Custo/Receita
- name_equals        | Nome exato do Centro de Custo/Receita
- cost_center_in     | Apenas centro de custo
- revenue_center_in  | Apenas centro de receita

Exibir um centro de custo / receita

GET /classification_centers/:id

Retorna os atributos do centro de custo / receita especificado (via id) com uma resposta 200 Ok.

Exemplo de Resposta

HTTP/1.1 200 OK
Content-Type: application/xml; charset=utf-8
Date: Wed, 26 Jan 2011 13:11:23 GMT
<?xml version="1.0" encoding="UTF-8"?>
<classification-center>
  <cost-center type="boolean">true</cost-center>
  <created-at type="datetime">2012-11-07T18:46:36-02:00</created-at>
  <entity-id type="integer">1</entity-id>
  <excel-import-id type="integer" nil="true"></excel-import-id>
  <id type="integer">1</id>
  <name>Centro de custo Tal</name>
  <revenue-center type="boolean">false</revenue-center>
  <updated-at type="datetime">2012-11-07T19:01:36-02:00</updated-at>
  <use-count type="integer">0</use-count>
</classification-center>
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Wed, 26 Jan 2011 13:11:23 GMT
{
  "classification_center":{
    "cost_center":true,
    "created_at":"2012-11-07T18:46:36-02:00",
    "entity_id":1,
    "excel_import_id":null,
    "id":1,
    "name":"Centro de custo Tal",
    "revenue_center":false,
    "updated_at":"2012-11-07T19:01:36-02:00",
    "use_count":0
  }
}

Criar um centro de custo / receita

POST /classification_centers

Cria um novo centro de custo / receita com os parâmetros passados. Em caso de sucesso, retorna 201 Created, juntamente com a URI do centro de custo / receita criado no cabeçalho Location da resposta HTTP. Em caso de falha, retorna 422 Unprocessable entity juntamente com a descrição dos erros.

Exemplo de Requisição

{
  "classification_center":{
    "name":"Centro de Custo Tal",
    "entity_id":1,
    "cost_center":true,
    "revenue_center":false
  }
}
<classification_center>
  <name>Centro de Receita Tal</name>
  <entity_id>2</entity_id>
  <cost_center>false</cost_center>
  <revenue_center>true</revenue_center>
</classification_center>

Exemplo de Resposta

HTTP/1.1 201 Created
Location: https://app.myfinance.com.br/classification_centers/111
Content-Type: application/json; charset=utf-8
Date: Wed, 26 Jan 2011 13:27:00 GMT
{
  "classification_center":{
    "cost_center":true,
    "created_at":"2012-11-07T18:46:36-02:00",
    "entity_id":1,
    "excel_import_id":null,
    "id":1,
    "name":"Centro de Custo Tal",
    "revenue_center":false,
    "updated_at":"2012-11-07T18:46:36-02:00",
    "use_count":0
  }
}
HTTP/1.1 201 Created
Location: https://app.myfinance.com.br/classification_centers/112
Content-Type: application/xml; charset=utf-8
Date: Wed, 26 Jan 2011 13:27:00 GMT
<?xml version="1.0" encoding="UTF-8"?>
<classification-center>
  <cost-center type="boolean">false</cost-center>
  <created-at type="datetime">2012-11-07T18:52:15-02:00</created-at>
  <entity-id type="integer">2</entity-id>
  <excel-import-id type="integer" nil="true"></excel-import-id>
  <id type="integer">2</id>
  <name>Centro de Receita Tal</name>
  <revenue-center type="boolean">true</revenue-center>
  <updated-at type="datetime">2012-11-07T18:52:15-02:00</updated-at>
  <use-count type="integer">0</use-count>
</classification-center>

Alterar um centro de custo / receita

Exemplo de Requisição

PUT /classification_centers/:id

Altera o centro de custo / receita especificado. Retorna uma resposta vazia 200 Ok em caso de sucesso ou uma resposta 422 Unprocessable entity com a descrição dos erros em caso de falha.

Apagar um centro de custo / receita

Exemplo de Requisição

DELETE /classification_centers/:id

Apaga o centro de custo / receita especificado, retornando uma resposta vazia com status 200 Ok. Em caso de sucesso, todos os recursos previamente associados ao centro de custo / receita apagado continuarão existindo, porém não estarão associados a nenhum centro de custo / receita!