Skip to main content

JSON API


 

AuthenticationAutenticação  

A API HelloCloud Apipermite allowsdois twotipos kindde of grant types:concessão:

  • ClientCredencial credentialdo Cliente

  • PasswordSenha

TableTabela 1. TokenParâmetros requestde parameterssolicitação de token
Parameter Description

Access Token URL

{{base.url}}/Api/access_token

Username

OnlyDisponível availableapenas forpara Passwordconcessões grants.de Mustsenha. beDeve aser validum HelloCloudnome userde name.usuário válido do HelloCloud.

Password

OnlyDisponível availableapenas forpara Passwordconcessões grants.de Passwordsenha. forSenha thedo selectedusuário user.selecionado.

Client ID

ClientO ID existsdo incliente OAuth2Clientsexiste module’sno ID.ID Mustdo bemódulo aOAuth2Clients. validDeve GUID.ser um GUID válido.

Client Secret

ClientO secretsegredo isdo alsocliente intambém está no módulo OAuth2Clients modulecomo asvalor SHA256gerado generatedpelo value.SHA256.

Scopes

ScopesOs haven’tescopos implementedainda yetnão foram implementados

Parâmetros

Available parameters disponíveis

AccordingDe toacordo JsonApicom specification,a theespecificação availableJsonApi, parametersos areparâmetros thedisponíveis followingsão dependingos onseguintes, thedependendo GETdo endpoint:endpoint GET:

FieldsCampos 

FieldsOs cancampos filterpodem onser attributefiltrados object.por Allowedobjeto keysde areatributo. validAs chaves permitidas são propriedades de bean properties.válidas.

Example:Exemplo:


{{base.url}}/V8/module/Accounts/11a71596-83e7-624d-c792-5ab9006dd493?fields[Accounts]=name,account_type

Resultado:

{{base.url}}/V8/module/Accounts/11a71596-83e7-624d-c792-5ab9006dd493?fields[Accounts]=name,account_type

Result:

{
    "data": {
        "type": "Account",
        "id": "11a71596-83e7-624d-c792-5ab9006dd493",
        "attributes": {
            "name": "White Cross Co",
            "account_type": "Customer"
        },
        "relationships": {
            "AOS_Contracts": {
                "links": {
                    "related": "/V8/module/Accounts/11a71596-83e7-624d-c792-5ab9006dd493/relationships/aos_contracts"
                }
            }
        }
    }
}

PagePágina 

PageA canpágina filterpode filtrar beans ande setdefinir pagination.a Allowedpaginação. keyAs arechaves permitidas são number ande size.


  • page[number] : numbernúmero ofda thepágina wanted pagedesejada

  • page[size] : sizetamanho ofdo the resultresultado


Exemplo:


Example:

{{base.url}}/V8/module/Accounts?fields[Account]=name,account_type&page[number]=3&page[size]=1

Result:


Resultado:

{
    "meta": {
        "total-pages": 54
    },
    "data": [
        {
            "type": "Account",
            "id": "e6e0af95-4772-5773-ae70-5ae70f931feb",
            "attributes": {
                "name": "",
                "account_type": ""
            },
            "relationships": {
                "AOS_Contracts": {
                    "links": {
                        "related": "/V8/module/Accounts/e6e0af95-4772-5773-ae70-5ae70f931feb/relationships/aos_contracts"
                    }
                }
            }
        }
    ],
    "links": {
        "first": "/V8/module/Accounts?fields[Account]=name,account_type&page[number]=1&page[size]=1",
        "prev": "/V8/module/Accounts?fields[Account]=name,account_type&page[number]=2&page[size]=1",
        "next": "/V8/module/Accounts?fields[Account]=name,account_type&page[number]=4&page[size]=1",
        "last": "/V8/module/Accounts?fields[Account]=name,account_type&page[number]=54&page[size]=1"
    }
}

SortOrdenar 

SortA isclassificação only availableestá whendisponível collectionsquando wantedas tocoleções bedesejam fetched.ser Sortingbuscadas. isA setclassificação toé definida como ASC bypor default.padrão. IfSe thea propertypropriedade isfor prefixedprefixada withcom hyphen,hífen, thea sortordem orderde changesclassificação toserá alterada para DESC.

ImportantAviso notice:importante:  weno onlymomento, supportoferecemos singlesuporte sortingapenas rightà now!classificação única!

Example:Exemplo:


{{base.url}}/V8/module/Accounts?sort=-name

Resultado:


Result:

{
    "data": [
        {
            "type": "Account",
            "id": "e6e0af95-4772-5773-ae70-5ae70f931feb",
            "attributes": {
                "name": "White Cross Co",
                "account_type": "Customer"
            },
            "relationships": {
                "AOS_Contracts": {
                    "links": {
                        "related": "/V8/module/Accounts/1d125d2a-ac5a-3666-f771-5ab9008b606c/relationships/aos_contracts"
                    }
                }
            }
        },
        {
            "type": "Account",
            "id": "7831d361-2f3c-dee4-d36c-5ab900860cfb",
            "attributes": {
                "name": "Union Bank",
                "account_type": "Customer"
            },
            "relationships": {
                "AOS_Contracts": {
                    "links": {
                         "related": "/V8/module/Accounts/7831d361-2f3c-dee4-d36c-5ab900860cfb/relationships/aos_contracts"
                    }
                }
            }
        }
    ],
}

Filter 

Our filter strategy is the following:


Filtro 

Nossa estratégia de filtro é a seguinte:

  • filter[operator]=and

  • filter[account_type][eq]=Customer


ImportantAviso notice:importante:  wenão don’toferecemos supportsuporte multipleà levelclassificação sortingem rightvários now!níveis no momento!

SupportedOperadores operatorssuportados 

ComparisonComparação 
EQ = '=';
NEQ = '<>';
GT = '>';
GTE = '>=';
LT = '<';
LTE = '<=';
EQ = '=';
NEQ = '<>';
GT = '>';
GTE = '>=';
LT = '<';
LTE = '<=';

LogicalLógico 
'AND', 'OR'
'AND', 'OR'

Example:Exemplo:

{{base.url}}/V8/module/Accounts?fields[Accounts]=name,account_type&filter[operator]=and&filter[account_type][eq]=Customer

Example:


Exemplo:

{{base.url}}/V8/module/Accounts?filter[account_type][eq]=Customer

Result:


Endpoints 

Logout 

POST {{base.url}}/V8/logout

Get a module by ID 


Obtenha um registro por ID 

GET {{base.url}}/V8/module/{moduleName}/{id}

Parâmetros disponíveis: fields

Exemplo:


Available parameters: fields

Example:

V8/module/Accounts/11a71596-83e7-624d-c792-5ab9006dd493?11a71596-83e7-624d-c792-5ab9006dd493?fields[Accounts]=name,account_type

Obtenha

uma
lista
de
registro
de
um

Get collection of modulesmódulo 

GET {{base.url}}/V8/module/{moduleName}

Available parameters: fields, page, sort, filter

Example:


Parâmetros disponíveis: fields, page, sort, filter

Exemplo:

V8/module/Accounts?fields[Accounts]=name,account_type&page[size]=4&page[number]=4

Create a module record 


Criar um registro no módulo 

POST {{base.url}}/V8/module

Example body:


Exemplo de corpo:

{
  "data": {
    "type": "Accounts",
    "id": "86ee02b3-96d2-47b3-bd6d-9e1035daff3a",
    "attributes": {
      "name": "Test account"
    }
  }
}

Update a module record 


Atualizar um registro no módulo 

PATCH {{base.url}}/V8/module

Example body:


Exemplo de corpo:

{
  "data": {
    "type": "Accounts",
    "id": "11a71596-83e7-624d-c792-5ab9006dd493",
    "attributes": {
      "name": "Updated name"
    }
  }
}

Delete a module record 


Excluir um registro de módulo 

DELETE {{base.url}}/V8/module/{moduleName}/{id}

Get relationship 


Obter relacionamento 

GET {{base.url}}/V8/module/{moduleName}/{id}/relationships/{relatedModuleName}

Example:

V8/module/Accounts/129a096c-5983-1d59-5ddf-5d95ec91c144/relationships/Accounts

Create relationship

Exemplo:

V8/module/Accounts/129a096c-5983-1d59-5ddf-5d95ec91c144/relationships/Accounts

Criar relacionamento

POST {{base.url}}/V8/module/{moduleName}/relationships

Example body:

{
  "data": {
    "type": "Contacts",
    "id": "129a096c-5983-1d59-5ddf-5d95ec91c144"
  }
}

Delete relationship

Exemplo

de corpo:

{
  "data": {
    "type": "Contacts",
    "id": "129a096c-5983-1d59-5ddf-5d95ec91c144"
  }
}

Excluir relacionamento 

DELETE {{base.url}}/V8/module/{moduleName}/{id}/relationships/{relatedModule}/{relatedBeanId}

Example:Exemplo:

V8/module/Accounts/129a096c-5983-1d59-5ddf-5d95ec91c144/129a096c-5983-1d59-5ddf-5d95ec91c144/relationships/Accounts/11a71596-83e7-624d-c792-5ab9006dd49311a71596-83e7-624d-c792-5ab9006dd493