Implementação para Java

Exemplos de requisições as entidades

  1. O Syndicate.class aqui define o objeto da entidade que você deseja requisitar, neste exemplo foi usado a entidade Syndicate.
    EntityPage<Syndicate> retorno = new EntitiesUtils<>("hcm", "payroll", token, Syndicate.class).executeGet("syndicate", null);

    Para fazer uma consulta usando o filtro


    // Caso seja necessário utilizar a classe de filtro String filter = new FilterBuilder().field("id").equals("60B3957C72C44E00A9739451B07265C3").build(); // O mesmo terá como retorno o seguinte : ?filter=id eq '60B3957C72C44E00A9739451B07265C3'

    Get


    public static final String ENTITY_NAME = "syndicate"; EntityPage<Syndicate> entityUtils = new EntitiesUtils<>("hcm", "payroll", token, Syndicate.class); public void getEntity() { EntityPage featureToggle = entityUtils.executeGet(ENTITY_NAME, null); } public void getByIdEntity() { Syndicate syndicate = (Syndicate)entityUtils.executeGetById(ENTITY_NAME, "60B3957C72C44E00A9739451B07265C3"); }

    Post


    public void postEntity() { Syndicate payload = new Syndicate("4ca94ee8-a1c2-11ea-bb37-0242af",2L,"Nome Sidicato", 12L); Syndicate syndicate = (Syndicate)entityUtils.executePost(ENTITY_NAME, payload); }

    Put


    public void putEntity() { Syndicate payload = new Syndicate("4ca94ee8-a1c2-11ea-bb37-0242af", 2L, "Sindicato de Tudo", 12L); Syndicate putResult = (Syndicate) entityUtils.executePut(ENTITY_NAME, "4ca94ee8-a1c2-11ea-bb37-0242af", payload); }

    Delete


    public void deleteEntity() { entityUtils.executeDelete(ENTITY_NAME, "4ca94ee8-a1c2-11ea-bb37-0242af"); }

Para mais informações sobre como utilizar filtros (Odata) - https://api.xplatform.com.br/api-portal/pt-br/tutoriais/entidades/uso-das-apis-de-entidade-com-filtros-odata

Exemplos de código Java utilizando as entidades - https://github.com/dev-senior-com-br/senior-core-java/tree/master/examples/src/main/java/br/com/senior/core

Implementação para Node

Exemplos de requisições as entidades

  1. O Vacancy aqui faz a tipagem do retorno da entidade, neste exemplo utilizamos a entidade Vacancy do hcm recruitment.


    const entity: Entity<Vacancy> = api.getEntity("hcm", "recruitment", "vacancy"); entity.get().then(resp => console.log(resp.body));

    Para fazer uma consulta usando o filtro


    // Caso seja necessário utilizar a classe de filtro const filter = new FilterBuilder().field("id").equals("60B3957C72C44E00A9739451B07265C3").build(); // O mesmo terá como retorno o seguinte : ?filter=id eq '60B3957C72C44E00A9739451B07265C3'

    Get


    let entity: Entity = api.getEntity('hcm', 'recruitment', 'vacancy'); entity.get({id: '60B3957C72C44E00A9739451B07265C3'}).then(resp => console.log(resp.body));

    Post


    const vacancy: Vacancy = { description: 'descricao de vaga', justification: 'justificativa de vaga', reason: 'STAFF_INCREASE', title: 'titulo da vaga' }; entity.post(vacancy).then(resp => console.log(resp.body));

    Put


    const vacancy: Vacancy = { description: 'descricao de vaga', justification: 'justificativa de vaga', reason: 'STAFF_INCREASE', title: 'titulo da vaga', id: '60B3957C72C44E00A9739451B07265C3' // Lembrar de passar o id dentro do objeto também }; entity.put('60B3957C72C44E00A9739451B07265C3', vacancy).then(resp => console.log(resp.body));

    Delete


    entity.delete('60B3957C72C44E00A9739451B07265C3').then(resp => console.log(resp.body));

SDK Node -https://github.com/dev-senior-com-br/senior-core-node

Exemplos de código Node utilizando as entidades - https://github.com/dev-senior-com-br/senior-core-node/tree/master/examples

Uso de SDK com models gerados

Dentro de cada SDK tem uma pasta contendo as entidades geradas pelo `swagger.json` de cada serviço. Exemplos de entidades Vacancy Node e Vacancy Java

Para saber qual o dominio, serviço e nome da entidade para chamar pelo EntitiesUtils (Java) ou getEntity (Node), você pode procurar sua entidade no https://api.xplatform.com.br/api-portal/pt-br/content/apis-senior
No caso do Vacancy, o dominio é hcm, serviço é recruitment e entidade vacancy.