Este documento fornece uma documentação da API SCOPI, descrevendo os principais recursos como autenticação, usuários, divisões, objetivos, indicadores, projetos e processos. A API permite consultar, inserir e atualizar dados do sistema de forma automatizada para integrar o SCOPI com outros sistemas de acordo com as necessidades do cliente.
Apresentação realizada na reunião de 26 de junho de 2019 do Atlassian User Group de São Paulo. Demonstração de como a interface REST dos produtos da plataforma Atlassian podem ser considerados como alternativas aos APPS e a tarefas manuais pela interface Web. Ao final há um exemplo onde a opção de utilizar a interface REST economizou tempo e dinheiro e entregou o trabalho feito
Por que GraphQL vem ganhando força na comunidade de desenvolvedores?
Quais problemas o GraphQL pretende resolver?
Quais as boas práticas no uso de GraphQL?
Quais as armadilhas na adoção de GraphQL?
Dismistificando as dúvidas comuns relacionadas a GraphQL.
Apresentação realizada na reunião de 26 de junho de 2019 do Atlassian User Group de São Paulo. Demonstração de como a interface REST dos produtos da plataforma Atlassian podem ser considerados como alternativas aos APPS e a tarefas manuais pela interface Web. Ao final há um exemplo onde a opção de utilizar a interface REST economizou tempo e dinheiro e entregou o trabalho feito
Por que GraphQL vem ganhando força na comunidade de desenvolvedores?
Quais problemas o GraphQL pretende resolver?
Quais as boas práticas no uso de GraphQL?
Quais as armadilhas na adoção de GraphQL?
Dismistificando as dúvidas comuns relacionadas a GraphQL.
2016/08/19 - Uma visão geral da AWS para desenvolvedoresJardel Weyrich
Treinamento interno que ocorreu em 19/08/2016 na Teltec Solutions.
A intenção é passar uma idéia do funcionamento de algumas ferramentas/serviços da AWS que podem ajudar no trabalho de devs e devops.
De a máxima cobertura nos seus testes de APIElias Nogueira
Palestra ministrada no Reginonal Scrum Gathering Rio 2019 no dia 27/06/2019 sobre como dar uma cobertura de testes para uma API além do teste unitário e de integração, com um foco totalmente prático e com execução em pipeline.
AngularJS tem atraído muita atenção ultimamente e a maioria das aplicações utilizando Angular necessitam comunicar-se por meio de uma API REST. A plataforma Java EE com sua robustez e o seu avançado suporte a REST é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST backend para aplicações baseadas em HTML5 e AngularJS. Esta palestra abordará como construir uma aplicação em Angular utilizando tecnologias backend Java EE, como JAX-RS, WebSockets, JSON-P e CDI. Ao final desta sessão, você vai entender os benefícios no uso destas tecnologias, bem como padrões e boas práticas aplicadas neste modelo de desenvolvimento. Os tópicos abordados incluem: Javascript, HTML5, AngularJS, algumas API's Java EE (JAX-RS, WebSockets, JSON-P, CDI).
A stack Spring ganhou bastante popularidade por causa do seu modelo de programação intuitivo, baseado em anotações e em assinaturas de métodos bem flexíveis. Nesta palestra vamos entender como usar os verbos HTTP e a stack do Spring para construir APIs RESTfu
Spring Data REST oferece uma customização no topo do projeto Spring Data que exporta os repositórios automaticamente como serviços REST. Implementa conceitos e boas práticas em arquiteturas REST, como RESTful, ALPS, HATEOAS, permitindo os clientes encontrarem e explorarem as funcionalidades expostas de uma maneira fácil e organizada.
Esta palestra irá abordar como desenvolver rapidamente uma API de microservicos REST utilizando Spring Boot e Spring Data REST. Será principalmente orientada a exemplos de código demonstrando a implementação destas tecnologias.
O AngularJS tem atraído muita atenção dos desenvolvedores, e a maioria das aplicações utilizando esse framework open source necessitam se comunicar por meio de APIs web. A plataforma Java EE, com sua robustez e suporte avançado a REST, é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST de backend para aplicações baseadas em HTML5 e AngularJS.
Esta palestra abordará como construir uma aplicação em AngularJS utilizando tecnologias backend Java EE, incluindo JAX-RS, WebSockets, JSON-P e CDI. Ao final você vai entender os benefícios do uso destas tecnologias, bem como padrões e boas práticas aplicadas nesse modelo de desenvolvimento. Os tópicos abordados incluem JavaScript, HTML5, AngularJS e várias APIs do Java EE.
O AngularJS tem atraído muita atenção dos desenvolvedores, e a maioria das aplicações utilizando esse framework open source necessitam se comunicar por meio de APIs web. A plataforma Java EE, com sua robustez e suporte avançado a REST, é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST de backend para aplicações baseadas em HTML5 e AngularJS.
Esta palestra abordará como construir uma aplicação em AngularJS utilizando tecnologias backend Java EE, incluindo JAX-RS, WebSockets, JSON-P e CDI. Ao final você vai entender os benefícios do uso destas tecnologias, bem como padrões e boas práticas aplicadas nesse modelo de desenvolvimento. Os tópicos abordados incluem JavaScript, HTML5, AngularJS e várias APIs do Java EE.
Criando um gateway de microserviços com GraphQL - Felipe LopesFelipe Lopes
Talk de introdução ao GraphQL: o que é, de onde surgiu e como funciona, finalizando com um hands-on de uma implementação de um Gateway de microserviços utilizando GraphQL.
Alguns conceitos para começar a testar APIs REST. Precisamos saber alguns conceitos básicos e depois podemos começar a testar. De forma bem resumida o que são os métodos HTTP, o que é URL e URI, como fazer uma requisição no Postman e os principais códigos de status HTTP!
Alguns links e materiais indicados para quem quer iniciar nesse mundo de testes em API foram disponibilizados.
Apresentação realizada no PGConf.Brasil 2018.
Utilizando o Apache NiFi para capturar a replicação lógica do PostgreSQL e gerar fluxo de Stream no NiFi para poder ser ingestado nas tecnologias de Big Data como Kafka, Hdfs, Hbase, Hive, Solr, etc...
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
2016/08/19 - Uma visão geral da AWS para desenvolvedoresJardel Weyrich
Treinamento interno que ocorreu em 19/08/2016 na Teltec Solutions.
A intenção é passar uma idéia do funcionamento de algumas ferramentas/serviços da AWS que podem ajudar no trabalho de devs e devops.
De a máxima cobertura nos seus testes de APIElias Nogueira
Palestra ministrada no Reginonal Scrum Gathering Rio 2019 no dia 27/06/2019 sobre como dar uma cobertura de testes para uma API além do teste unitário e de integração, com um foco totalmente prático e com execução em pipeline.
AngularJS tem atraído muita atenção ultimamente e a maioria das aplicações utilizando Angular necessitam comunicar-se por meio de uma API REST. A plataforma Java EE com sua robustez e o seu avançado suporte a REST é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST backend para aplicações baseadas em HTML5 e AngularJS. Esta palestra abordará como construir uma aplicação em Angular utilizando tecnologias backend Java EE, como JAX-RS, WebSockets, JSON-P e CDI. Ao final desta sessão, você vai entender os benefícios no uso destas tecnologias, bem como padrões e boas práticas aplicadas neste modelo de desenvolvimento. Os tópicos abordados incluem: Javascript, HTML5, AngularJS, algumas API's Java EE (JAX-RS, WebSockets, JSON-P, CDI).
A stack Spring ganhou bastante popularidade por causa do seu modelo de programação intuitivo, baseado em anotações e em assinaturas de métodos bem flexíveis. Nesta palestra vamos entender como usar os verbos HTTP e a stack do Spring para construir APIs RESTfu
Spring Data REST oferece uma customização no topo do projeto Spring Data que exporta os repositórios automaticamente como serviços REST. Implementa conceitos e boas práticas em arquiteturas REST, como RESTful, ALPS, HATEOAS, permitindo os clientes encontrarem e explorarem as funcionalidades expostas de uma maneira fácil e organizada.
Esta palestra irá abordar como desenvolver rapidamente uma API de microservicos REST utilizando Spring Boot e Spring Data REST. Será principalmente orientada a exemplos de código demonstrando a implementação destas tecnologias.
O AngularJS tem atraído muita atenção dos desenvolvedores, e a maioria das aplicações utilizando esse framework open source necessitam se comunicar por meio de APIs web. A plataforma Java EE, com sua robustez e suporte avançado a REST, é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST de backend para aplicações baseadas em HTML5 e AngularJS.
Esta palestra abordará como construir uma aplicação em AngularJS utilizando tecnologias backend Java EE, incluindo JAX-RS, WebSockets, JSON-P e CDI. Ao final você vai entender os benefícios do uso destas tecnologias, bem como padrões e boas práticas aplicadas nesse modelo de desenvolvimento. Os tópicos abordados incluem JavaScript, HTML5, AngularJS e várias APIs do Java EE.
O AngularJS tem atraído muita atenção dos desenvolvedores, e a maioria das aplicações utilizando esse framework open source necessitam se comunicar por meio de APIs web. A plataforma Java EE, com sua robustez e suporte avançado a REST, é uma das melhoras soluções atuais para suportar todos os requisitos de uma API REST de backend para aplicações baseadas em HTML5 e AngularJS.
Esta palestra abordará como construir uma aplicação em AngularJS utilizando tecnologias backend Java EE, incluindo JAX-RS, WebSockets, JSON-P e CDI. Ao final você vai entender os benefícios do uso destas tecnologias, bem como padrões e boas práticas aplicadas nesse modelo de desenvolvimento. Os tópicos abordados incluem JavaScript, HTML5, AngularJS e várias APIs do Java EE.
Criando um gateway de microserviços com GraphQL - Felipe LopesFelipe Lopes
Talk de introdução ao GraphQL: o que é, de onde surgiu e como funciona, finalizando com um hands-on de uma implementação de um Gateway de microserviços utilizando GraphQL.
Alguns conceitos para começar a testar APIs REST. Precisamos saber alguns conceitos básicos e depois podemos começar a testar. De forma bem resumida o que são os métodos HTTP, o que é URL e URI, como fazer uma requisição no Postman e os principais códigos de status HTTP!
Alguns links e materiais indicados para quem quer iniciar nesse mundo de testes em API foram disponibilizados.
Apresentação realizada no PGConf.Brasil 2018.
Utilizando o Apache NiFi para capturar a replicação lógica do PostgreSQL e gerar fluxo de Stream no NiFi para poder ser ingestado nas tecnologias de Big Data como Kafka, Hdfs, Hbase, Hive, Solr, etc...
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
1. DOCUMENTAÇÃO API
VERSÃO 3
1
INTRODUÇÃO
A API SCOPI oferece a possibilidade de integrar o seu SCOPI com outros sistemas, permitindo tanto
consultar seus dados, quanto inserir e atualizar dados automaticamente. Neste documento você
encontrará todas as informações necessárias para realizar qualquer requisição e integrar o SCOPI
conforme suas necessidades.
O acesso a API é permitido somente para clientes. Cada cliente possui uma credencial única, que é
utilizada para a autenticação na API. Ao fazer qualquer requisição, é necessário incluir um token de acesso
que é gerado a partir da sua credencial. O token é gerado através da rota de autenticação, passando a sua
credencial e recebendo o token. O token tem um período de expiração de 24 horas. A cada requisição
realizada durante esse período, o token é renovado por mais 24 horas. Após o período de expiração do
token, é necessário gerar um novo token, não sendo possível renová-lo.
Para mais informações entre em contato com o suporte.
AUTENTICAÇÃO
POST /api/oauth/token
Autentica o cliente a partir da sua credencial e retorna um token de acesso.
BODY PARAMS
*grant_type
string
Tipo de acesso. Valor válido: client_credentials.
*client_id
string
Identificador do cliente.
*client_secret
string
Token do cliente.
CURL REQUEST
curl -X POST 'https://api.scopi.com.br/api/oauth/token'
-H 'content-type: application/json'
-d '{
"grant_type": "client_credentials",
"client_id": <<client_id>>,
"client_secret": <<client_secret>>
}'
JSON RESPONSE
{
"access_token": <<access_token>>,
"token_type": "bearer",
"expires_in": 86400,
"created_at": 1500000000
}
2. DOCUMENTAÇÃO API
VERSÃO 3
2
POST /api/oauth/token/refresh
Confirma a renovação do token de acesso e retorna o novo período de expiração.
BODY PARAMS
*access_token
string
Token de acesso.
CURL REQUEST
curl -X POST 'https://api.scopi.com.br/api/oauth/token/refresh'
-H 'content-type: application/json'
-d '{
"access_token": <<access_token>>
}'
JSON RESPONSE
{
"message": "Access token was refreshed",
"expiration_date": 2018-01-01T00:00:00.000-00:00
}
3. DOCUMENTAÇÃO API
VERSÃO 3
3
USUÁRIOS
GET /users
Retorna uma lista de usuários.
QUERY PARAMS
active
boolean
Busca usuários ativos/inativos. Valores válidos: true ou false.
CURL REQUEST
curl -X GET
'https://api.scopi.com.br/api/v3/users?access_token=<<access_token>>&active=true'
JSON RESPONSE
[
{
"id": 1,
"name": "João",
"email": "joao@gmail.com",
"active": true
},
{
"id": 2,
"name": "Maria",
"email": "maria@gmail.com",
"active": true
}
]
4. DOCUMENTAÇÃO API
VERSÃO 3
4
DIVISÕES
GET /divisions
Retorna uma lista de divisões.
CURL REQUEST
curl -X GET
'https://api.scopi.com.br/api/v3/divisions?access_token=<<access_token>>'
JSON RESPONSE
[
{
"id": 1,
"name": "Administração",
"strategic_map": {
"id": 1,
"name": "Empresa X (2015 - 2020)"
}
},
{
"id": 2,
"name": "Vendas",
"strategic_map": {
"id": 1,
"name": "Empresa X (2015 - 2020)"
}
}
]
5. DOCUMENTAÇÃO API
VERSÃO 3
5
OBJETIVOS
GET /objectives
Retorna uma lista de objetivos.
QUERY PARAMS
active
boolean
Busca objetivos ativos/inativos. Valores válidos: true ou false.
CURL REQUEST
curl -X GET
'https://api.scopi.com.br/api/v3/objectives?access_token=<<access_token>>&active=true'
JSON RESPONSE
[
{
"id": 1,
"name": "Ampliar a receita e o lucro",
"active": true,
"strategic_map": {
"id": 1,
"name": "Empresa X (2015 - 2020)"
}
},
{
"id": 2,
"name": "Melhorar as condições de infraestrutura",
"active": true,
"strategic_map": {
"id": 1,
"name": "Empresa X (2015 - 2020)"
}
}
]
6. DOCUMENTAÇÃO API
VERSÃO 3
6
INDICADORES
GET /indicators
Retorna uma lista de indicadores.
QUERY PARAMS
active
boolean
Busca indicadores ativos/inativos. Valores válidos: true ou false.
objective_id
string
Busca indicadores por objetivo estratégico. Valores válidos: um ou
mais identificadores separados por vírgula.
division_id
string
Busca indicadores por divisão. Valores válidos: um ou mais
identificadores separados por vírgula.
coordinator_id
string
Busca indicadores por coordenador. Valores válidos: um ou mais
identificadores separados por vírgula.
responsible_id
string
Busca indicadores por responsável. Valores válidos: um ou mais
identificadores separados por vírgula.
nivel
string
Busca indicadores por nivel. Valores válidos: um ou mais niveis
separados por vírgula. Possíveis niveis: 0, 1, 2 ou 3.
CURL REQUEST
curl -X GET
'https://api.scopi.com.br/api/v3/indicators?access_token=<<access_token>>&active=true'
JSON RESPONSE
[
{
"id": 1,
"name": "Faturamento",
"description": "Receita bruta de vendas",
"nivel": 3,
"lines": 0,
"active": true,
"division": {
"id": 1,
"name": "Administração"
},
"objective": {
"id": 1,
"name": "Ampliar a receita e o lucro"
},
"coordinator": {
"id": 1,
"name": "João"
},
"responsible": {
"id": 2,
"name": "Maria"
}
}
]
7. DOCUMENTAÇÃO API
VERSÃO 3
7
GET /indicators/:id
Retorna um único indicador.
PATH PARAMS
id
integer
Identificador do indicador.
CURL REQUEST
curl -X GET
'https://api.scopi.com.br/api/v3/indicators/1?access_token=<<access_token>>'
JSON RESPONSE
{
"id": 1,
"name": "Faturamento",
"description": "Receita bruta de vendas",
"nivel": 3,
"measure_unit": "R$",
"source": "Planilha",
"tendency": 0,
"relation": 0,
"tolerance": 5,
"lines": 0,
"active": true,
"division": {
"id": 1,
"name": "Administração"
},
"objective": {
"id": 1,
"name": "Ampliar a receita e o lucro"
},
"coordinator": {
"id": 1,
"name": "João"
},
"responsible": {
"id": 2,
"name": "Maria"
},
"series": [
{
"serie": "A",
"name": "Faturamento",
"year": 2017,
"result": {
"value": 1000000,
"goal": 1000000,
"percentage": 100,
"situation": "reached"
},
8. DOCUMENTAÇÃO API
VERSÃO 3
8
"lines": [
{
"line": 1,
"category": "Janeiro",
"result": {
"value": 1000000,
"goal": 1000000,
"percentage": 100,
"situation": "reached"
}
},
...
]
}
]
}
PUT /indicators/:id
Atualiza dados do indicador.
PATH PARAMS
id
integer
Identificador do indicador.
BODY PARAMS
*serie
string
Identificador da série. Possíveis séries: A, B, C, D, E ou F.
*line
integer
Identificador da linha.
value
double
Valor da linha.
goal
double
Meta da linha.
CURL REQUEST
curl -X PUT 'https://api.scopi.com.br/api/v3/indicators/1'
-H 'content-type: application/json'
-d '{
"access_token": <<access_token>>,
"serie": "A",
"line": 1,
"value": "1000000,00"
}'
9. DOCUMENTAÇÃO API
VERSÃO 3
9
PROJETOS
GET /projects
Retorna uma lista de projetos.
QUERY PARAMS
active
boolean
Busca projetos ativos/inativos. Valores válidos: true ou false.
objective_id
string
Busca projetos por objetivo estratégico. Valores válidos: um ou mais
identificadores separados por vírgula.
division_id
string
Busca projetos por divisão. Valores válidos: um ou mais
identificadores separados por vírgula.
coordinator_id
string
Busca projetos por coordenador. Valores válidos: um ou mais
identificadores separados por vírgula.
sponsor_id
string
Busca projetos por patrocinador. Valores válidos: um ou mais
identificadores separados por vírgula.
nivel
string
Busca projetos por nivel. Valores válidos: um ou mais niveis separados
por vírgula. Possíveis niveis: 0, 1, 2 ou 3.
status
string
Busca projetos por status. Valores válidos: um ou mais status
separados por vírgula. Possíveis status: 1 (não iniciado), 2 (início
atrasado), 3 (andamento no prazo), 4 (fim atrasado), 5 (concluído
total), 6 (concluído parcial), 7 (cancelado).
CURL REQUEST
curl -X GET
'https://api.scopi.com.br/api/v3/projects?access_token=<<access_token>>&active=true'
JSON RESPONSE
[
{
"id": 1,
"name": "Construção de novo edifício",
"description": "Novo edifício para a área administrativa",
"nivel": 3,
"prevision_start": "2017-01-01",
"prevision_end": "2018-01-01",
"date_start": "2017-01-01",
"date_end": null,
"status": 3,
"active": true,
"division": {
"id": 1,
"name": "Administração"
},
"objective": {
"id": 2,
"name": "Melhorar as condições de infraestrutura"
},
"coordinator": {
10. DOCUMENTAÇÃO API
VERSÃO 3
10
"id": 1,
"name": "João"
},
"sponsor": {
"id": 2,
"name": "Maria"
}
}
]
GET /projects/:id
Retorna um único projeto.
PATH PARAMS
id
integer
Identificador do projeto.
CURL REQUEST
curl -X GET
'https://api.scopi.com.br/api/v3/projects/1?access_token=<<access_token>>'
JSON RESPONSE
{
"id": 1,
"name": "Construção de novo edifício",
"description": "Novo edifício para a área administrativa",
"nivel": 3,
"prevision_start": "2017-01-01",
"prevision_end": "2018-01-01",
"date_start": "2017-01-01",
"date_end": null,
"status": 3,
"active": true,
"division": {
"id": 1,
"name": "Administração"
},
"objective": {
"id": 2,
"name": "Melhorar as condições de infraestrutura"
},
"coordinator": {
"id": 1,
"name": "João"
},
"sponsor": {
"id": 2,
"name": "Maria"
},
"team": [
{
11. DOCUMENTAÇÃO API
VERSÃO 3
11
"id": 1,
"name": "João"
},
{
"id": 2,
"name": "Maria"
}
],
"justifications": [
{
"name": "O edifício atual não suporta adequadamente toda a equipe administrativa"
}
],
"premises": [
{
"name": "Ter capacidade para, no mínimo, uma equipe de 100 pessoas"
}
],
"restrictions": [
{
"name": "O novo edifício deve ser sustentável"
}
],
"risks": [
{
"name": "Cortes na equipe administrativa",
"countermeasure": "A administração volta para o edifício atual e o novo edifício é alocado
por outra área",
"impact": 3,
"probability": 1
}
],
"phases": [
{
"id": 1,
"name": "TO DO",
"description": null,
"active": true,
"actions": [
{
"id": 1,
"name": "Contratação de empreiteira",
"description": "Contatar empreiteiras quanto ao orçamento e contratar",
"nivel": 3,
"prevision_start": "2017-01-01",
"prevision_end": "2017-01-15",
"date_start": null,
"date_end": null,
"status": 1,
"active": true,
"responsibles": [
{
"id": 1,
"name": "João"
}
]
12. DOCUMENTAÇÃO API
VERSÃO 3
12
}
]
},
{
"id": 2,
"name": "DOING",
"description": null,
"active": true,
"actions": []
},
{
"id": 3,
"name": "DONE",
"description": null,
"active": true,
"actions": []
}
],
"expenses": [
{
"name": "Compra do terreno",
"expected_date": "2017-01-01",
"expected_value": "100000.0",
"date": "2017-01-01",
"value": "100000.0",
"responsible": {
"id": 2,
"name": "Maria"
}
}
],
"revenues": [
{
"name": "Orçamento inicial",
"expected_date": "2017-01-01",
"expected_value": "3000000.0",
"date": "2017-01-01",
"value": "3000000.0",
"responsible": {
"id": 2,
"name": "Maria"
}
}
]
}
GET /projects/:id/team
Retorna uma lista de membros da equipe do projeto.
PATH PARAMS
id
integer
Identificador do projeto.
13. DOCUMENTAÇÃO API
VERSÃO 3
13
CURL REQUEST
curl -X GET
'https://api.scopi.com.br/api/v3/projects/1/team?access_token=<<access_token>>'
JSON RESPONSE
[
{
"id": 1,
"name": "João"
},
{
"id": 2,
"name": "Maria"
}
]
GET /projects/:id/phases
Retorna uma lista de fases do projeto.
PATH PARAMS
id
integer
Identificador do projeto.
QUERY PARAMS
active
boolean
Busca fases ativas/inativas. Valores válidos: true ou false.
CURL REQUEST
curl -X GET
'https://api.scopi.com.br/api/v3/projects/1/phases?access_token=<<access_token>>'
JSON RESPONSE
[
{
"id": 1,
"name": "TO DO",
"description": null,
"active": true,
"actions": [
{
"id": 1,
"name": "Contratação de empreiteira",
"description": "Contatar empreiteiras quanto ao orçamento e contratar",
"nivel": 3,
"prevision_start": "2017-01-01",
"prevision_end": "2017-01-15",
"date_start": null,
"date_end": null,
"status": 1,
14. DOCUMENTAÇÃO API
VERSÃO 3
14
"active": true,
"responsibles": [
{
"id": 1,
"name": "João"
}
]
}
]
},
{
"id": 2,
"name": "DOING",
"description": null,
"active": true,
"actions": []
},
{
"id": 3,
"name": "DONE",
"description": null,
"active": true,
"actions": []
}
]
POST /projects/:id/phases
Cria uma fase no projeto.
PATH PARAMS
id
integer
Identificador do projeto.
BODY PARAMS
*name
string
Nome da fase.
description
string
Descrição da fase.
active
boolean
Determina a fase ativa ou inativa
CURL REQUEST
curl -X POST 'https://api.scopi.com.br/api/v3/projects/1/phases'
-H 'content-type: application/json'
-d '{
"access_token": <<access_token>>,
"name": "TO DO"
}'
15. DOCUMENTAÇÃO API
VERSÃO 3
15
PROCESSOS
O módulo de processos possui as mesmas rotas que o módulo de projetos, substituindo "/projects" por
"/processes":
GET /processes
GET /processes/:id
GET /processes/:id/team
GET /processes/:id/phases
POST /processes/:id/phases
16. DOCUMENTAÇÃO API
VERSÃO 3
16
FASES
GET /phases/:id
Retorna uma única fase.
PATH PARAMS
id
integer
Identificador da fase.
CURL REQUEST
curl -X GET
'https://api.scopi.com.br/api/v3/phases/1?access_token=<<access_token>>'
JSON RESPONSE
{
"id": 1,
"name": "TO DO",
"description": null,
"active": true,
"project": {
"id": 1,
"name": "Construção de novo edifício"
},
"actions": [
{
"id": 1,
"name": "Contratação de empreiteira",
"description": "Contatar empreiteiras quanto ao orçamento e contratar",
"nivel": 3,
"prevision_start": "2017-01-01",
"prevision_end": "2017-01-15",
"date_start": null,
"date_end": null,
"status": 1,
"active": true,
"responsibles": [
{
"id": 1,
"name": "João"
}
]
}
]
}
PUT /phases/:id
Atualiza dados da fase.
PATH PARAMS
id Identificador da fase.
17. DOCUMENTAÇÃO API
VERSÃO 3
17
integer
BODY PARAMS
name
string
Nome da fase.
description
string
Descrição da fase.
active
boolean
Determina a fase ativa ou inativa
CURL REQUEST
curl -X PUT 'https://api.scopi.com.br/api/v3/phases/1'
-H 'content-type: application/json'
-d '{
"access_token": <<access_token>>,
"active": true
}'
GET /phases/:id/actions
Retorna uma lista de ações da fase.
PATH PARAMS
id
integer
Identificador da fase.
QUERY PARAMS
active
boolean
Busca ações ativas/inativas. Valores válidos: true ou false.
nivel
string
Busca ações por nivel. Valores válidos: um ou mais niveis separados
por vírgula. Possíveis niveis: 0, 1, 2 ou 3.
status
string
Busca ações por status. Valores válidos: um ou mais status separados
por vírgula. Possíveis status: 1 (não iniciado), 2 (início atrasado), 3
(andamento no prazo), 4 (fim atrasado), 5 (concluído), 6 (cancelado).
CURL REQUEST
curl -X GET
'https://api.scopi.com.br/api/v3/phases/1/actions?access_token=<<access_token>>'
JSON RESPONSE
[
{
"id": 1,
"name": "Contratação de empreiteira",
"description": "Contatar empreiteiras quanto ao orçamento e contratar",
"nivel": 3,
"prevision_start": "2017-01-01",
"prevision_end": "2017-01-15",
"date_start": null,
18. DOCUMENTAÇÃO API
VERSÃO 3
18
"date_end": null,
"status": 1,
"active": true,
"responsibles": [
{
"id": 1,
"name": "João"
}
]
}
]
POST /phases/:id/actions
Cria uma ação na fase.
PATH PARAMS
id
integer
Identificador da fase.
BODY PARAMS
*name
string
Nome da ação.
description
string
Descrição da ação.
nivel
integer
Nivel da ação.
prevision_start
date
Previsão de início da ação.
prevision_end
date
Previsão de fim da ação.
date_start
date
Data de início da ação.
date_end
date
Data de fim da ação.
responsible_id
string
Usuários responsáveis da ação. Valores válidos: um ou mais
identificadores separados por vírgula.
active
boolean
Determina a ação ativa ou inativa.
CURL REQUEST
curl -X POST 'https://api.scopi.com.br/api/v3/phases/1/actions'
-H 'content-type: application/json'
-d '{
"access_token": <<access_token>>,
"name": "Contratação de empreiteira",
"description": "Contatar empreiteiras quanto ao orçamento e contratar",
"nivel": 3,
"prevision_start": "2017-01-01",
20. DOCUMENTAÇÃO API
VERSÃO 3
20
AÇÕES
GET /actions/:id
Retorna uma única ação.
PATH PARAMS
id
integer
Identificador da ação.
CURL REQUEST
curl -X GET
'https://api.scopi.com.br/api/v3/actions/1?access_token=<<access_token>>'
JSON RESPONSE
{
"id": 1,
"name": "Contratação de empreiteira",
"description": "Contatar empreiteiras quanto ao orçamento e contratar",
"nivel": 3,
"prevision_start": "2017-01-01",
"prevision_end": "2017-01-15",
"date_start": null,
"date_end": null,
"status": 1,
"active": true,
"project": {
"id": 1,
"name": "Construção de novo edifício"
},
"phase": {
"id": 1,
"name": "TO DO"
},
"responsibles": [
{
"id": 1,
"name": "João"
}
],
"comments": [
{
"comment": "Nova empreiteira contatada!",
"user": "João"
}
]
}
PUT /actions/:id
Atualiza dados da ação.
21. DOCUMENTAÇÃO API
VERSÃO 3
21
PATH PARAMS
id
integer
Identificador da ação.
BODY PARAMS
name
string
Nome da ação.
description
string
Descrição da ação.
nivel
integer
Nivel da ação.
prevision_start
date
Previsão de início da ação.
prevision_end
date
Previsão de fim da ação.
date_start
date
Data de início da ação.
date_end
date
Data de fim da ação.
responsible_id
string
Usuários responsáveis da ação. Valores válidos: um ou mais
identificadores separados por vírgula.
active
boolean
Determina a ação ativa ou inativa.
CURL REQUEST
curl -X PUT 'https://api.scopi.com.br/api/v3/actions/1'
-H 'content-type: application/json'
-d '{
"access_token": <<access_token>>,
"active": true
}'