EasyPier OpenAPI3
EasyPier API v1
Our EasyPier API is organized around REST. It is documented according the OpenAPI Specification (OAS), based initially on the Swagger Specification and it is available in the link above
It accepts JSON-encoded and query parameters request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
We recommend to use the Swagger Editor as a starting point. Also note that there is new alpha version of the Swagger Editor with improved capabilities. It allows to import the EasyPier API specification from a URL or a file. To do so, paste the json file from the link above.
It will load the EasyPier API specification and you will be able to generate the client code in the language of your choice. Currently the supported languages are: csharp, csharp-dotnet2, dart, dynamic-html, go, html, html2, java, javascript, jaxrs-cxf-client, kotlin-client, openapi, openapi-yaml, php, python, r, ruby, scala, swift3, swift4, swift5, typescript-angular, typescript-axios, typescript-fetch.
To generate the client code, click on Generate Client
and select the language of your choice. It will download a zip file with the generated code. Unzip it and follow the instructions in the README file. It will explain how to install the dependencies and how to use the generated code that includes all the classes and methods to call the EasyPier API.
Important note: The code generated by the Swagger Editor is not production ready. It is just a starting point, you will need to adapt it to your needs. ISystems is not responsible for the code generated by the Swagger Editor nor is responsible for the code you write based on the code generated by the Swagger Editor.
Auth
Our EasyPier API manages authentication via login/password and authorization via JWT with refresh tokens.
First, you need to log in with your credentials and receive an AccessToken (aka JWT) and a RefreshToken. Once you have the AccessToken, you need to include it in the header of your API calls, as shown in the provided examples, to interact with our API.
The AccessToken has a short valid lifetime, and this is where the RefreshToken comes into play. The RefreshToken has a longer lifetime. When you encounter a 401 Unauthorized response, it means that your AccessToken has expired.
To obtain a new valid AccessToken without having to log in again, you can send the expired AccessToken along with the RefreshToken you received during the login process to the Refresh endpoint. This will allow you to obtain a new pair of valid AccessToken and RefreshToken to continue interacting with the API.
We recommend implementing a simple workflow in your code to handle the situation when you receive a 401 response with a prior working AccessToken. In this case, you can trigger a refresh by sending the expired AccessToken and the associated RefreshToken to the Refresh endpoint to obtain a new pair of tokens.
LogIn
# You can also use wgetcurl -X POST /users/login?Username=string&Password=string \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.post('/users/login', params={ 'Username': 'string', 'Password': 'string'}, headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakePostRequest() { string url = "/users/login";
await PostAsync(null, url);
}
/// Performs a POST Request public async Task PostAsync(undefined content, string url) { //Serialize Object StringContent jsonContent = SerializeObject(content);
//Execute POST request HttpResponseMessage response = await Client.PostAsync(url, jsonContent); }
/// Serialize an object to Json private StringContent SerializeObject(undefined content) { //Serialize Object string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content return new StringContent(jsonObject, Encoding.UTF8, "application/json"); }
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
POST /users/login
Username login to obtain a new authorization token
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Username | query | string | true | Username |
Password | query | string | true | Password |
200 Response
{ "accessToken": "string", "refreshToken": "string"}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Logged in correctly | TokenApi |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Login Failed: incorrect username or password | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
Refresh
# You can also use wgetcurl -X POST /users/refresh \ -H 'Content-Type: application/json' \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Content-Type': 'application/json', 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.post('/users/refresh', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakePostRequest() { string url = "/users/refresh";
string json = @"{ ""accessToken"": ""string"", ""refreshToken"": ""string""}"; TokenApi content = JsonConvert.DeserializeObject(json); await PostAsync(content, url);
}
/// Performs a POST Request public async Task PostAsync(TokenApi content, string url) { //Serialize Object StringContent jsonContent = SerializeObject(content);
//Execute POST request HttpResponseMessage response = await Client.PostAsync(url, jsonContent); }
/// Serialize an object to Json private StringContent SerializeObject(TokenApi content) { //Serialize Object string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content return new StringContent(jsonObject, Encoding.UTF8, "application/json"); }
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
POST /users/refresh
Refreshes the access token from a user given the expired access token and a valid refresh token
Body parameter
{ "accessToken": "string", "refreshToken": "string"}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | TokenApi | false | none |
200 Response
{ "accessToken": "string", "refreshToken": "string"}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | TokenApi |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | Unauthorized | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
GetRoles
# You can also use wgetcurl -X GET /users/roles \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/users/roles', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/users/roles"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /users/roles
Returns a list with all the roles the user has
200 Response
[ "string"]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of user permissions | Inline |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | User unauthorized | None |
403 | Forbidden | Forbidden | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Boats
Endpoint related to managing Boats
GetBoat
# You can also use wgetcurl -X GET /boats \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/boats', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/boats"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /boats
This endpoint returns all the Boats owned by a customer
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
CustomerCode | query | string | false | Customer code |
RegistrationNumber | query | string | false | Registration number / Plate |
ActiveDate | query | string(date-time) | false | Active Date. By default Today |
PageNumber | query | integer(int32) | false | Page Number |
PageSize | query | integer(int32) | false | Page Size |
200 Response
{ "boat_id": 0, "boatName": "string", "plate": "string", "flag": "string", "boatModel": "string", "boatTypeId": 0, "boatType": "string", "motorModel": "string", "registrationNumber": "string", "registerNumberDueDate": "2019-08-24T14:15:22Z", "mastNumber": 0, "lenght": 0, "beam": 0, "draught": 0, "year": 0, "phone": "string", "amperage": 0, "tonnage": 0, "insuranceCompany": "string", "policyNumber": "string", "policyDueDate": "2019-08-24T14:15:22Z", "importNumber": "string", "importNumberDueDate": "2019-08-24T14:15:22Z", "country": "string", "comments": "string", "customerId": 0, "customerCode": "string", "homePort": "string", "slip": "string"}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Boats list | BoatResponse |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
Budgets
Endpoint related to managing Budgets
AddBudget
# You can also use wgetcurl -X POST /budgets/noprice \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Content-Type': 'application/json', 'Authorization': 'Bearer {access-token}'}
r = requests.post('/budgets/noprice', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakePostRequest() { string url = "/budgets/noprice";
string json = @"{ ""centerCode"": ""string"", ""boatName"": ""string"", ""boatType_id"": 0, ""length"": 0, ""beam"": 0, ""arrivalDate"": ""2019-08-24T14:15:22Z"", ""exitDate"": ""2019-08-24T14:15:22Z"", ""fullName"": ""string"", ""userEmail"": ""string"", ""phone"": ""string"", ""observations"": ""string""}"; BudgetPost_noprice content = JsonConvert.DeserializeObject(json); await PostAsync(content, url);
}
/// Performs a POST Request public async Task PostAsync(BudgetPost_noprice content, string url) { //Serialize Object StringContent jsonContent = SerializeObject(content);
//Execute POST request HttpResponseMessage response = await Client.PostAsync(url, jsonContent); }
/// Serialize an object to Json private StringContent SerializeObject(BudgetPost_noprice content) { //Serialize Object string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content return new StringContent(jsonObject, Encoding.UTF8, "application/json"); }
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
POST /budgets/noprice
This endpoint creates a new Budget, without price calculation, using the provided data and, if the flag SendEmail is selected, it sends an email to the Center
Body parameter
{ "centerCode": "string", "boatName": "string", "boatType_id": 0, "length": 0, "beam": 0, "arrivalDate": "2019-08-24T14:15:22Z", "exitDate": "2019-08-24T14:15:22Z", "fullName": "string", "userEmail": "string", "phone": "string", "observations": "string"}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
SendEmail | query | boolean | false | none |
body | body | BudgetPost_noprice | false | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Created Budget | None |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
CheckIn
Endpoint related to managing CkeckIn
InitialCheckIn
# You can also use wgetcurl -X POST /checkin \ -H 'Content-Type: application/json' \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Content-Type': 'application/json', 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.post('/checkin', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakePostRequest() { string url = "/checkin";
string json = @"{ ""seaport"": ""string"", ""document"": ""string"", ""arrivalDate"": ""2019-08-24T14:15:22Z""}"; CheckInPost content = JsonConvert.DeserializeObject(json); await PostAsync(content, url);
}
/// Performs a POST Request public async Task PostAsync(CheckInPost content, string url) { //Serialize Object StringContent jsonContent = SerializeObject(content);
//Execute POST request HttpResponseMessage response = await Client.PostAsync(url, jsonContent); }
/// Serialize an object to Json private StringContent SerializeObject(CheckInPost content) { //Serialize Object string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content return new StringContent(jsonObject, Encoding.UTF8, "application/json"); }
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
POST /checkin
This endpoint recieves a CheckInPost object that validates the initial reservation data and returns the current reservation data to be filled
Body parameter
{ "seaport": "string", "document": "string", "arrivalDate": "2019-08-24T14:15:22Z"}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | CheckInPost | false | none |
200 Response
{ "reservation_id": 0, "centerName": "string", "reservationStatus_id": 0, "slip_id": 0, "slip": "string", "arrivalDate": "2019-08-24T14:15:22Z", "exitDate": "2019-08-24T14:15:22Z", "boatName": "string", "plate": "string", "flag": "string", "boatModel": "string", "boatType": "string", "motorModel": "string", "eslora": 0, "manga": 0, "calado": 0, "baseSeaPort": "string", "originSeaport": "string", "destinationSeaport": "string", "ownerName": "string", "ownerSurname": "string", "ownerNationality": "string", "ownerDocument": "string", "captainName": "string", "captainSurname": "string", "captainNationality": "string", "captainDocument": "string", "insuranceCompany": "string", "policyNumber": "string", "policyDueDate": "2019-08-24T14:15:22Z", "phoneNumber": "string", "email": "string", "marketingConsent": true, "dbInsurance": true, "dbBoat": true, "dbOwner": true, "crew": [ { "crewName": "string", "crewSurname": "string", "crewNationality": "string", "crewBirthDate": "2019-08-24T14:15:22Z", "crewType": "string", "crewType_id": 0, "crew_DNI": "string", "expanded": true } ]}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | ExtendedCheckInData | CheckInExtendedResponse |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
CheckInExtended
# You can also use wgetcurl -X POST /checkin/extended?form=reservation_id,0,flag,string,boatModel,string,plate,string,boatType,string,motorModel,string,eslora,0,manga,0,calado,0,ownerName,string,ownerSurname,string,ownerNationality,string,ownerDocument,string,owExpirationDate,2019-08-24T14%3A15%3A22Z,insuranceCompany,string,policyNumber,string,policyDueDate,2019-08-24T14%3A15%3A22Z,originSeaport,string,destinationSeaport,string,captainName,string,captainSurname,string,captainNationality,string,captainDocument,string,cdExpirationDate,2019-08-24T14%3A15%3A22Z,phoneNumber,string,email,string,marketingConsent,true,pivacyPolicy,true,signData,string,crew,%5Bobject%20Object%5D \ -H 'Content-Type: multipart/form-data' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Content-Type': 'multipart/form-data', 'Authorization': 'Bearer {access-token}'}
r = requests.post('/checkin/extended', params={ 'form': { "reservation_id": 0, "flag": "string", "boatModel": "string", "plate": "string", "boatType": "string", "motorModel": "string", "eslora": 0, "manga": 0, "calado": 0, "ownerName": "string", "ownerSurname": "string", "ownerNationality": "string", "ownerDocument": "string", "owExpirationDate": "2019-08-24T14:15:22Z", "insuranceCompany": "string", "policyNumber": "string", "policyDueDate": "2019-08-24T14:15:22Z", "originSeaport": "string", "destinationSeaport": "string", "captainName": "string", "captainSurname": "string", "captainNationality": "string", "captainDocument": "string", "cdExpirationDate": "2019-08-24T14:15:22Z", "phoneNumber": "string", "email": "string", "marketingConsent": true, "pivacyPolicy": true, "signData": "string", "crew": [ { "crewName": "string", "crewSurname": "string", "crewNationality": "string", "crewBirthDate": "2019-08-24T14:15:22Z", "crewType": "string", "crewType_id": 0, "crew_DNI": "string", "expanded": true } ]}}, headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakePostRequest() { string url = "/checkin/extended";
await PostAsync(null, url);
}
/// Performs a POST Request public async Task PostAsync(undefined content, string url) { //Serialize Object StringContent jsonContent = SerializeObject(content);
//Execute POST request HttpResponseMessage response = await Client.PostAsync(url, jsonContent); }
/// Serialize an object to Json private StringContent SerializeObject(undefined content) { //Serialize Object string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content return new StringContent(jsonObject, Encoding.UTF8, "application/json"); }
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
POST /checkin/extended
This endpoint recieves a multipart form formed by: an application/json parsed CheckInExtendedPost object, and 3 IFormFiles objects. All that reservation information is used to complete the missing information stored in the database
Body parameter
insuranceFile: stringboatDocumentationFile: stringdocumentOwnerFile: stringpdfFile: string
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
form | query | CheckInExtendedPost | true | application/json string called “form” containing the reservation data |
body | body | object | false | none |
» insuranceFile | body | string(binary) | false | Insurance file |
» boatDocumentationFile | body | string(binary) | false | Boat documentation file |
» documentOwnerFile | body | string(binary) | false | Owner documentation file |
» pdfFile | body | string(binary) | false | PDF file |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
Config
Endpoint related to managing Config
GetBoatTypes
# You can also use wgetcurl -X GET /config/boattypes \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/config/boattypes', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/config/boattypes"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /config/boattypes
This endpoint returns a list of the BoatTypes the user has configured. Admin permission allows to manually override the AppCustomer
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
inputAppCustomer | query | integer(int32) | false | AppCustomer Override |
200 Response
{ "property1": "string", "property2": "string"}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of BoatTypes | Inline |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» additionalProperties | string | false | none | none |
GetSalesServices
# You can also use wgetcurl -X GET /config/salesservices?CenterCode=string \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/config/salesservices', params={ 'CenterCode': 'string'}, headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/config/salesservices"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /config/salesservices
This endpoint the filtered list of SalesServices given a center
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
CenterCode | query | string | true | Center code |
Incremental | query | boolean | false | Is Incremental |
ServiceType_codes | query | array[string] | false | List of Service Types to filter |
200 Response
{ "service_id": 0, "centerCode": "string", "name": "string", "description": "string", "externalCode": "string", "serviceType_id": 0, "serviceType_code": "string", "vatPercent": 0, "perSquareMeter": true, "dailyPrice": true, "perLength": true}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of SalesServices | SalesServicesResponse |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
GetCustomerTypes
# You can also use wgetcurl -X GET /config/customertypes \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/config/customertypes', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/config/customertypes"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /config/customertypes
This returns a list of CustomerTypes availables
200 Response
{ "customerType_id": 0, "customerType": "string", "description": "string", "color": "string"}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List CustomerTypes | CustomerTypesResponse |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
GetSlips
# You can also use wgetcurl -X GET /config/slips \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/config/slips', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/config/slips"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /config/slips
This returns a list of Slips availables
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
centercode | query | string | false | Center code |
200 Response
{ "slip_id": 0, "slipNumber": "string", "center_id": 0, "centerCode": "string", "pier_id": 0, "slipType_id": 0, "slipType": "string", "externalCode": "string", "width": 0, "height": 0, "availableForRent": true, "amperage": 0, "voltage": 0, "phase": 0}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of Slips | SlipsResponse |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
GetSlipsTypes
# You can also use wgetcurl -X GET /config/slips/types \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/config/slips/types', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/config/slips/types"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /config/slips/types
This returns a list of Slips types available
200 Response
{ "slipType_id": 0, "description": "string", "lenght": 0, "beam": 0, "draught": 0, "externalCode": "string"}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of SlipTypes | SlipTypesResponse |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
GetPiers
# You can also use wgetcurl -X GET /config/piers \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/config/piers', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/config/piers"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /config/piers
This returns a list of Piers available
200 Response
{ "slipType_id": 0, "description": "string", "lenght": 0, "beam": 0, "draught": 0, "externalCode": "string"}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of Piers | SlipTypesResponse |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
ControlAccess
Endpoint related to managing access control
ControlReport
# You can also use wgetcurl -X GET /controlaccess/control \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/controlaccess/control', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/controlaccess/control"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /controlaccess/control
This endpoint delivers an access control report, sorted by timestamp. To optimize data transfer, you can include a timestamp in your request. The endpoint will then return the report where the timestamp in the database is later than the timestamp provided in the request. This feature enables you to request only the most recent changes, rather than a complete report, when a full report is not required.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Timestamp | query | string | false | Timestamp |
200 Response
{ "group": "string", "cardCode": "string", "accessType_ex_code": 0, "accessType": "string", "activationDate": "2019-08-24T14:15:22Z", "leavingDate": "2019-08-24T14:15:22Z", "plate1": "string", "plate2": "string", "plate3": "string", "plate4": "string", "plate5": "string", "observations": "string", "name": "string", "surname": "string", "dni": "string", "timestamp": "string"}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Access control report | AccessControlResponse |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
Customers
Endpoint related to managing Customers
GetCustomers
# You can also use wgetcurl -X GET /customers \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/customers', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/customers"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /customers
This endpoint returns a list of Customers that can be filtered.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Customer_id | query | integer(int32) | false | Customer identifier |
CustomerCode | query | string | false | Customer identifier |
CustomerType_id | query | integer(int32) | false | Customer type identifier |
PageNumber | query | integer(int32) | false | Page Number |
PageSize | query | integer(int32) | false | Page Size |
200 Response
{ "customer_id": 0, "customerCode": "string", "name": "string", "surname": "string", "document": "string", "city": "string", "postalCode": "string", "address": "string", "phone": "string", "fax": "string", "email": "string", "mobile": "string", "acc_Account": "string", "language": "string", "country": "string", "birthDate": "2019-08-24T14:15:22Z", "entryDate": "2019-08-24T14:15:22Z", "leavingDate": "2019-08-24T14:15:22Z", "leavingReason": "string", "customerStatus_id": 0, "customerStatus": "string", "customerSource_id": 0, "customerSource": "string", "customerType_id": 0, "customerType": "string", "gender": "string"}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of Customers | CustomersResponse |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
GetCustomersSlips
# You can also use wgetcurl -X GET /customers/slips?CenterCode=string \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/customers/slips', params={ 'CenterCode': 'string'}, headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/customers/slips"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /customers/slips
This endpoint returns a list of Customer slips that can be filtered. In case the Slip is property of a Customer but is lending it’s use to another Customer. The UsedBy fields will be populated
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
CenterCode | query | string | true | Center code |
Slip | query | string | false | Slip |
CustomerCode | query | string | false | Customer code |
CustomerUsedByCode | query | string | false | Customer used by code |
EntryDateFrom | query | string(date) | false | Entry date from |
EntryDateTo | query | string(date) | false | Entry date to |
LeavingDateFrom | query | string(date) | false | Leaving date from |
LeavingDateTo | query | string(date) | false | Leaving date to |
PageNumber | query | integer(int32) | false | Page Number |
PageSize | query | integer(int32) | false | Page Size |
200 Response
{ "customerSlipId": 0, "customerId": 0, "customerCode": "string", "slipId": 0, "slip": "string", "entryDate": "2019-08-24T14:15:22Z", "leavingDate": "2019-08-24T14:15:22Z", "centerId": 0, "centerCode": "string", "observations": "string", "status": "string", "useType": "string", "customerUsedById": 0, "customerUsedByCode": "string"}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | List of Customers slips | CustomerSlipsResponse |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
Documents
Endpoint related to managing documents
GetPortalDocumentTypes
# You can also use wgetcurl -X GET /documents/types \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/documents/types', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/documents/types"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /documents/types
This endpoint return all the public Document Types avaliables
200 Response
{ "documentType_id": 0, "description": "string", "public": true, "customerPortal": true, "updateOnCustomerPortal": true}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Document types | PortalDocumentTypeResponse |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
GetPortalDocuments
# You can also use wgetcurl -X GET /documents?sCustomerCode=string \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/documents', params={ 'sCustomerCode': 'string'}, headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/documents"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /documents
This endpoint allows to retrieve all the public documents associated to a Customer.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
sCustomerCode | query | string | true | Customer Code |
Public | query | boolean | false | Public check |
CustomerPortal | query | boolean | false | Customer portal check |
UpdateOnCustomerPortal | query | boolean | false | Update on Customer portal check |
DocumentsTypeIds | query | array[integer] | false | List of DocumentType_id to filter |
200 Response
{ "document_id": 0, "documentType_id": 0, "documentType": "string", "description": "string", "date": "2019-08-24T14:15:22Z", "dateReminder": "2019-08-24T14:15:22Z", "url": "string"}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Documents list | PortalDocumentResponse |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
PostPortalDocuments
# You can also use wgetcurl -X POST /documents \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Content-Type': 'application/json', 'Authorization': 'Bearer {access-token}'}
r = requests.post('/documents', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakePostRequest() { string url = "/documents";
string json = @"{ ""sCustomerCode"": ""string"", ""boat_id"": 0, ""iCenterId"": 0, ""documentType_id"": 0, ""description"": ""string"", ""dDate"": ""2019-08-24T14:15:22Z"", ""dDateReminder"": ""2019-08-24T14:15:22Z"", ""sFileName"": ""string"", ""sFileStream"": ""string"", ""sFileExtension"": ""string""}"; PortalDocumentPost content = JsonConvert.DeserializeObject(json); await PostAsync(content, url);
}
/// Performs a POST Request public async Task PostAsync(PortalDocumentPost content, string url) { //Serialize Object StringContent jsonContent = SerializeObject(content);
//Execute POST request HttpResponseMessage response = await Client.PostAsync(url, jsonContent); }
/// Serialize an object to Json private StringContent SerializeObject(PortalDocumentPost content) { //Serialize Object string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content return new StringContent(jsonObject, Encoding.UTF8, "application/json"); }
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
POST /documents
This endpoint allows to upload a document encoded as BASE64 to be uploaded to EasyPier associated to a customer. You must provide either a CustomerCode or a Boat_id
Body parameter
{ "sCustomerCode": "string", "boat_id": 0, "iCenterId": 0, "documentType_id": 0, "description": "string", "dDate": "2019-08-24T14:15:22Z", "dDateReminder": "2019-08-24T14:15:22Z", "sFileName": "string", "sFileStream": "string", "sFileExtension": "string"}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | PortalDocumentPost | false | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | File uploaded successfully | None |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
GetCustomerInvoice
# You can also use wgetcurl -X GET /documents/customers/invoice?InvoiceId=0&CustomerCode=string \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/documents/customers/invoice', params={ 'InvoiceId': '0', 'CustomerCode': 'string'}, headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/documents/customers/invoice"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /documents/customers/invoice
This endpoint allows to retrieve a Customer Invoice document freshly generated.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
InvoiceId | query | integer(int32) | true | Invoice identifier |
CustomerCode | query | string | true | Customer code |
CultureCode | query | string | false | Culture code to generate the report. (es-ES) by default |
EmbedFonts | query | boolean | false | Are fonts embeded. (false) by default |
200 Response
"string"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Generated file URL | string |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
GetCustomerInvoicePDF
# You can also use wgetcurl -X GET /documents/customers/invoice/PDF?InvoiceId=0&CustomerCode=string \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/documents/customers/invoice/PDF', params={ 'InvoiceId': '0', 'CustomerCode': 'string'}, headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/documents/customers/invoice/PDF"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /documents/customers/invoice/PDF
This endpoint allows to retrieve a Customer Invoice PDF freshly generated.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
InvoiceId | query | integer(int32) | true | Invoice identifier |
CustomerCode | query | string | true | Customer code |
CultureCode | query | string | false | Culture code to generate the report. (es-ES) by default |
EmbedFonts | query | boolean | false | Are fonts embeded. (false) by default |
200 Response
"string"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Generated file | string |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
GetCustomerBudget
# You can also use wgetcurl -X GET /documents/customers/budgets?BudgetId=0&CustomerCode=string \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/documents/customers/budgets', params={ 'BudgetId': '0', 'CustomerCode': 'string'}, headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/documents/customers/budgets"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /documents/customers/budgets
This endpoint allows to retrieve a Customer Budget document freshly generated.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
BudgetId | query | integer(int32) | true | Budget identifier |
CustomerCode | query | string | true | Customer code |
CultureCode | query | string | false | Culture code to generate the report. (es-ES) by default |
200 Response
"string"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Generated PDF filename | string |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
GetCustomerProforma
# You can also use wgetcurl -X GET /documents/customers/proformas?ProformaId=0&CustomerCode=string \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/documents/customers/proformas', params={ 'ProformaId': '0', 'CustomerCode': 'string'}, headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/documents/customers/proformas"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /documents/customers/proformas
This endpoint allows to retrieve a Customer Proforma document freshly generated.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
ProformaId | query | integer(int32) | true | Proforma identifier |
CustomerCode | query | string | true | Customer code |
CultureCode | query | string | false | Culture code to generate the report. (es-ES) by default |
EmbedFonts | query | boolean | false | Are fonts embeded. (false) by default |
200 Response
"string"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Generated file | string |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
GetRsvnAccountStatement
# You can also use wgetcurl -X GET /documents/rscaccount \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/documents/rscaccount', headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/documents/rscaccount"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /documents/rscaccount
This endpoint allows to retrieve a Reservation Account Statement document freshly generated.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Reservation_id | query | integer(int32) | false | none |
dateFrom | query | string(date-time) | false | none |
dateTo | query | string(date-time) | false | none |
200 Response
"string"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Generated PDF filename | string |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
GetInvReportPDF
# You can also use wgetcurl -X GET /documents/invoice/report/PDF?Invoice_id=0 \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.get('/documents/invoice/report/PDF', params={ 'Invoice_id': '0'}, headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakeGetRequest() { string url = "/documents/invoice/report/PDF"; var result = await GetAsync(url); }
/// Performs a GET Request public async Task GetAsync(string url) { //Start the request HttpResponseMessage response = await Client.GetAsync(url);
//Validate result response.EnsureSuccessStatusCode();
}
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
GET /documents/invoice/report/PDF
This endpoint allows to retrieve an Invoice Report PDF document freshly generated.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
Invoice_id | query | integer(int32) | true | Invoice identifier |
CultureCode | query | string | false | Culture code to generate the report. (es-ES) by default |
EmbedFonts | query | boolean | false | Are fonts embeded. (false) by default |
200 Response
"string"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Generated file | string |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
Supplies
Endpoint related to managing Supplies
GetSalesServices
# You can also use wgetcurl -X POST /supplies?CenterCode=string&Slip=string&ExternalCode=string&Quantity=0 \ -H 'Accept: text/plain' \ -H 'Authorization: Bearer {access-token}'
import requestsheaders = { 'Accept': 'text/plain', 'Authorization': 'Bearer {access-token}'}
r = requests.post('/supplies', params={ 'CenterCode': 'string', 'Slip': 'string', 'ExternalCode': 'string', 'Quantity': '0'}, headers = headers)
print(r.json())
using System;using System.Collections.Generic;using System.Net.Http;using System.Net.Http.Headers;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;
/// <<summary>>/// Example of Http Client/// <</summary>>public class HttpExample{ private HttpClient Client { get; set; }
/// <<summary>> /// Setup http client /// <</summary>> public HttpExample() { Client = new HttpClient(); }
/// Make a dummy request public async Task MakePostRequest() { string url = "/supplies";
await PostAsync(null, url);
}
/// Performs a POST Request public async Task PostAsync(undefined content, string url) { //Serialize Object StringContent jsonContent = SerializeObject(content);
//Execute POST request HttpResponseMessage response = await Client.PostAsync(url, jsonContent); }
/// Serialize an object to Json private StringContent SerializeObject(undefined content) { //Serialize Object string jsonObject = JsonConvert.SerializeObject(content);
//Create Json UTF8 String Content return new StringContent(jsonObject, Encoding.UTF8, "application/json"); }
/// Deserialize object from request response private async Task DeserializeObject(HttpResponseMessage response) { //Read body string responseBody = await response.Content.ReadAsStringAsync();
//Deserialize Body to object var result = JsonConvert.DeserializeObject(responseBody); }}
POST /supplies
This endpoint adds a Supply to a given Slip. If the Supply is already present and it’s incremental, it will be updated with the new reading.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
CenterCode | query | string | true | Center code |
Slip | query | string | true | Slip code |
ExternalCode | query | string | true | Supply external code |
Quantity | query | number(double) | true | Quantity |
200 Response
[ { "service_id": 0, "centerCode": "string", "name": "string", "description": "string", "externalCode": "string", "serviceType_id": 0, "serviceType_code": "string", "vatPercent": 0, "perSquareMeter": true, "dailyPrice": true, "perLength": true }]
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Successful | Inline |
204 | No Content | No Content | None |
400 | Bad Request | Bad Request | None |
401 | Unauthorized | No valid token was provided | None |
403 | Forbidden | User permission level insufficient | None |
415 | Unsupported Media Type | Unsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type header | None |
429 | Too Many Requests | Too many requests, try again later | None |
500 | Internal Server Error | Internal Server Error | None |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
anonymous | [SalesServicesResponse] | false | none | none |
» service_id | integer(int32) | false | none | Service identifier |
» centerCode | string¦null | false | none | Center code |
» name | string¦null | false | none | Service name |
» description | string¦null | false | none | Description |
» externalCode | string¦null | false | none | Service external sode |
» serviceType_id | integer(int32)¦null | false | none | ServiceType identifier |
» serviceType_code | string¦null | false | none | ServiceType code |
» vatPercent | number(double)¦null | false | none | Taxes |
» perSquareMeter | boolean | false | none | Is per square meter |
» dailyPrice | boolean | false | none | Is daily price |
» perLength | boolean | false | none | Is per length |
Schemas
AccessControlResponse
{ "group": "string", "cardCode": "string", "accessType_ex_code": 0, "accessType": "string", "activationDate": "2019-08-24T14:15:22Z", "leavingDate": "2019-08-24T14:15:22Z", "plate1": "string", "plate2": "string", "plate3": "string", "plate4": "string", "plate5": "string", "observations": "string", "name": "string", "surname": "string", "dni": "string", "timestamp": "string"}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
group | string¦null | false | none | Group |
cardCode | string¦null | false | none | Card code |
accessType_ex_code | integer(int32)¦null | false | none | Access type external code |
accessType | string¦null | false | none | Access type description |
activationDate | string(date-time)¦null | false | none | Activation date |
leavingDate | string(date-time)¦null | false | none | Leaving date |
plate1 | string¦null | false | none | Plate 1 |
plate2 | string¦null | false | none | Plate 2 |
plate3 | string¦null | false | none | Plate 3 |
plate4 | string¦null | false | none | Plate 4 |
plate5 | string¦null | false | none | Plate 5 |
observations | string¦null | false | none | Observations |
name | string¦null | false | none | Name |
surname | string¦null | false | none | Surname |
dni | string¦null | false | none | DNI |
timestamp | string¦null | false | none | Timestamp |
BoatResponse
{ "boat_id": 0, "boatName": "string", "plate": "string", "flag": "string", "boatModel": "string", "boatTypeId": 0, "boatType": "string", "motorModel": "string", "registrationNumber": "string", "registerNumberDueDate": "2019-08-24T14:15:22Z", "mastNumber": 0, "lenght": 0, "beam": 0, "draught": 0, "year": 0, "phone": "string", "amperage": 0, "tonnage": 0, "insuranceCompany": "string", "policyNumber": "string", "policyDueDate": "2019-08-24T14:15:22Z", "importNumber": "string", "importNumberDueDate": "2019-08-24T14:15:22Z", "country": "string", "comments": "string", "customerId": 0, "customerCode": "string", "homePort": "string", "slip": "string"}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
boat_id | integer(int32) | false | none | Boat identifier |
boatName | string¦null | false | none | Boat name |
plate | string¦null | false | none | Boat plate |
flag | string¦null | false | none | Boat flag |
boatModel | string¦null | false | none | Boat model |
boatTypeId | integer(int32)¦null | false | none | Boat type identifier |
boatType | string¦null | false | none | Boat type |
motorModel | string¦null | false | none | Motor model |
registrationNumber | string¦null | false | none | Registration number |
registerNumberDueDate | string(date-time)¦null | false | none | Register number due date |
mastNumber | integer(int32)¦null | false | none | Mast number |
lenght | number(double)¦null | false | none | Lenght |
beam | number(double)¦null | false | none | Beam |
draught | number(double)¦null | false | none | Draught |
year | integer(int32)¦null | false | none | Year |
phone | string¦null | false | none | Phone |
amperage | number(double)¦null | false | none | Amperage |
tonnage | number(double)¦null | false | none | Tonnage |
insuranceCompany | string¦null | false | none | Insurance company |
policyNumber | string¦null | false | none | Insurance policy number |
policyDueDate | string(date-time)¦null | false | none | Insurance policy due date |
importNumber | string¦null | false | none | Import number |
importNumberDueDate | string(date-time)¦null | false | none | Import number due date |
country | string¦null | false | none | Country |
comments | string¦null | false | none | Comments |
customerId | integer(int32)¦null | false | none | Customer identifier |
customerCode | string¦null | false | none | Customer code |
homePort | string¦null | false | none | Home port |
slip | string¦null | false | none | Slip number |
BudgetPost_noprice
{ "centerCode": "string", "boatName": "string", "boatType_id": 0, "length": 0, "beam": 0, "arrivalDate": "2019-08-24T14:15:22Z", "exitDate": "2019-08-24T14:15:22Z", "fullName": "string", "userEmail": "string", "phone": "string", "observations": "string"}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
centerCode | string | true | none | Center code |
boatName | string | true | none | Boat name |
boatType_id | integer(int32) | true | none | Boat type identifier |
length | number(double) | true | none | Lenght |
beam | number(double) | true | none | Beam |
arrivalDate | string(date-time) | true | none | Arrival date |
exitDate | string(date-time) | true | none | Exit date |
fullName | string | true | none | User full name |
userEmail | string | true | none | User email |
phone | string¦null | false | none | User phone |
observations | string¦null | false | none | User observations |
CheckInExtendedPost
{ "reservation_id": 0, "flag": "string", "boatModel": "string", "plate": "string", "boatType": "string", "motorModel": "string", "eslora": 0, "manga": 0, "calado": 0, "ownerName": "string", "ownerSurname": "string", "ownerNationality": "string", "ownerDocument": "string", "owExpirationDate": "2019-08-24T14:15:22Z", "insuranceCompany": "string", "policyNumber": "string", "policyDueDate": "2019-08-24T14:15:22Z", "originSeaport": "string", "destinationSeaport": "string", "captainName": "string", "captainSurname": "string", "captainNationality": "string", "captainDocument": "string", "cdExpirationDate": "2019-08-24T14:15:22Z", "phoneNumber": "string", "email": "string", "marketingConsent": true, "pivacyPolicy": true, "signData": "string", "crew": [ { "crewName": "string", "crewSurname": "string", "crewNationality": "string", "crewBirthDate": "2019-08-24T14:15:22Z", "crewType": "string", "crewType_id": 0, "crew_DNI": "string", "expanded": true } ]}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
reservation_id | integer(int32) | true | none | Reservation identifier |
flag | string | true | none | Boat flag |
boatModel | string¦null | false | none | Boat model |
plate | string¦null | false | none | Boat plate |
boatType | string¦null | false | none | Boat type |
motorModel | string¦null | false | none | Motor model |
eslora | number(double)¦null | false | none | Lenght |
manga | number(double)¦null | false | none | Beam |
calado | number(double)¦null | false | none | Draught |
ownerName | string¦null | false | none | Owner name |
ownerSurname | string¦null | false | none | Owner surname |
ownerNationality | string¦null | false | none | Owner nationality |
ownerDocument | string | true | none | Owner document |
owExpirationDate | string(date-time) | false | none | Owner document expiration date |
insuranceCompany | string | true | none | Insurance company |
policyNumber | string | true | none | Policy number |
policyDueDate | string(date-time)¦null | false | none | Policy due date |
originSeaport | string¦null | false | none | Origin seaport |
destinationSeaport | string¦null | false | none | Destination seaport |
captainName | string¦null | false | none | Captain name |
captainSurname | string¦null | false | none | Captain surname |
captainNationality | string | true | none | Captain nationality ISO2 |
captainDocument | string | true | none | Captain document |
cdExpirationDate | string(date-time) | true | none | Captain document expiration date |
phoneNumber | string | true | none | Phone number |
string | true | none | ||
marketingConsent | boolean | true | none | Is marketing consent accepted |
pivacyPolicy | boolean | true | none | Is Privacy policy accepted |
signData | string¦null | false | none | Sign data B64 |
crew | [CrewMembers]¦null | false | none | Crew members |
CheckInExtendedResponse
{ "reservation_id": 0, "centerName": "string", "reservationStatus_id": 0, "slip_id": 0, "slip": "string", "arrivalDate": "2019-08-24T14:15:22Z", "exitDate": "2019-08-24T14:15:22Z", "boatName": "string", "plate": "string", "flag": "string", "boatModel": "string", "boatType": "string", "motorModel": "string", "eslora": 0, "manga": 0, "calado": 0, "baseSeaPort": "string", "originSeaport": "string", "destinationSeaport": "string", "ownerName": "string", "ownerSurname": "string", "ownerNationality": "string", "ownerDocument": "string", "captainName": "string", "captainSurname": "string", "captainNationality": "string", "captainDocument": "string", "insuranceCompany": "string", "policyNumber": "string", "policyDueDate": "2019-08-24T14:15:22Z", "phoneNumber": "string", "email": "string", "marketingConsent": true, "dbInsurance": true, "dbBoat": true, "dbOwner": true, "crew": [ { "crewName": "string", "crewSurname": "string", "crewNationality": "string", "crewBirthDate": "2019-08-24T14:15:22Z", "crewType": "string", "crewType_id": 0, "crew_DNI": "string", "expanded": true } ]}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
reservation_id | integer(int32) | false | none | Reservation identifier |
centerName | string¦null | false | none | Seaport name |
reservationStatus_id | integer(int32)¦null | false | none | Reservation status identifier |
slip_id | integer(int32) | false | none | Slip identifier |
slip | string¦null | false | none | Slip |
arrivalDate | string(date-time)¦null | false | none | Arrival date |
exitDate | string(date-time)¦null | false | none | Exit date |
boatName | string¦null | false | none | Boat name |
plate | string¦null | false | none | Boat plate |
flag | string¦null | false | none | Boat flag |
boatModel | string¦null | false | none | Boat model |
boatType | string¦null | false | none | Boat type |
motorModel | string¦null | false | none | Motor model |
eslora | number(double)¦null | false | none | Lenght |
manga | number(double)¦null | false | none | Beam |
calado | number(double)¦null | false | none | Draught |
baseSeaPort | string¦null | false | none | Base seaport |
originSeaport | string¦null | false | none | Origin seaport |
destinationSeaport | string¦null | false | none | Destination seaport |
ownerName | string¦null | false | none | Owner name |
ownerSurname | string¦null | false | none | Owner surname |
ownerNationality | string¦null | false | none | Owner nationlity |
ownerDocument | string¦null | false | none | Owner document |
captainName | string¦null | false | none | Captain name |
captainSurname | string¦null | false | none | Captain name |
captainNationality | string¦null | false | none | Captain nationlity |
captainDocument | string¦null | false | none | Captain document |
insuranceCompany | string¦null | false | none | Insurance company |
policyNumber | string¦null | false | none | Insurance policy number |
policyDueDate | string(date-time)¦null | false | none | Insurance policy dude date |
phoneNumber | string¦null | false | none | Phone number |
string¦null | false | none | Contact email | |
marketingConsent | boolean | false | none | Marketing consent |
dbInsurance | boolean | false | none | Is Boat insurance file already present |
dbBoat | boolean | false | none | Is Boat documentation file already present |
dbOwner | boolean | false | none | Is Owner documentation file already present |
crew | [CrewMembers]¦null | false | none | none |
CheckInPost
{ "seaport": "string", "document": "string", "arrivalDate": "2019-08-24T14:15:22Z"}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
seaport | string | true | none | Seaport |
document | string | true | none | Customer NIF / Passport |
arrivalDate | string(date-time) | true | none | Arrival date |
CrewMembers
{ "crewName": "string", "crewSurname": "string", "crewNationality": "string", "crewBirthDate": "2019-08-24T14:15:22Z", "crewType": "string", "crewType_id": 0, "crew_DNI": "string", "expanded": true}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
crewName | string¦null | false | none | Crew name |
crewSurname | string¦null | false | none | Crew surname |
crewNationality | string¦null | false | none | Crew nationality |
crewBirthDate | string(date-time)¦null | false | none | Crew date of birth |
crewType | string¦null | false | none | Crew Type |
crewType_id | integer(int32) | false | none | Crew Type identifier |
crew_DNI | string¦null | false | none | Crew document |
expanded | boolean | false | none | Is expanded |
CustomerSlipsResponse
{ "customerSlipId": 0, "customerId": 0, "customerCode": "string", "slipId": 0, "slip": "string", "entryDate": "2019-08-24T14:15:22Z", "leavingDate": "2019-08-24T14:15:22Z", "centerId": 0, "centerCode": "string", "observations": "string", "status": "string", "useType": "string", "customerUsedById": 0, "customerUsedByCode": "string"}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
customerSlipId | integer(int32) | false | none | CustomerSlip identifier |
customerId | integer(int32) | false | none | Customer identifier |
customerCode | string¦null | false | none | Customer code |
slipId | integer(int32)¦null | false | none | Slip identifier |
slip | string¦null | false | none | Slip |
entryDate | string(date-time)¦null | false | none | Entry date |
leavingDate | string(date-time)¦null | false | none | Leaving date |
centerId | integer(int32)¦null | false | none | Center identifier |
centerCode | string¦null | false | none | Center code |
observations | string¦null | false | none | Obervations |
status | string¦null | false | none | Status |
useType | string¦null | false | none | Use type |
customerUsedById | integer(int32)¦null | false | none | Customer used by identifier |
customerUsedByCode | string¦null | false | none | Customer used by code |
CustomerTypesResponse
{ "customerType_id": 0, "customerType": "string", "description": "string", "color": "string"}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
customerType_id | integer(int32) | false | none | Customer type identifier |
customerType | string¦null | false | none | Customer type |
description | string¦null | false | none | Description |
color | string¦null | false | none | Associated color |
CustomersResponse
{ "customer_id": 0, "customerCode": "string", "name": "string", "surname": "string", "document": "string", "city": "string", "postalCode": "string", "address": "string", "phone": "string", "fax": "string", "email": "string", "mobile": "string", "acc_Account": "string", "language": "string", "country": "string", "birthDate": "2019-08-24T14:15:22Z", "entryDate": "2019-08-24T14:15:22Z", "leavingDate": "2019-08-24T14:15:22Z", "leavingReason": "string", "customerStatus_id": 0, "customerStatus": "string", "customerSource_id": 0, "customerSource": "string", "customerType_id": 0, "customerType": "string", "gender": "string"}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
customer_id | integer(int32) | false | none | Customer identifier |
customerCode | string¦null | false | none | Customer code |
name | string¦null | false | none | Name |
surname | string¦null | false | none | Surname |
document | string¦null | false | none | NIF/Passport |
city | string¦null | false | none | City |
postalCode | string¦null | false | none | Postal code |
address | string¦null | false | none | Address |
phone | string¦null | false | none | Phone |
fax | string¦null | false | none | Fax |
string¦null | false | none | ||
mobile | string¦null | false | none | Mobile |
acc_Account | string¦null | false | none | Acc_Account |
language | string¦null | false | none | Language |
country | string¦null | false | none | Country |
birthDate | string(date-time)¦null | false | none | Birth date |
entryDate | string(date-time)¦null | false | none | Entry date |
leavingDate | string(date-time)¦null | false | none | Leaving date |
leavingReason | string¦null | false | none | Leaving reason |
customerStatus_id | integer(int32)¦null | false | none | Customer status identifier |
customerStatus | string¦null | false | none | Customer status |
customerSource_id | integer(int32)¦null | false | none | Customer source identifier |
customerSource | string¦null | false | none | Customer source |
customerType_id | integer(int32)¦null | false | none | Customer type identifier |
customerType | string¦null | false | none | Customer type |
gender | string¦null | false | none | Gender |
PortalDocumentPost
{ "sCustomerCode": "string", "boat_id": 0, "iCenterId": 0, "documentType_id": 0, "description": "string", "dDate": "2019-08-24T14:15:22Z", "dDateReminder": "2019-08-24T14:15:22Z", "sFileName": "string", "sFileStream": "string", "sFileExtension": "string"}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
sCustomerCode | string¦null | false | none | Customer code |
boat_id | integer(int32)¦null | false | none | Boat identifier |
iCenterId | integer(int32) | true | none | Center identifier |
documentType_id | integer(int32) | true | none | Document type identifier |
description | string¦null | false | none | Description |
dDate | string(date-time) | true | none | Document date |
dDateReminder | string(date-time)¦null | false | none | Document date reminder |
sFileName | string | true | none | File Name |
sFileStream | string | true | none | File Stream Content (B64) |
sFileExtension | string | true | none | File extension |
PortalDocumentResponse
{ "document_id": 0, "documentType_id": 0, "documentType": "string", "description": "string", "date": "2019-08-24T14:15:22Z", "dateReminder": "2019-08-24T14:15:22Z", "url": "string"}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
document_id | integer(int32) | false | none | Document identifier |
documentType_id | integer(int32)¦null | false | none | Document Type identifier |
documentType | string¦null | false | none | Document Type |
description | string¦null | false | none | Description |
date | string(date-time)¦null | false | none | Date |
dateReminder | string(date-time)¦null | false | none | Date reminder |
url | string¦null | false | none | URL |
PortalDocumentTypeResponse
{ "documentType_id": 0, "description": "string", "public": true, "customerPortal": true, "updateOnCustomerPortal": true}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
documentType_id | integer(int32) | false | none | Document Type identifier |
description | string¦null | false | none | Description |
public | boolean | false | none | Public check |
customerPortal | boolean | false | none | Customer portal check |
updateOnCustomerPortal | boolean | false | none | Update on Customer portal check |
SalesServicesResponse
{ "service_id": 0, "centerCode": "string", "name": "string", "description": "string", "externalCode": "string", "serviceType_id": 0, "serviceType_code": "string", "vatPercent": 0, "perSquareMeter": true, "dailyPrice": true, "perLength": true}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
service_id | integer(int32) | false | none | Service identifier |
centerCode | string¦null | false | none | Center code |
name | string¦null | false | none | Service name |
description | string¦null | false | none | Description |
externalCode | string¦null | false | none | Service external sode |
serviceType_id | integer(int32)¦null | false | none | ServiceType identifier |
serviceType_code | string¦null | false | none | ServiceType code |
vatPercent | number(double)¦null | false | none | Taxes |
perSquareMeter | boolean | false | none | Is per square meter |
dailyPrice | boolean | false | none | Is daily price |
perLength | boolean | false | none | Is per length |
SlipTypesResponse
{ "slipType_id": 0, "description": "string", "lenght": 0, "beam": 0, "draught": 0, "externalCode": "string"}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
slipType_id | integer(int32) | false | none | Slip type identifier |
description | string¦null | false | none | Description |
lenght | number(double)¦null | false | none | Lenght |
beam | number(double)¦null | false | none | Beam |
draught | number(double)¦null | false | none | Draught |
externalCode | string¦null | false | none | External code |
SlipsResponse
{ "slip_id": 0, "slipNumber": "string", "center_id": 0, "centerCode": "string", "pier_id": 0, "slipType_id": 0, "slipType": "string", "externalCode": "string", "width": 0, "height": 0, "availableForRent": true, "amperage": 0, "voltage": 0, "phase": 0}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
slip_id | integer(int32) | false | none | Slip identifier |
slipNumber | string¦null | false | none | Slip number |
center_id | integer(int32)¦null | false | none | Center identifier |
centerCode | string¦null | false | none | Center code |
pier_id | integer(int32)¦null | false | none | Pier identifier |
slipType_id | integer(int32)¦null | false | none | Slip type identifier |
slipType | string¦null | false | none | Slip type |
externalCode | string¦null | false | none | External code |
width | integer(int32)¦null | false | none | Width |
height | integer(int32)¦null | false | none | Height |
availableForRent | boolean | false | none | Is available for rent |
amperage | number(double)¦null | false | none | Amperage |
voltage | number(double)¦null | false | none | Voltage |
phase | integer(int32)¦null | false | none | Phase |
TokenApi
{ "accessToken": "string", "refreshToken": "string"}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
accessToken | string¦null | false | none | Access Token |
refreshToken | string¦null | false | none | Refresh Token |