Skip to content

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.

Email: ISystems Web: ISystems

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

Terminal window
# You can also use wget
curl -X POST /users/login?Username=string&Password=string \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
POST /users/login

Username login to obtain a new authorization token

Parameters

NameInTypeRequiredDescription
UsernamequerystringtrueUsername
PasswordquerystringtruePassword

200 Response

{
"accessToken": "string",
"refreshToken": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKLogged in correctlyTokenApi
400Bad RequestBad RequestNone
401UnauthorizedLogin Failed: incorrect username or passwordNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone

Refresh

Terminal window
# You can also use wget
curl -X POST /users/refresh \
-H 'Content-Type: application/json-patch+json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
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

NameInTypeRequiredDescription
bodybodyTokenApifalsenone

200 Response

{
"accessToken": "string",
"refreshToken": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKSuccessTokenApi
400Bad RequestBad RequestNone
401UnauthorizedUnauthorizedNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone

GetRoles

Terminal window
# You can also use wget
curl -X GET /users/roles \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
GET /users/roles

Returns a list with all the roles the user has

200 Response

[
"string"
]

Responses

StatusMeaningDescriptionSchema
200OKList of user permissionsInline
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedUser unauthorizedNone
403ForbiddenForbiddenNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

Response Schema

Boats

Endpoint related to managing Boats

GetBoat

Terminal window
# You can also use wget
curl -X GET /boats?sCustomerCode=string \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
GET /boats

This endpoint returns all the Boats owned by a customer

Parameters

NameInTypeRequiredDescription
sCustomerCodequerystringtrueCustomer code

200 Response

{
"boat_id": 0,
"boatName": "string",
"plate": "string",
"flag": "string",
"boatModel": "string",
"boatType": "string",
"motorModel": "string",
"eslora": 0,
"manga": 0,
"calado": 0,
"insuranceCompany": "string",
"policyNumber": "string",
"policyDueDate": "2019-08-24T14:15:22Z"
}

Responses

StatusMeaningDescriptionSchema
200OKBoatResponseBoatResponse
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

Budgets

Endpoint related to managing Budgets

AddBudget

Terminal window
# You can also use wget
curl -X POST /budgets/noprice \
-H 'Content-Type: application/json-patch+json' \
-H 'Authorization: Bearer {access-token}'
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

NameInTypeRequiredDescription
SendEmailquerybooleanfalsenone
bodybodyBudgetPost_nopricefalsenone

Responses

StatusMeaningDescriptionSchema
201CreatedCreated BudgetNone
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

CheckIn

Endpoint related to managing CkeckIn

InitialCheckIn

Terminal window
# You can also use wget
curl -X POST /checkin \
-H 'Content-Type: application/json-patch+json' \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
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

NameInTypeRequiredDescription
bodybodyCheckInPostfalsenone

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",
"homePort": "string",
"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

StatusMeaningDescriptionSchema
200OKExtendedCheckInDataCheckInExtendedResponse
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

CheckInExtended

Terminal window
# You can also use wget
curl -X POST /checkin/extended?form=reservation_id,0,flag,string,boatModel,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}'
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: string
boatDocumentationFile: string
documentOwnerFile: string
pdfFile: string

Parameters

NameInTypeRequiredDescription
formqueryCheckInExtendedPosttrueapplication/json string called “form” containing the reservation data
bodybodyobjectfalsenone
» insuranceFilebodystring(binary)falseInsurance file
» boatDocumentationFilebodystring(binary)falseBoat documentation file
» documentOwnerFilebodystring(binary)falseOwner documentation file
» pdfFilebodystring(binary)falsePDF file

Responses

StatusMeaningDescriptionSchema
200OKSuccessNone
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

Config

Endpoint related to managing Config

GetBoatTypes

Terminal window
# You can also use wget
curl -X GET /config/boattypes \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
GET /config/boattypes

This endpoint returns a list of the BoatTypes the user has configured. Admin permission allows to manually override the AppCustomer

Parameters

NameInTypeRequiredDescription
inputAppCustomerqueryinteger(int32)falseAppCustomer Override

200 Response

{
"property1": "string",
"property2": "string"
}

Responses

StatusMeaningDescriptionSchema
200OKList of BoatTypesInline
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» additionalPropertiesstringfalsenonenone

GetSalesServices

Terminal window
# You can also use wget
curl -X GET /config/salesservices?CenterCode=string \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
GET /config/salesservices

This endpoint the filtered list of SalesServices given a center

Parameters

NameInTypeRequiredDescription
CenterCodequerystringtrueCenter code
IncrementalquerybooleanfalseIs Incremental
ServiceType_codesqueryarray[string]falseList 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

StatusMeaningDescriptionSchema
200OKList of SalesServicesSalesServicesResponse
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

ControlAccess

Endpoint related to managing access control

ControlReport

Terminal window
# You can also use wget
curl -X GET /controlaccess/control \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
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

NameInTypeRequiredDescription
TimestampquerystringfalseTimestamp

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

StatusMeaningDescriptionSchema
200OKAccess control reportAccessControlResponse
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

Documents

Endpoint related to managing documents

GetPortalDocumentTypes

Terminal window
# You can also use wget
curl -X GET /documents/types \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
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

StatusMeaningDescriptionSchema
200OKDocument typesPortalDocumentTypeResponse
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

GetPortalDocuments

Terminal window
# You can also use wget
curl -X GET /documents?sCustomerCode=string \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
GET /documents

This endpoint allows to retrieve all the public documents associated to a Customer.

Parameters

NameInTypeRequiredDescription
sCustomerCodequerystringtrueCustomer Code
PublicquerybooleanfalsePublic check
CustomerPortalquerybooleanfalseCustomer portal check
UpdateOnCustomerPortalquerybooleanfalseUpdate on Customer portal check
DocumentsTypeIdsqueryarray[integer]falseList 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

StatusMeaningDescriptionSchema
200OKDocuments listPortalDocumentResponse
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

PostPortalDocuments

Terminal window
# You can also use wget
curl -X POST /documents \
-H 'Content-Type: application/json-patch+json' \
-H 'Authorization: Bearer {access-token}'
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

NameInTypeRequiredDescription
bodybodyPortalDocumentPostfalsenone

Responses

StatusMeaningDescriptionSchema
200OKFile uploaded successfullyNone
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

GetCustomerInvoice

Terminal window
# You can also use wget
curl -X GET /documents/customers/invoice?InvoiceId=0&CustomerCode=string \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
GET /documents/customers/invoice

This endpoint allows to retrieve a Customer Invoice document freshly generated.

Parameters

NameInTypeRequiredDescription
InvoiceIdqueryinteger(int32)trueInvoice identifier
CustomerCodequerystringtrueCustomer code
CultureCodequerystringfalseCulture code to generate the report. (es-ES) by default
EmbedFontsquerybooleanfalseAre fonts embeded. (false) by default

200 Response

"string"

Responses

StatusMeaningDescriptionSchema
200OKGenerated file URLstring
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

GetCustomerInvoicePDF

Terminal window
# You can also use wget
curl -X GET /documents/customers/invoice/PDF?InvoiceId=0&CustomerCode=string \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
GET /documents/customers/invoice/PDF

This endpoint allows to retrieve a Customer Invoice PDF freshly generated.

Parameters

NameInTypeRequiredDescription
InvoiceIdqueryinteger(int32)trueInvoice identifier
CustomerCodequerystringtrueCustomer code
CultureCodequerystringfalseCulture code to generate the report. (es-ES) by default
EmbedFontsquerybooleanfalseAre fonts embeded. (false) by default

200 Response

"string"

Responses

StatusMeaningDescriptionSchema
200OKGenerated filestring
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

GetCustomerBudget

Terminal window
# You can also use wget
curl -X GET /documents/customers/budgets?BudgetId=0&CustomerCode=string \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
GET /documents/customers/budgets

This endpoint allows to retrieve a Customer Budget document freshly generated.

Parameters

NameInTypeRequiredDescription
BudgetIdqueryinteger(int32)trueBudget identifier
CustomerCodequerystringtrueCustomer code
CultureCodequerystringfalseCulture code to generate the report. (es-ES) by default

200 Response

"string"

Responses

StatusMeaningDescriptionSchema
200OKGenerated PDF filenamestring
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

GetCustomerProforma

Terminal window
# You can also use wget
curl -X GET /documents/customers/proformas?ProformaId=0&CustomerCode=string \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
GET /documents/customers/proformas

This endpoint allows to retrieve a Customer Proforma document freshly generated.

Parameters

NameInTypeRequiredDescription
ProformaIdqueryinteger(int32)trueProforma identifier
CustomerCodequerystringtrueCustomer code
CultureCodequerystringfalseCulture code to generate the report. (es-ES) by default
EmbedFontsquerybooleanfalseAre fonts embeded. (false) by default

200 Response

"string"

Responses

StatusMeaningDescriptionSchema
200OKGenerated filestring
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

GetRsvnAccountStatement

Terminal window
# You can also use wget
curl -X GET /documents/rscaccount \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
GET /documents/rscaccount

This endpoint allows to retrieve a Reservation Account Statement document freshly generated.

Parameters

NameInTypeRequiredDescription
Reservation_idqueryinteger(int32)falsenone
dateFromquerystring(date-time)falsenone
dateToquerystring(date-time)falsenone

200 Response

"string"

Responses

StatusMeaningDescriptionSchema
200OKGenerated PDF filenamestring
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

GetInvReportPDF

Terminal window
# You can also use wget
curl -X GET /documents/invoice/report/PDF?Invoice_id=0 \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
GET /documents/invoice/report/PDF

This endpoint allows to retrieve an Invoice Report PDF document freshly generated.

Parameters

NameInTypeRequiredDescription
Invoice_idqueryinteger(int32)trueInvoice identifier
CultureCodequerystringfalseCulture code to generate the report. (es-ES) by default
EmbedFontsquerybooleanfalseAre fonts embeded. (false) by default

200 Response

"string"

Responses

StatusMeaningDescriptionSchema
200OKGenerated filestring
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

Supplies

Endpoint related to managing Supplies

GetSalesServices

Terminal window
# You can also use wget
curl -X POST /supplies?CenterCode=string&Slip=string&ExternalCode=string&Quantity=0 \
-H 'Accept: text/plain' \
-H 'Authorization: Bearer {access-token}'
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

NameInTypeRequiredDescription
CenterCodequerystringtrueCenter code
SlipquerystringtrueSlip code
ExternalCodequerystringtrueSupply external code
Quantityquerynumber(double)trueQuantity

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

StatusMeaningDescriptionSchema
200OKSuccessfulInline
204No ContentNo ContentNone
400Bad RequestBad RequestNone
401UnauthorizedNo valid token was providedNone
403ForbiddenUser permission level insufficientNone
415Unsupported Media TypeUnsupported media type, please ensure that you’re sending the data in the appropiate way. We recommend checking your Content-Type headerNone
429Too Many RequestsToo many requests, try again laterNone
500Internal Server ErrorServer ErrorNone

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[SalesServicesResponse]falsenonenone
» service_idinteger(int32)falsenoneService identifier
» centerCodestring¦nullfalsenoneCenter code
» namestring¦nullfalsenoneService name
» descriptionstring¦nullfalsenoneDescription
» externalCodestring¦nullfalsenoneService external sode
» serviceType_idinteger(int32)¦nullfalsenoneServiceType identifier
» serviceType_codestring¦nullfalsenoneServiceType code
» vatPercentnumber(double)¦nullfalsenoneTaxes
» perSquareMeterbooleanfalsenoneIs per square meter
» dailyPricebooleanfalsenoneIs daily price
» perLengthbooleanfalsenoneIs 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

NameTypeRequiredRestrictionsDescription
groupstring¦nullfalsenoneGroup
cardCodestring¦nullfalsenoneCard code
accessType_ex_codeinteger(int32)¦nullfalsenoneAccess type external code
accessTypestring¦nullfalsenoneAccess type description
activationDatestring(date-time)¦nullfalsenoneActivation date
leavingDatestring(date-time)¦nullfalsenoneLeaving date
plate1string¦nullfalsenonePlate 1
plate2string¦nullfalsenonePlate 2
plate3string¦nullfalsenonePlate 3
plate4string¦nullfalsenonePlate 4
plate5string¦nullfalsenonePlate 5
observationsstring¦nullfalsenoneObservations
namestring¦nullfalsenoneName
surnamestring¦nullfalsenoneSurname
dnistring¦nullfalsenoneDNI
timestampstring¦nullfalsenoneTimestamp

BoatResponse

{
"boat_id": 0,
"boatName": "string",
"plate": "string",
"flag": "string",
"boatModel": "string",
"boatType": "string",
"motorModel": "string",
"eslora": 0,
"manga": 0,
"calado": 0,
"insuranceCompany": "string",
"policyNumber": "string",
"policyDueDate": "2019-08-24T14:15:22Z"
}

Properties

NameTypeRequiredRestrictionsDescription
boat_idinteger(int32)falsenoneBoat identifier
boatNamestring¦nullfalsenoneBoat name
platestring¦nullfalsenoneBoat plate
flagstring¦nullfalsenoneBoat flag
boatModelstring¦nullfalsenoneBoat model
boatTypestring¦nullfalsenoneBoat type
motorModelstring¦nullfalsenoneMotor model
esloranumber(double)¦nullfalsenoneLenght
manganumber(double)¦nullfalsenoneBeam
caladonumber(double)¦nullfalsenoneDraught
insuranceCompanystring¦nullfalsenoneInsurance company
policyNumberstring¦nullfalsenoneInsurance policy number
policyDueDatestring(date-time)¦nullfalsenoneInsurance policy due date

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

NameTypeRequiredRestrictionsDescription
centerCodestringtruenoneCenter code
boatNamestringtruenoneBoat name
boatType_idinteger(int32)truenoneBoat type identifier
lengthnumber(double)truenoneLenght
beamnumber(double)truenoneBeam
arrivalDatestring(date-time)truenoneArrival date
exitDatestring(date-time)truenoneExit date
fullNamestringtruenoneUser full name
userEmailstringtruenoneUser email
phonestring¦nullfalsenoneUser phone
observationsstring¦nullfalsenoneUser observations

CheckInExtendedPost

{
"reservation_id": 0,
"flag": "string",
"boatModel": "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

NameTypeRequiredRestrictionsDescription
reservation_idinteger(int32)truenoneReservation identifier
flagstringtruenoneBoat flag
boatModelstring¦nullfalsenoneBoat model
boatTypestring¦nullfalsenoneBoat type
motorModelstring¦nullfalsenoneMotor model
esloranumber(double)¦nullfalsenoneLenght
manganumber(double)¦nullfalsenoneBeam
caladonumber(double)¦nullfalsenoneDraught
ownerNamestring¦nullfalsenoneOwner name
ownerSurnamestring¦nullfalsenoneOwner surname
ownerNationalitystring¦nullfalsenoneOwner nationality
ownerDocumentstringtruenoneOwner document
owExpirationDatestring(date-time)falsenoneOwner document expiration date
insuranceCompanystringtruenoneInsurance company
policyNumberstringtruenonePolicy number
policyDueDatestring(date-time)¦nullfalsenonePolicy due date
originSeaportstring¦nullfalsenoneOrigin seaport
destinationSeaportstring¦nullfalsenoneDestination seaport
captainNamestring¦nullfalsenoneCaptain name
captainSurnamestring¦nullfalsenoneCaptain surname
captainNationalitystringtruenoneCaptain nationality ISO2
captainDocumentstringtruenoneCaptain document
cdExpirationDatestring(date-time)truenoneCaptain document expiration date
phoneNumberstringtruenonePhone number
emailstringtruenoneEmail
marketingConsentbooleantruenoneIs marketing consent accepted
pivacyPolicybooleantruenoneIs Privacy policy accepted
signDatastring¦nullfalsenoneSign data B64
crew[CrewMembers]¦nullfalsenonenone

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",
"homePort": "string",
"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

NameTypeRequiredRestrictionsDescription
reservation_idinteger(int32)falsenoneReservation identifier
centerNamestring¦nullfalsenoneSeaport name
reservationStatus_idinteger(int32)¦nullfalsenoneReservation status identifier
slip_idinteger(int32)falsenoneSlip identifier
slipstring¦nullfalsenoneSlip
arrivalDatestring(date-time)¦nullfalsenoneArrival date
exitDatestring(date-time)¦nullfalsenoneExit date
homePortstring¦nullfalsenoneHome port
boatNamestring¦nullfalsenoneBoat name
platestring¦nullfalsenoneBoat plate
flagstring¦nullfalsenoneBoat flag
boatModelstring¦nullfalsenoneBoat model
boatTypestring¦nullfalsenoneBoat type
motorModelstring¦nullfalsenoneMotor model
esloranumber(double)¦nullfalsenoneLenght
manganumber(double)¦nullfalsenoneBeam
caladonumber(double)¦nullfalsenoneDraught
baseSeaPortstring¦nullfalsenoneBase seaport
originSeaportstring¦nullfalsenoneOrigin seaport
destinationSeaportstring¦nullfalsenoneDestination seaport
ownerNamestring¦nullfalsenoneOwner name
ownerSurnamestring¦nullfalsenoneOwner surname
ownerNationalitystring¦nullfalsenoneOwner nationlity
ownerDocumentstring¦nullfalsenoneOwner document
captainNamestring¦nullfalsenoneCaptain name
captainSurnamestring¦nullfalsenoneCaptain name
captainNationalitystring¦nullfalsenoneCaptain nationlity
captainDocumentstring¦nullfalsenoneCaptain document
insuranceCompanystring¦nullfalsenoneInsurance company
policyNumberstring¦nullfalsenoneInsurance policy number
policyDueDatestring(date-time)¦nullfalsenoneInsurance policy dude date
phoneNumberstring¦nullfalsenonePhone number
emailstring¦nullfalsenoneContact email
marketingConsentbooleanfalsenoneMarketing consent
dbInsurancebooleanfalsenoneIs Boat insurance file already present
dbBoatbooleanfalsenoneIs Boat documentation file already present
dbOwnerbooleanfalsenoneIs Owner documentation file already present
crew[CrewMembers]¦nullfalsenonenone

CheckInPost

{
"seaport": "string",
"document": "string",
"arrivalDate": "2019-08-24T14:15:22Z"
}

Properties

NameTypeRequiredRestrictionsDescription
seaportstringtruenoneSeaport
documentstringtruenoneCustomer NIF / Passport
arrivalDatestring(date-time)truenoneArrival 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

NameTypeRequiredRestrictionsDescription
crewNamestring¦nullfalsenoneCrew name
crewSurnamestring¦nullfalsenoneCrew surname
crewNationalitystring¦nullfalsenoneCrew nationality
crewBirthDatestring(date-time)¦nullfalsenoneCrew date of birth
crewTypestring¦nullfalsenoneCrew Type
crewType_idinteger(int32)falsenoneCrew Type identifier
crew_DNIstring¦nullfalsenoneCrew document
expandedbooleanfalsenoneIs expanded

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

NameTypeRequiredRestrictionsDescription
sCustomerCodestring¦nullfalsenoneCustomer code
boat_idinteger(int32)¦nullfalsenoneBoat identifier
iCenterIdinteger(int32)truenoneCenter identifier
documentType_idinteger(int32)truenoneDocument type identifier
descriptionstring¦nullfalsenoneDescription
dDatestring(date-time)truenoneDocument date
dDateReminderstring(date-time)¦nullfalsenoneDocument date reminder
sFileNamestringtruenoneFile Name
sFileStreamstringtruenoneFile Stream Content (B64)
sFileExtensionstringtruenoneFile 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

NameTypeRequiredRestrictionsDescription
document_idinteger(int32)falsenoneDocument identifier
documentType_idinteger(int32)¦nullfalsenoneDocument Type identifier
documentTypestring¦nullfalsenoneDocument Type
descriptionstring¦nullfalsenoneDescription
datestring(date-time)¦nullfalsenoneDate
dateReminderstring(date-time)¦nullfalsenoneDate reminder
urlstring¦nullfalsenoneURL

PortalDocumentTypeResponse

{
"documentType_id": 0,
"description": "string",
"public": true,
"customerPortal": true,
"updateOnCustomerPortal": true
}

Properties

NameTypeRequiredRestrictionsDescription
documentType_idinteger(int32)falsenoneDocument Type identifier
descriptionstring¦nullfalsenoneDescription
publicbooleanfalsenonePublic check
customerPortalbooleanfalsenoneCustomer portal check
updateOnCustomerPortalbooleanfalsenoneUpdate 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

NameTypeRequiredRestrictionsDescription
service_idinteger(int32)falsenoneService identifier
centerCodestring¦nullfalsenoneCenter code
namestring¦nullfalsenoneService name
descriptionstring¦nullfalsenoneDescription
externalCodestring¦nullfalsenoneService external sode
serviceType_idinteger(int32)¦nullfalsenoneServiceType identifier
serviceType_codestring¦nullfalsenoneServiceType code
vatPercentnumber(double)¦nullfalsenoneTaxes
perSquareMeterbooleanfalsenoneIs per square meter
dailyPricebooleanfalsenoneIs daily price
perLengthbooleanfalsenoneIs per length

TokenApi

{
"accessToken": "string",
"refreshToken": "string"
}

Properties

NameTypeRequiredRestrictionsDescription
accessTokenstring¦nullfalsenoneAccess Token
refreshTokenstring¦nullfalsenoneRefresh Token