diff --git a/index.html b/index.html new file mode 100644 index 0000000..df476a5 --- /dev/null +++ b/index.html @@ -0,0 +1,731 @@ + + + + + + ERP + + + + + + + + + +

ERP (1.0)

Download OpenAPI specification:Download

API of the internal tools of the Junior-Enterprise TAEP

+

Methogology to develop endpoints :

+
    +
  • A model is responsible for actions on this model. For instance, if a study needs a new document, the user must use the "documents" endpoints, as it's an interaction with this table
  • +
  • Endpoints to fetch data ("Get all ...") must use exhaustive search criterias related to the model
  • +
+

Get all Studies

query Parameters
administrators
string

Comma-separated email addresses of administrators following the study, let empty to select everyone

+
page
number
n
number

Number of objects per page

+
domains
string

Comma-separated name of study domains, corresponding to Labels category "studyDomain" ; let empty for everything

+
skills
string

Comma-separated skills associated to this course ; let empty for everything

+
statuses
string

Comma-separated statuses of the studies : POTENTIAL, DISCUSSION, ONGOING, WAITING_PAY, WAITING_AUDIT, CLOSED, ABORTED ; let empty for everything

+
students
string
clients
string
search
string

Search a string in the reference, summary, domain, status, skills, failures

+
failures
string

Comma-separated labels category "studyFailure"

+

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Study

Request Body schema: application/json
reference
required
string
domainId
required
string

Must correspond to a Label category "studyDomain"

+
clientIds
required
Array of strings
companyId
required
string
convention
any
Enum: "CE" "CC"
amount
integer
status
any
Enum: "POTENTIAL" "DISCUSSION" "ONGOING" "WAITING_PAY" "WAITING_AUDIT"

Default: POTENTIAL

+
summary
string
followerId
required
string

Default: user making the request

+
skillIds
Array of strings

Must correspond to Labels category "skill"

+
failureId
string

Must correspond to a Label category "studyFailure"

+
studentIds
Array of strings
beginning
integer
end
integer

Responses

Request samples

Content type
application/json
{
  • "reference": "string",
  • "domainId": "string",
  • "clientIds": [
    ],
  • "companyId": "string",
  • "convention": "CE",
  • "amount": 0,
  • "status": "POTENTIAL",
  • "summary": "string",
  • "followerId": "string",
  • "skillIds": [
    ],
  • "failureId": "string",
  • "studentIds": [
    ],
  • "beginning": 0,
  • "end": 0
}

Get a Study

path Parameters
studyReference
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "reference": "string",
  • "domain": {
    },
  • "client": {
    },
  • "company": {
    },
  • "convention": "CE",
  • "amount": 0,
  • "status": "POTENTIAL",
  • "summary": "string",
  • "follower": {
    },
  • "failure": {
    },
  • "skills": [
    ],
  • "students": [
    ],
  • "beginning": 0,
  • "end": 0
}

Update a Study

path Parameters
studyReference
required
string
Request Body schema: application/json
reference
string
domainId
string

Must correspond to a Label category "studyDomain"

+
clientId
string
companyId
string
studentIds
Array of strings
convention
any
Enum: "CE" "CC"
amount
integer
status
any
Enum: "POTENTIAL" "DISCUSSION" "ONGOING" "WAITING_PAY" "WAITING_AUDIT" "CLOSED" "ABORTED"
summary
string
followerId
string
failureId
string

Must correspond to a Label category "studyFailure"

+
skillIds
Array of strings

Must correspond to Labels category "skill"

+
beginning
integer
end
integer

Responses

Request samples

Content type
application/json
{
  • "reference": "string",
  • "domainId": "string",
  • "clientId": "string",
  • "companyId": "string",
  • "studentIds": [
    ],
  • "convention": "CE",
  • "amount": 0,
  • "status": "POTENTIAL",
  • "summary": "string",
  • "followerId": "string",
  • "failureId": "string",
  • "skillIds": [
    ],
  • "beginning": 0,
  • "end": 0
}

delete-studies-studyId

path Parameters
studyReference
required
string

Responses

Get all Documents

query Parameters
page
number
Default: 1
n
number
Default: 30
students
string
studies
string
clients
string
type
string
Enum: "DEVIS" "CE" "CC" "BC" "ACE" "ARM" "PV" "NDA" "BA" "ID" "VITALE" "STUDENT" "SCHOLARSHIP" "RM"
createdAtMin
integer
createdAtMax
integer
updatedAtMin
integer
updatedAtMax
integer
createdByIds
string

Comma-separated student IDs

+
updatedByIds
string

Comma-separated student IDs

+
proofreadingsNumber
integer

Create a Document

Request Body schema: application/json
reference
required
string
type
required
any
Enum: "DEVIS" "CE" "CC" "BC" "PV" "NDA" "ARM" "ACE" "BA" "ID" "VITALE" "STUDENT" "SCHOLARSHIP" "RM"
values
object
signedAt
integer
location
string
clientIds
Array of strings
studentIds
Array of strings

Responses

Request samples

Content type
application/json
{
  • "reference": "string",
  • "type": "DEVIS",
  • "values": { },
  • "signedAt": 0,
  • "location": "string",
  • "clientIds": [
    ],
  • "studentIds": [
    ]
}

Get a Document

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "reference": "string",
  • "type": "DEVIS",
  • "createdAt": 0,
  • "createdBy": {
    },
  • "updatedAt": 0,
  • "updatedBy": {
    },
  • "values": { },
  • "signedAt": 0,
  • "location": "string",
  • "students": [
    ],
  • "clients": [
    ]
}

Update a Document

path Parameters
id
required
string
Request Body schema: application/json
reference
string
type
any
Enum: "DEVIS" "CE" "CC" "BC" "NDA" "ARM" "ACE" "PV" "ID" "VITALE" "STUDENT" "SCHOLARSHIP" "BA" "RM"
values
object
signedAt
integer
location
string
clientIds
Array of strings
studentIds
Array of strings

Responses

Request samples

Content type
application/json
{
  • "reference": "string",
  • "type": "DEVIS",
  • "values": { },
  • "signedAt": 0,
  • "location": "string",
  • "clientIds": [
    ],
  • "studentIds": [
    ]
}

Delete a Document

path Parameters
id
required
string

Responses

Get all Proofreadings

query Parameters
byIds
string

Comma-separated administrators IDs

+
atMin
integer
atMax
integer
documentIds
string

Comma-separated document IDs

+

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Proofreading

Request Body schema: application/json
documentId
required
string
administratorId
required
string
notes
required
object

Responses

Request samples

Content type
application/json
{
  • "documentId": "string",
  • "administratorId": "string",
  • "notes": { }
}

Get a Proofreading

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "document": {
    },
  • "at": 0,
  • "by": {
    },
  • "notes": "string"
}

Update a Proofreading

path Parameters
id
required
string
Request Body schema: application/xop+xml
administratorId
string
notes
object

Delete a Proofreading

path Parameters
id
required
string

Responses

Get all Students

query Parameters
page
integer
Default: 1
isAdministrator
boolean
promotion
integer
availableUntil
integer

Date until then students should be available

+
specialisations
string

Comma-separated Labels category "courseSpecialisation"

+
associations
string

comma-separated list of associations the student is involved in

+
n
integer
Default: "30"
search
string

Full-string search in firstName, lastName, email, phone, associations, specialisations

+

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Student

Request Body schema: application/json
email
required
string <email>
phone
string
firstName
required
string
lastName
required
string
birthday
required
integer
promotion
required
integer
availableUntil
integer
specialisationId
string
associations
Array of strings

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "phone": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "birthday": 0,
  • "promotion": 0,
  • "availableUntil": 0,
  • "specialisationId": "string",
  • "associations": [
    ]
}

Get a Student

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "email": "string",
  • "phone": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "birthday": 0,
  • "promotion": 0,
  • "availableUntil": 0,
  • "specialisation": {
    },
  • "associations": [
    ]
}

Update a Student

path Parameters
id
required
string
Request Body schema: application/json
firstName
string
lastName
string
email
string <email>
phone
string
birthday
integer
promotion
integer
availableUntil
integer
specialisationId
string
associations
Array of strings

Responses

Request samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "birthday": 0,
  • "promotion": 0,
  • "availableUntil": 0,
  • "specialisationId": "string",
  • "associations": [
    ]
}

Delete a Student

path Parameters
id
required
string

Responses

Create an Administrator profile for the student

In order to perform this action, the user must be an Administrator from the Office service. New Sysadmin profiles must be created by Sysadmins.

+
path Parameters
id
required
string
Request Body schema: application/json
mandateYear
required
integer
service
required
any
Enum: "SYSADMIN" "OFFICE" "BUSINESS" "TREASURY" "QUALITY"
position
required
string
prospectionGroupId
string

Must refer to a Label category "prospectionGroup"

+

Responses

Request samples

Content type
application/json
{
  • "mandateYear": 0,
  • "service": "SYSADMIN",
  • "position": "string",
  • "prospectionGroupId": "string"
}

Update an Administrator profile

In order to perform this action, the user must be an Administrator from the Office service. New Sysadmin profiles must be created by Sysadmins.

+
path Parameters
id
required
string
Request Body schema: application/json
mandateYear
integer
service
any
Enum: "OFFICE" "SYSADMIN" "TREASURY" "QUALITY" "BUSINESS"
position
string
prospectionGroupId
string

Must refer to a Label category "prospectionGroup"

+

Responses

Request samples

Content type
application/json
{
  • "mandateYear": 0,
  • "service": "OFFICE",
  • "position": "string",
  • "prospectionGroupId": "string"
}

Delete an Administrator profile

In order to perform this action, the user must be an Administrator from the Office service. Sysadmin profiles must be deleted by Sysadmins.

+
path Parameters
id
required
string

Responses

Get all Companies

query Parameters
sectors
string

Comma-separated Labels category "companySector"

+
sizes
string

Comma-separated Labels category "companySizes"

+
search
string

Full-string search on name, description, address, vatNumber

+

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Company

Request Body schema: application/json
name
required
string
address
string
vatNumber
string
sectorId
required
string

Must correspond to a Label category "companySector"

+
sizeId
required
string

Must correspond to a Label category "companySize"

+
prospectionGroupId
string

Must refer to a Label category "prospectionGroup"

+
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "address": "string",
  • "vatNumber": "string",
  • "sectorId": "string",
  • "sizeId": "string",
  • "prospectionGroupId": "string",
  • "description": "string"
}

Get a Company

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "address": "string",
  • "vatNumber": "string",
  • "sector": {
    },
  • "size": {
    },
  • "prospectionGroup": {
    }
}

Update a Company

path Parameters
id
required
string
Request Body schema: application/json
name
string
address
string
vatNumber
string
sectorId
string

Must correspond to a Label category "companySector"

+
sizeId
string

Must correspond to a Label category "companySize"

+
prospectionGroupId
string

Must refer to a Label category "prospectionGroup"

+
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "address": "string",
  • "vatNumber": "string",
  • "sectorId": "string",
  • "sizeId": "string",
  • "prospectionGroupId": "string",
  • "description": "string"
}

Delete a Company

path Parameters
id
required
string

Responses

Get all Labels

query Parameters
page
integer
Default: "1"
n
integer
Default: "40"
categories
string

Comma-separated categories

+
search
string

Full-text search on name, category

+

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Label

Request Body schema: application/json
name
required
string
category
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "category": "string"
}

Get all Label categories

Responses

Response samples

Content type
application/json
[
  • "string"
]

Update a Label

path Parameters
id
required
string
Request Body schema: application/json
name
string
category
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "category": "string"
}

Delete a Label

path Parameters
id
required
string

Responses

Get Label Mappings

Access reserved to Sysadmins

+

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new Label Mapping

Access reserved to Sysadmins

+
Request Body schema: application/json
table
string
field
string
category
string

Responses

Request samples

Content type
application/json
{
  • "table": "string",
  • "field": "string",
  • "category": "string"
}

Delete a Label Mapping

Access reserved to Sysadmins

+
path Parameters
id
required
string

Responses

Get all Courses

query Parameters
n
integer
Default: 30
page
integer
Default: 1
specialisations
string

Comma-separated Labels category "courseSpecialisation"

+
years
string
Enum: "FIRST" "SECOND" "THIRD"

Comma-separated list of years

+
skills
string

comma-separated list of skills (corresponding to Labels) associated to this course

+
search
string

Full-text search on name, specialisation, skills

+

Create a Course

Request Body schema: application/json
name
required
string
specialisationId
required
string

Must correspond to a Label category "specialisation"

+
year
required
any
Enum: "FIRST" "SECOND" "THIRD"
skills
required
Array of strings

Must correspond to Labels category "skill"

+

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "specialisationId": "string",
  • "year": "FIRST",
  • "skills": [
    ]
}

Get a Course

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "specialisation": {
    },
  • "year": "FIRST",
  • "skills": [
    ]
}

Update a Course

path Parameters
id
required
string
Request Body schema: application/json
name
string
specialisationId
string

Must refer to a Label category "specialisation"

+
year
any
Enum: "FIRST" "SECOND" "THIRD"
skills
Array of strings

Must refer to Labels category "skill"

+

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "specialisationId": "string",
  • "year": "FIRST",
  • "skills": [
    ]
}

Delete a Course

path Parameters
id
required
string

Responses

Get all Clients

query Parameters
page
integer
Default: 1
n
integer
Default: 20
companies
string
search
string

Full-text search on firstName, lastName, email, phone, company

+

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Client

Request Body schema: application/json
firstName
required
string
lastName
required
string
email
required
string <email>
phone
string
companyId
required
string

Responses

Request samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "companyId": "string"
}

Get a Client

path Parameters
id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "phone": "string",
  • "company": {
    }
}

Update a Client

path Parameters
id
required
string
Request Body schema: application/json
firstName
string
lastName
string
email
string
phone
string
companyId
string

Responses

Request samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "email": "string",
  • "phone": "string",
  • "companyId": "string"
}

Delete a Client

path Parameters
id
required
string

Responses

Get all Contacts

query Parameters
n
integer
Default: 40
page
integer
Default: 1
types
string
clients
string
companies
string
recipient
string
Enum: "client" "company"
search
string

Full-text search on client name, company name, contact type

+

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new Contact

Request Body schema: application/json
type
required
string

Must refer to a Label category "contact"

+
at
required
integer
notes
string
clientId
string
companyId
string

Responses

Request samples

Content type
application/json
{
  • "type": "string",
  • "at": 0,
  • "notes": "string",
  • "clientId": "string",
  • "companyId": "string"
}

Get a Contact

path Parameters
id
required
string

Update a Contact

path Parameters
id
required
string
Request Body schema: application/json
at
integer
type
string

Must refer to a Label category "contact"

+
clientId
string
companyId
string

Responses

Request samples

Content type
application/json
{
  • "at": 0,
  • "type": "string",
  • "clientId": "string",
  • "companyId": "string"
}

Delete a Contact

path Parameters
id
required
string

Responses

+ + + +