openapi: 3.0.1 info: title: inter.PAL Web Service description: This API supports interaction with the inter.PAL feature "Pallet Accounting". version: 1.0.5 servers: - url: https://stage.inter-pal.com/interpal_b2b/WebServicesB2B variables: {} - url: https://webservice.inter-pal.com/interpal_b2b/WebServicesB2B variables: {} paths: /Sub/{AuthToken}/BookingPartner: get: tags: - Booking Partners description: Get a list of booking partners operationId: getBookingPartner parameters: - name: Accept-Language in: header description: "The ISO code of the language you want to use for the response\ \ (i.e. de, en, it etc.). Please consider that we do not support all languages\ \ and check the languages we support on the loginscreen or the Portal. If\ \ your language cannot be determined, we use the default language German." schema: type: string - name: AuthToken in: path description: A valid and active Auth-Token. See endpoint /Authorization for more information. required: true schema: type: string responses: "200": description: "All Booking Partner, unfiltered" content: application/xml: schema: $ref: '#/components/schemas/PARTNERS' application/json: schema: $ref: '#/components/schemas/PARTNERS' "204": description: No Content "401": description: Unauthorized /Sub/{AuthToken}/BookingPartner/Search: post: tags: - Booking Partners description: Get a filtered list of booking partners operationId: getBookingPartnerSearch parameters: - name: Accept-Language in: header description: "The ISO code of the language you want to use for the response\ \ (i.e. de, en, it etc.). Please consider that we do not support all languages\ \ and check the languages we support on the loginscreen or the Portal. If\ \ your language cannot be determined, we use the default language German." schema: type: string - name: AuthToken in: path description: A valid and active Auth-Token. See endpoint /Authorization for more information. required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: required: - filter type: object properties: filter: type: string description: The filter you want to use for searching Booking Partner in the inter.PAL system. example: Example Company Inc. responses: "200": description: "All Booking Partner, filtered" content: application/xml: schema: $ref: '#/components/schemas/PARTNERS' application/json: schema: $ref: '#/components/schemas/PARTNERS' "204": description: No Content "401": description: Unauthorized /Sub/{AuthToken}/BookingPartner/Search/{UniqueIdentifier}: get: tags: - Booking Partners description: Get a filtered list of booking partners operationId: getBookingPartnerByUID parameters: - name: Accept-Language in: header description: "The ISO code of the language you want to use for the response\ \ (i.e. de, en, it etc.). Please consider that we do not support all languages\ \ and check the languages we support on the loginscreen or the Portal. If\ \ your language cannot be determined, we use the default language German." schema: type: string - name: AuthToken in: path description: A valid and active Auth-Token. See endpoint /Authorization for more information. required: true schema: type: string - name: UniqueIdentifier in: path description: A UniqueIdentifier (UID) of a (BOOKING) PARTNER. required: true schema: type: string example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX responses: "200": description: "All Booking Partner, filtered" content: application/xml: schema: $ref: '#/components/schemas/PARTNERS' application/json: schema: $ref: '#/components/schemas/PARTNERS' "204": description: No Content "401": description: Unauthorized /Sub/{AuthToken}/BookingPartner/Add: post: tags: - Booking Partners description: Add a new Booking Partner operationId: createBookingPartner parameters: - name: Accept-Language in: header description: "The ISO code of the language you want to use for the response\ \ (i.e. de, en, it etc.). Please consider that we do not support all languages\ \ and check the languages we support on the loginscreen or the Portal. If\ \ your language cannot be determined, we use the default language German." schema: type: string - name: AuthToken in: path description: A valid and active Auth-Token. See endpoint /Authorization for more information. required: true schema: type: string requestBody: content: application/x-www-form-urlencoded: schema: required: - contact - email - name - phone type: object properties: name: type: string description: "The name of the PARTNER, i.e. Legal Entity or Name\ \ of a Person, Group or Business." example: Example Company Inc. contact: type: string description: The contact person at the side of the PARTNER. That us usally just a name of a person with first- and lastname. example: John Doe email: type: string description: The email address of the contact person of your PARTNER. example: john.doe@example.company.org phone: type: string description: The telephone number of the contact person of your PARTNER. example: +49 123 456 789 tid: type: string description: Your identifier (i.e. UUID) for the record. category: type: string description: The category of the booking partner (i.e. Category A). responses: "200": description: The new created Booking Partner content: application/xml: schema: $ref: '#/components/schemas/PARTNERS' application/json: schema: $ref: '#/components/schemas/PARTNERS' "401": description: Unauthorized "404": description: No Results Found /Sub/{AuthToken}/Transactions/Search/{TransactionId}: get: tags: - Transactions description: Get a specific Transaction by Transaction-ID. operationId: getSubTransaction parameters: - name: Accept-Language in: header description: "The ISO code of the language you want to use for the response\ \ (i.e. de, en, it etc.). Please consider that we do not support all languages\ \ and check the languages we support on the loginscreen or the Portal. If\ \ your language cannot be determined, we use the default language German." schema: type: string - name: AuthToken in: path description: A valid and active Auth-Token. See endpoint /Authorization for more information. required: true schema: type: string - name: TransactionId in: path description: "This can either be the Transaction-Id, TID of Transaction or\ \ Booking Partner and the System Id of the transaction to fetch." required: true schema: type: string example: E-1598724111XXXXXX responses: "200": description: "All Booking Partner Transactions, filtered" content: application/xml: schema: $ref: '#/components/schemas/PARTNERS' application/json: schema: $ref: '#/components/schemas/PARTNERS' "204": description: No Content "401": description: Unauthorized /Sub/{AuthToken}/Transactions/Search: get: tags: - Transactions description: Get a list of Transactions. Please take into account that between Start- and Enddate (From/To) max. 60 days are allowed. operationId: getSubTransaction_1 parameters: - name: Accept-Language in: header description: "The ISO code of the language you want to use for the response\ \ (i.e. de, en, it etc.). Please consider that we do not support all languages\ \ and check the languages we support on the loginscreen or the Portal. If\ \ your language cannot be determined, we use the default language German." schema: type: string - name: AuthToken in: path description: A valid and active Auth-Token. See endpoint /Authorization for more information. required: true schema: type: string - name: BookingPartner in: query description: The UID of the (BOOKING) PARTNER you want to use for the query. required: true schema: type: string example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - name: From in: query description: The earliest (inclusive) date (yyyy-MM-dd) for filtering transactions. required: true schema: type: string example: "OrderedMap {}" - name: To in: query description: The latest (inclusive) date (yyyy-MM-dd) for filtering transactions. required: true schema: type: string example: "OrderedMap {}" responses: "200": description: "All Booking Partner Transactions, filtered" content: application/xml: schema: $ref: '#/components/schemas/TRANSACTIONS' application/json: schema: $ref: '#/components/schemas/TRANSACTIONS' "204": description: No Content "401": description: Unauthorized /Sub/{AuthToken}/Transactions/AddNote: post: tags: - Transactions description: Upload a file and attach it to a existing Transaction operationId: addNotes parameters: - name: Accept-Language in: header description: "The ISO code of the language you want to use for the response\ \ (i.e. de, en, it etc.). Please consider that we do not support all languages\ \ and check the languages we support on the loginscreen or the Portal. If\ \ your language cannot be determined, we use the default language German." schema: type: string - name: AuthToken in: path description: A valid and active Auth-Token. See endpoint /Authorization for more information. required: true schema: type: string requestBody: content: multipart/form-data: schema: type: object properties: TransactionId: type: string description: The Transaction-Id of the transaction you want to attach the note/file. Note: type: string description: A text note which should be attached to the transaction (optional). Attachment: $ref: '#/components/schemas/FormDataContentDisposition' responses: "201": description: The new created Note content: application/xml: schema: $ref: '#/components/schemas/NOTE' application/json: schema: $ref: '#/components/schemas/NOTE' "401": description: Unauthorized "404": description: No Results Found /Sub/{AuthToken}/Transactions/Add: post: tags: - Transactions description: Add a new Transaction operationId: createSubTransaction parameters: - name: Accept-Language in: header description: "The ISO code of the language you want to use for the response\ \ (i.e. de, en, it etc.). Please consider that we do not support all languages\ \ and check the languages we support on the loginscreen or the Portal. If\ \ your language cannot be determined, we use the default language German." schema: type: string - name: AuthToken in: path description: A valid and active Auth-Token. See endpoint /Authorization for more information. required: true schema: type: string requestBody: description: Created user object content: application/xml: schema: $ref: '#/components/schemas/TRANSACTION' application/json: schema: $ref: '#/components/schemas/TRANSACTION' required: true responses: "201": description: The new created Transaction content: application/xml: schema: $ref: '#/components/schemas/TRANSACTION' application/json: schema: $ref: '#/components/schemas/TRANSACTION' "401": description: Unauthorized "404": description: No Results /Sub/Authorization: post: tags: - Authorization Token description: Login with your username and password(MD5) and retrieve a Authorization Token (AuthToken) as response. That AuthToken will be a part of the URL for subsequent requests. operationId: login requestBody: content: application/x-www-form-urlencoded: schema: required: - password - username type: object properties: username: type: string description: The user name for a valid inter.PAL Portal/B2B login. example: my_username password: type: string description: The MD5 encoded password for a valid inter.PAL Portal/B2B login. example: 947E5B45A7F481C4B79F0449F4C467AE responses: "200": description: Successful content: text/plain: schema: type: string "401": description: Unauthorized components: schemas: ACTION: type: object properties: TYPES: type: array description: A list/array of possible TYPES within that ACTION. TYPES are typically just pallet types. items: $ref: '#/components/schemas/TYPE' DESCRIPTION: type: string description: The description of the ACTION. example: "Ladungsträger Tausch, Abgabe" NAME: type: string description: "The name of the of the ACTION. This name is unique in the\ \ inter.PAL system, so you should use that name to define the ACTION in\ \ your TRANSACTIONS." example: exchange_deliver or exchange_collect UID: type: string description: The UID of the ACTION. example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX qualitites: type: array writeOnly: true items: $ref: '#/components/schemas/TYPE' description: An ACTION is a TRANSACTION type like delivery or collecting of pallets. Such a TRANSACTION type is important for the accounting process to finally credit or debit the quantity of a TRANSACTION. example: +49 123 456 789 xml: name: ACTION PARTNER: required: - ACTIONS - CONTACT - EMAIL - NAME - TELEPHONE type: object properties: ACTIONS: type: array description: "An array of possible ACTIONS with that PARTNER. ACTIONS are\ \ typically just a type of a TRANSACTION, i.e. delivery or collecting\ \ of pallets." example: +49 123 456 789 items: $ref: '#/components/schemas/ACTION' NAME: type: string description: "The name of the PARTNER, i.e. Legal Entity or Name of a Person,\ \ Group or Business." example: Example Company Inc. CONTACT: type: string description: The contact person at the side of the PARTNER. That us usally just a name of a person with first- and lastname. example: John Doe EMAIL: type: string description: The email address of the contact person of your PARTNER. example: john.doe@example.company.org TELEPHONE: type: string description: The telephone number of the contact person of your PARTNER. example: +49 123 456 789 CATEGORY: type: string description: The category of the booking partner. example: Category A UID: type: string description: The UID of the PARTNER. Please use that UID for creating TRANSACTIONS to identify the desired PARTNER for that TRANSACTION. example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX TID: type: string description: An external third party identifier. That is typically an UUID given nor set by the inter.PAL partner himself to identify the record in his own data warehouse. description: A (BOOKING) PARTNER is a partner for your TRANSACTION. You can define different PARTNERS within the inter.PAL Portal or just by using this API. See the Endpoint /BookingPartner/Add. example: +49 123 456 789 xml: name: BOOKING_PARTNER PARTNERS: type: object properties: list: type: array xml: name: BOOKING_PARTNER items: $ref: '#/components/schemas/PARTNER' description: A LIST (BOOKING) PARTNERS are a partners for your TRANSACTION. You can define different PARTNERS within the inter.PAL Portal or just by using this API. See the Endpoint /BookingPartner/Add. example: +49 123 456 789 xml: name: BOOKING_PARTNERS QUALITY: required: - QUANTITY - UID type: object properties: NAME: type: string description: The name of the of the QUALITY. example: Klasse C (gem. GS1 u. UIC 435/4) QUANTITY: type: integer description: The quantity for the QUALITY. That value is typically only available within a quality/quantity list of a TRANSACTION. format: int32 UID: type: string description: The UID of the QUALITY. You will need the UID of one of the QUALITIES to speficiy the quantity of a TYPE (Pallet Type) in a new TRANSACTION. example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX description: "QUALITIES are the available qualities for a TYPE (Pallet Type).\ \ Whenever you create a new TRANSACTION, the inter.PAL system expects a set\ \ of QUALITIES for each transactional TYPE (Pallet Type). You will need the\ \ UID to specify the quantity for a specific QUALITY." xml: name: QUALITY TYPE: type: object properties: NAME: type: string description: The name of the of the TYPE. example: Europalette UID: type: string description: The UID of the TYPE. You will need the UID of one of the TYPES to speficiy the Pallet Type in a new TRANSACTION. example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX QUALITIES: type: array description: An array of possible QUALITIES within that ACTION (Pallet Type). items: $ref: '#/components/schemas/QUALITY' description: "TYPES are available Pallet Types for a specific ACTION. Since\ \ the Pallet Type is mandatory for any TRANSACTION in the inter.PAL system,\ \ you will need the UID of one of the TYPES to speficiy the Pallet Type." xml: name: TYPE NOTE: type: object properties: MEDIA_EXTENSION: type: string description: The file extension of the attached media file of the NOTE. example: PDF NOTE: type: string description: A textual content of the NOTE. example: Lorem ipsum dolor sit amet ... UID: type: string description: The UID of the NOTE. example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX MEDIA: type: string description: The file name (without extension) of the attached media file of the NOTE. example: Delivery.PDF description: "A NOTE is simple media file (PDF, JPG, GIF, PNG) or text note\ \ associated with TRANSACTIONS. Whenever you create a new TRANSACTION, you\ \ can upload a binary file. that file will be attached to the transation as\ \ NOTE." xml: name: NOTE TRANSACTION: required: - ACTION - BOOKING_PARTNER_ID - QUALITIES type: object properties: NOTES: type: array description: An array of stored NOTES for that TRANSACTION. items: $ref: '#/components/schemas/NOTE' TYPE: type: string description: The associated TYPE (Pallet Type) of the TRANSACTION. example: Europalette TYPE_ID: type: string description: The UID of the TYPE (Pallet Type) of the TRANSACTION. example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX REFERENCE: type: string description: The reference text of the TRANSACTION. example: Lorem ipsum dolor sit amet ... TRANSACTION_ID: type: string description: Another (public) unique identifier of the TRANSACTION. The TRANSACTION_ID is published in each transaction document and used in communications (i.e. Emails) with the participating (BOOKING) PARTNERS. example: E-1598724111XXXXXX UID: type: string description: The UID of the TRANSACTION. example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX OWNER: type: string description: The name of inter.PAL partner the transaction belongs to (typically you). example: My Company Ltd. BOOKING_PARTNER: type: string description: The name of your (BOOKING) PARTNER assigned to the TRANSACTION. example: Example Company Inc. BOOKING_PARTNER_ID: type: string description: The UID of the (BOOKING) PARTNER assigned to the TRANSACTION. example: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX BOOKED: type: string description: "The date and time the TRANSACTION was booked. That is typically\ \ NOT the timestamp of creation. That field is optional for new TRANSACTIONS\ \ and if not set, we are using the current timestamp as the booking date." format: date-time example: 2020-08-22T15:34:00Z TID: type: string description: An external third party identifier for the TRANSACTION. That is typically an UUID given nor set by the inter.PAL partner himself to identify the TRANSACTION in his own data warehouse. BID: type: string description: An external third party identifier for the (BOOKING) PARTNER. That is typically an UUID given nor set by the inter.PAL partner himself to identify the (BOOKING) PARTNER in his own data warehouse. QUALITIES: type: array description: An array of stored QUALITIES (of assoicated TYPE) for that TRANSACTION. items: $ref: '#/components/schemas/QUALITY' ACTION: type: string description: The associated ACTION (delivery/collecting) of the TRANSACTION. example: exchange_deliver or exchange_collect description: A TRANSACTION is a simple exchange ot TYPES (Pallet Types) between two PARTNERS. One PARTNER is the deliverer and another partner is the recipient. xml: name: TRANSACTION TRANSACTIONS: type: object properties: list: type: array xml: name: TRANSACTION items: $ref: '#/components/schemas/TRANSACTION' description: A TRANSACTIONS is a list of all Transactions (See Schema>Transaction for your reference) xml: name: TRANSACTIONS FormDataContentDisposition: type: object properties: type: type: string parameters: type: object additionalProperties: type: string fileName: type: string creationDate: type: string format: date-time modificationDate: type: string format: date-time readDate: type: string format: date-time size: type: integer format: int64 name: type: string