#%RAML 0.8 title: REST API Documentation version: v1 baseUri: https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1 protocols: [ HTTPS ] securitySchemes: - bearerToken: description: Custom Bearer Token authentication based on an API Key. type: x-custom-bearer-token describedBy: headers: Authorization: description: > A custom bearer token. type: string responses: 401: description: > Invalid or expired token. 403: description: > The token is valid but it doesn't grant access to the operation attempted. - basicAuth: description: > Basic authentication using an API Key. type: Basic Authentication describedBy: responses: 401: description: > Invalid or expired token. 403: description: > The token is valid but it doesn't grant access to the operation attempted. traits: - secured: usage: Apply to any method that should be secured. headers: Authorization: type: string description: Custom Bearer Token based on API key. example: Bearer XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXX required: false schemas: - senderReceiverListData: !include SenderReceiverListData.jsonschema - senderReceiverData: !include SenderReceiverData.jsonschema - storedShipmentInfo: !include StoredShipmentInfo.jsonschema - storedShipmentInfoList: !include StoredShipmentInfoList.jsonschema - shipmentInfo: !include ShipmentInfo.jsonschema - shipmentInfoList: !include ShipmentInfoList.jsonschema - shipmentFetchInfoList: !include ShipmentFetchInfoList.jsonschema - shipment: !include Shipment.jsonschema - pdfConfig: !include PdfConfig.jsonschema - printConfig: !include PrintConfig.jsonschema - shipmentPrint: !include ShipmentPrint.jsonschema - manifestPrintData: !include ManifestPrintData.jsonschema - manifestInfoDataResponse: !include ManifestInfoDataResponse.jsonschema - shipmentPdfData: !include ShipmentPdfData.jsonschema - manifestShipmentsInfoData: !include ManifestShipmentsInfoData.jsonschema - manifestListIdsData: !include ManifestListIdsData.jsonschema - shipmentConsolidatePrint: !include ShipmentConsolidatePrint.jsonschema - pdfList: !include PdfList.jsonschema - printList: !include PrintList.jsonschema - error: !include Error.jsonschema - statusList: !include StatusList.jsonschema - alertInfo: !include AlertInfo.jsonschema - alertInfoList: !include AlertInfoList.jsonschema - freightCheckout: !include FreightCheckout.jsonschema - agent: !include Agent.jsonschema - freightCheckoutOption: !include FreightCheckoutOption.jsonschema - freightCheckoutField: !include FreightCheckoutField.jsonschema - freightCheckoutAddon: !include FreightCheckoutAddon.jsonschema - freightCheckoutFeature: !include FreightCheckoutFeature.jsonschema - freightCheckoutCertification !include FreightCheckoutCertification.jsonschema - freightCheckoutShipment: !include FreightCheckoutShipment.jsonschema - freightCheckoutShipmentAddon: !include FreightCheckoutShipmentAddon.jsonschema - freightCheckoutShipmentAddonField: !include FreightCheckoutShipmentAddonField.jsonschema - freightCheckoutShipmentField: !include FreightCheckoutShipmentField.jsonschema - freightCheckoutSummaryData: !include FreightCheckoutSummaryData.jsonschema - deliveryCheckoutAddonData: !include DeliveryCheckoutAddonData.jsonschema - deliveryCheckoutFieldData: !include DeliveryCheckoutFieldData.jsonschema - deliveryCheckoutReferenceData: !include DeliveryCheckoutReferenceData.jsonschema - deliveryCheckoutParcelData: !include DeliveryCheckoutParcelData.jsonschema - deliveryCheckoutPartyData: !include DeliveryCheckoutPartyData.jsonschema - deliveryCheckoutShipmentMetaData: !include DeliveryCheckoutShipmentMetaData.jsonschema - deliveryCheckoutShipmentOutData: !include DeliveryCheckoutShipmentOutData.jsonschema - openingHourSpecialDay: !include OpeningHourSpecialDay.jsonschema - openingHourWeekday: !include OpeningHourWeekday.jsonschema - hour: !include Hour.jsonschema - agentListImport: !include AgentListImport.jsonschema - agentImport: !include AgentImport.jsonschema - openingHourSpecialDayImport: !include OpeningHourSpecialDayImport.jsonschema - openingHourWeekdayImport: !include OpeningHourWeekdayImport.jsonschema - hourImport: !include HourImport.jsonschema - metaListPartnerList: !include MetaListPartnerList.jsonschema - metaListServiceList: !include MetaListServiceList.jsonschema - onboardingTerms: !include OnboardingTerms.jsonschema - onboardingApplications: !include OnboardingApplications.jsonschema - onboardingApplicationResult: !include OnboardingApplicationResult.jsonschema - onboardingApplication: !include OnboardingApplication.jsonschema - price: !include PriceData.jsonschema - shipmentPrice: !include ShipmentPrice.jsonschema - additionalSurcharges: !include AdditionalSurcharges.jsonschema - priceHistory: !include PriceHistory.jsonschema - priceReport: !include PriceReport.jsonschema - accountList: !include AccountList.jsonschema - accountData: !include AccountData.jsonschema - closeConsolidatedShipment: !include CloseConsolidatedShipment.jsonschema - deliveryCheckoutShipment: !include DeliveryCheckoutShipmentData.jsonschema - deliveryCheckoutPostShipment: !include DeliveryCheckoutPOSTShipmentOutData.jsonschema - deliveryCheckoutConfigurationActive: !include DeliveryCheckoutConfigurationActive.jsonschema - addressResponseData: !include AddressResponseData.jsonschema - shipmentWaybillDataResponse: !include ShipmentWaybillDataResponse.jsonschema - waybillInfoData: !include WaybillInfoData.jsonschema - printerInformationList: !include PrinterInformationList.jsonschema - printJobBaseResponse: !include PrintJobBaseResponse.jsonschema - printJobResponse: !include PrintJobResponse.jsonschema - printJobReceivedRequest: !include PrintJobReceivedRequest.jsonschema - printJobsHistoryResponse: !include PrintJobsHistoryResponse.jsonschema - clientInformationList: !include ClientInformationList.jsonschema - clientInformation: !include ClientInformation.jsonschema #documentation: # - title: Introduction # content: !include Intro.md # - title: Samples # content: !include Samples.md # - title: Address Lookups # content: !include AddressLookup.md # - title: Creating Shipments # content: !include CreatingShipments.md # - title: Retrieving Status events # content: !include Alerts.md # - title: Freight Checkout Widget # content: !include FreightCheckoutWidget.md # Addresses /addresses: # Addresses / Agents /agents: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Find agents close to a receiver's address for a carrier. Either *`zip`* or *`id`* must be provided as a parameter but not both. This service requires a license for the **PickUpLocator** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API PickUpLocator** license key. queryParameters: type: displayName: type type: string description: Type of agents to find. enum: [ BRING, BRINGMANNED, BRINGBOX, BRINGPARCELCONNECT, BUSSGODS, DHLPARCELCONNECT, DHLSP, DHLSPCOD, DPD, DPDBALTICS, GLS, ITELLA, ITELLASP, POSTI, LP, MHM, MHT, MHA, MHN, MHLQ, MHU, MHR, MHP, POSTNORD, POSTNORDINDOORLOCKER, POSTNORDMYPACKBOX, PP, PPFI, SBTL, SBTLFI, SBTLFIPA, SBTLBOX, UPS, INPOST, DPDUK, GLSDKAPI, GLSFIAPI, DHLNL, EVRI, OMNIPAR, OMNIPOST, HERMESBYBRING ] required: true id: displayName: id type: string description: "The ID of the agent used by the carrier. NOTE: Can't be used with zip or street parameters." required: false zip: displayName: zip type: string description: "The zip code of the receiver's address. NOTE: Can't be used with the id parameter." required: false street: displayName: street type: string description: "The street name and number of the receiver's address. NOTE: Can't be used with the id parameter." required: false country: displayName: country type: string description: Two letter country code (from ISO-3166-1 alpha-2). example: SE required: true responses: 200: body: application/json: schema: | { "type": "array", "$schema": "http://json-schema.org/draft-04/schema#", "items": { "type": "object", "required": [ "id", "name", "city", "countryCode" ], "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "address1": { "type": "string" }, "address2": { "type": "string" }, "zipcode": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "countryCode": { "type": "string" }, "contact": { "type": "string" }, "phone": { "type": "string" }, "fax": { "type": "string" }, "email": { "type": "string" }, "sms": { "type": "string" }, "serviceType": { "type": "string" }, "serviceCode": { "type": "string" }, "openingHours": { "type": "string" } } } } example: | [{ "id": "586181", "name": "ICA Supermarket Sabbatsberg", "address1": "Dalagatan 9", "address2": null, "zipcode": "11361", "city": "STOCKHOLM", "state": null, "countryCode": "SE", "contact": null, "phone": null, "fax": null, "email": null, "sms": null, "serviceType": null, "serviceCode": null, "openingHours": null }, { "id": "586169", "name": "Tidningsspecialisten", "address1": "Odengatan 30", "address2": null, "zipcode": "11351", "city": "STOCKHOLM", "state": null, "countryCode": "SE", "contact": null, "phone": null, "fax": null, "email": null, "sms": null, "serviceType": null, "serviceCode": null, "openingHours": null }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing zip argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Addresses / Zipcodes /zipcodes: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get zip code information. This service requires a license for the **ZipCheck** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API ZipCheck** license key. Check of Swedish zipcodes is not supported queryParameters: zip: displayName: zip type: string description: The zip code to get information about. example: 00580 required: true country: displayName: country type: string description: Two letter country code (from ISO-3166-1 alpha-2). example: FI required: true responses: 200: body: application/json: schema: | { "type": "object", "$schema": "http://json-schema.org/draft-04/schema#", "properties": { "city": { "type": "string" }, "pattern": { "type": "string" }, "valid": { "type": "boolean" }, "box": { "type": "boolean" }, "rural": { "type": "boolean" }, "customer": { "type": "boolean" } } } example: | { "city": "HELSINGFORS", "pattern": "NNNNN", "valid": true, "box": false, "rural": false, "customer": false } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missdlivering zip argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /senders: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get information about one or multiple sender from the address book. SenderId/ReceiverId or since and page is required. If supplying all three, the id parameter will be used. This service requires a license for the **AddressBook** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API AddressBook** license key. Check of Swedish zipcodes is not supported queryParameters: senderId: displayName: senderId type: number description: The senderId to get information about. example: 5 required: false quickId: displayName: quickId type: string description: The quickId to get information about. example: Sender1 required: false since: displayName: since type: string description: Will try to return a list of senders that has been changed since the date specified in the since parameter. Valid date formats are yyyyMMddHHmmss, yyyyMMddHHmm, yyyyMMdd or yyMMdd. example: 20200416 required: false page: displayName: page type: number description: The page parameter starts on zero and increments upwards. Each result list only contain a maximum of 50 senders and the page parameter provides a way to page through the complete result (which may be significantly bigger). example: 0 required: false responses: 200: body: application/json: schema: senderReceiverListData example: | { "page": 0, "totalPages": 1, "senderReceiverData": [ { "accounts": [], "defaultCodReference": "cod ref", "defaultMailTemplate": "mail template", "defaultRcvReference": "rcv ref", "defaultSndReference": "snd ref", "deliveryAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "GOTHENBURG", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "state": "", "zipcode": "44444" }, "freeText1": "free 1", "freeText2": "free 2", "freeText3": "free 3", "freeText4": "free 4", "ibanAccount": null, "id": 893290, "invoiceAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "GOTHENBURG", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "state": "", "zipcode": "44444" }, "orgNo": "5565463717", "partnerData": [ { "custNo": "123456", "id": "DHLROAD", "infoCode": null }, { "custNo": "1051051058", "id": "PLAB", "infoCode": null } ], "postalAddress": { "addition": "addtion", "address1": "Address 1", "address2": "Address 2", "city": "GOTHENBURG", "contact": "Contact", "country": "SE", "doorCode": "1234", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "state": "", "zipcode": "44444" }, "profileGroup": "Test", "quickId": "TEST", "route": "route", "typeCode1": "type code 1", "typeCode2": "type code 2", "typeCode3": "type code 3", "typeNo1": 1, "typeNo2": 2, "typeNo3": 3, "vatNo": "SE556546371701" } ] } 400: description: > Returned for missing or illegal arguments. Missing sender id argument. Invalid data. Missing sender. body: application/json: schema: error example: | { "code": "MISSING_ARG", "message": "Missing arguments. Sender id, quickId, or since (a date) and page is required." } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create a new sender in the address book. Returns the created AddressResponseData or an error message if something went wrong. queryParameters: body: application/json: schema: senderReceiverListData example: | { "accounts": [ { "account": "900-2031", "referenceType": "Test", "type": "BGTXT" } ], "defaultCodReference": "cod ref", "defaultMailTemplate": "mail template", "defaultRcvReference": "rcv ref", "defaultSndReference": "snd ref", "deliveryAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "Gothenburg", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "quickId": "1", "state": "", "zipcode": "44444" }, "freeText1": "free 1", "freeText2": "free 2", "freeText3": "free 3", "freeText4": "free 4", "ibanAccount": { "account": "SE3550000000054910000003", "bic": "DABAIE2D" }, "invoiceAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "Gothenburg", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "quickId": "1", "state": "", "zipcode": "44444" }, "orgNo": "5565463717", "partnerData": [ { "custNo": "123456", "id": "DHLROAD" }, { "custNo": "1051051058", "id": "PLAB" } ], "postalAddress": { "addition": "addtion", "address1": "Address 1", "address2": "Address 2", "city": "Gothenburg", "contact": "Contact", "country": "SE", "doorCode": "1234", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "quickId": "1", "state": "", "zipcode": "44444" }, "profileGroup": "test", "quickId": "TEST", "route": "route", "typeCode1": "type code 1", "typeCode2": "type code 2", "typeCode3": "type code 3", "typeNo1": "1", "typeNo2": "2", "typeNo3": "3", "vatNo": "SE556546371701" } responses: 200: description: > Returns the created AddressResponseData when a sender is successfully created. body: application/json: schema: addressResponseData example: | { "href": "https://api.unifaun.com/ufoweb-prod-202112131037/rs-extapi/v1/addresses/senders/1648032", "id": 1648032, "quickId": "TEST2", "profileGroup": "INTRO", "created": "2015-06-03T13:18:30.904+0000", "changed": "2015-06-03T13:18:30.904+0000", } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing sender argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Failed to import senders" } # Senders / /senders/{senderId}: uriParameters: senderId: displayName: Sender ID type: string description: The ID of a sender. required: true delete: securedBy: [bearerToken, basicAuth] is: [secured] description: > Delete a sender. The sender will be completely deleted from the system when this call returns successfully. No further operation will be possible on the ID of the sender. responses: 204: description: > No response body returned when a sender is successfully deleted. body: application/json: !!null 400: description: > Missing sender id argument. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing sender id argument" } 404: description: > Sender not found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } put: securedBy: [bearerToken, basicAuth] is: [secured] description: > Update a sender by replacing it. body: application/json: schema: senderReceiverData example: | { "accounts": [], "defaultCodReference": "cod ref", "defaultMailTemplate": "mail template", "defaultRcvReference": "rcv ref", "defaultSndReference": "snd ref", "deliveryAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "GOTHENBURG", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "state": "", "zipcode": "44444" }, "freeText1": "free 1", "freeText2": "free 2", "freeText3": "free 3", "freeText4": "free 4", "ibanAccount": null, "id": 893290, "invoiceAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "GOTHENBURG", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "state": "", "zipcode": "44444" }, "orgNo": "5565463717", "partnerData": [ { "custNo": "123456", "id": "DHLROAD", "infoCode": null }, { "custNo": "1051051058", "id": "PLAB", "infoCode": null } ], "postalAddress": { "addition": "addtion", "address1": "Address 1", "address2": "Address 2", "city": "GOTHENBURG", "contact": "Contact", "country": "SE", "doorCode": "1234", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "state": "", "zipcode": "44444" }, "profileGroup": "Test", "quickId": "TEST", "route": "route", "typeCode1": "type code 1", "typeCode2": "type code 2", "typeCode3": "type code 3", "typeNo1": 1, "typeNo2": 2, "typeNo3": 3, "vatNo": "SE556546371701" } responses: 204: description: > Returns the created AddressResponseData when a sender is successfully updated. body: application/json: schema: addressResponseData example: | { "href": "https://api.unifaun.com/ufoweb-prod-202112131037/rs-extapi/v1/addresses/senders/1648032", "id": 1648032, "quickId": "TEST2", "profileGroup": "INTRO", "created": "2015-06-03T13:18:30.904+0000", "changed": "2015-06-03T13:18:30.904+0000", } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing sender id argument" } 404: description: > Returned when the sender could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } patch: securedBy: [bearerToken, basicAuth] is: [secured] description: > Update a sender. body: application/json: schema: senderReceiverData example: | { "accounts": [ { "account": "900-2031", "referenceType": "Test", "type": "BGTXT" } ], "defaultCodReference": "cod ref", "defaultMailTemplate": "mail template", "defaultRcvReference": "rcv ref", "defaultSndReference": "snd ref", "deliveryAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "Gothenburg", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "quickId": "1", "state": "", "zipcode": "44444" }, "freeText1": "free 1", "freeText2": "free 2", "freeText3": "free 3", "freeText4": "free 4", "ibanAccount": { "account": "SE3550000000054910000003", "bic": "DABAIE2D" }, "invoiceAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "Gothenburg", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "quickId": "1", "state": "", "zipcode": "44444" }, "orgNo": "5565463717", "partnerData": [ { "custNo": "123456", "id": "DHLROAD" }, { "custNo": "1051051058", "id": "PLAB" } ], "postalAddress": { "addition": "addtion", "address1": "Address 1", "address2": "Address 2", "city": "Gothenburg", "contact": "Contact", "country": "SE", "doorCode": "1234", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "quickId": "1", "state": "", "zipcode": "44444" }, "profileGroup": "test", "quickId": "TEST", "route": "route", "typeCode1": "type code 1", "typeCode2": "type code 2", "typeCode3": "type code 3", "typeNo1": "1", "typeNo2": "2", "typeNo3": "3", "vatNo": "SE556546371701" } responses: 204: description: > Returns the created AddressResponseData when a sender is successfully updated. body: application/json: schema: addressResponseData example: | { "href": "https://api.unifaun.com/ufoweb-prod-202112131037/rs-extapi/v1/addresses/senders/1648032", "id": 1648032, "quickId": "TEST2", "profileGroup": "INTRO", "created": "2015-06-03T13:18:30.904+0000", "changed": "2015-06-03T13:18:30.904+0000", } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing sender id argument" } 404: description: > Returned when the sender could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Recievers /receivers: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get information about one or multiple receivers from the address book. ReceiverId or since and page is required. If supplying all three, the id parameter will be used. This service requires a license for the **AddressBook** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API AddressBook** license key. Check of Swedish zipcodes is not supported queryParameters: receiverId: displayName: receiverId type: number description: The receiverId to get information about. example: 5 required: false quickId: displayName: quickId type: string description: The quickId to get information about. example: Receiver1 required: false since: displayName: since type: string description: Will try to return a list of receivers that has been changed since the date specified in the since parameter. Valid date formats are yyyyMMddHHmmss, yyyyMMddHHmm, yyyyMMdd or yyMMdd. example: 20200416 required: false page: displayName: page type: number description: The page parameter starts on zero and increments upwards. Each result list only contain a maximum of 50 receivers and the page parameter provides a way to page through the complete result (which may be significantly bigger). example: 0 required: false responses: 200: body: application/json: schema: senderReceiverListData example: | { "page": 0, "totalPages": 1, "senderReceiverData": [ { "accounts": [], "defaultCodReference": "cod ref", "defaultMailTemplate": "mail template", "defaultRcvReference": "rcv ref", "defaultSndReference": "snd ref", "deliveryAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "GOTHENBURG", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "state": "", "zipcode": "44444" }, "freeText1": "free 1", "freeText2": "free 2", "freeText3": "free 3", "freeText4": "free 4", "ibanAccount": null, "id": 893290, "invoiceAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "GOTHENBURG", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "state": "", "zipcode": "44444" }, "orgNo": "5565463717", "partnerData": [ { "custNo": "123456", "id": "DHLROAD", "infoCode": null }, { "custNo": "1051051058", "id": "PLAB", "infoCode": null } ], "postalAddress": { "addition": "addtion", "address1": "Address 1", "address2": "Address 2", "city": "GOTHENBURG", "contact": "Contact", "country": "SE", "doorCode": "1234", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "state": "", "zipcode": "44444" }, "profileGroup": "Test", "quickId": "TEST", "route": "route", "typeCode1": "type code 1", "typeCode2": "type code 2", "typeCode3": "type code 3", "typeNo1": 1, "typeNo2": 2, "typeNo3": 3, "vatNo": "SE556546371701" } ] } 400: description: > Returned for missing or illegal arguments. Missing receiver id argument. Invalid data. Missing receiver. body: application/json: schema: error example: | { "code": "MISSING_ARG", "message": "Missing arguments. Receiver id, quickId, or since (a date) and page is required." } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create a new receiver in the address book. Returns the created receiver id or an error message if something went wrong. queryParameters: body: application/json: schema: senderReceiverListData example: | { "accounts": [ { "account": "900-2031", "referenceType": "Test", "type": "BGTXT" } ], "defaultCodReference": "cod ref", "defaultMailTemplate": "mail template", "defaultRcvReference": "rcv ref", "defaultSndReference": "snd ref", "deliveryAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "Gothenburg", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "quickId": "1", "state": "", "zipcode": "44444" }, "freeText1": "free 1", "freeText2": "free 2", "freeText3": "free 3", "freeText4": "free 4", "ibanAccount": { "account": "SE3550000000054910000003", "bic": "DABAIE2D" }, "invoiceAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "Gothenburg", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "quickId": "1", "state": "", "zipcode": "44444" }, "orgNo": "5565463717", "partnerData": [ { "custNo": "123456", "id": "DHLROAD" }, { "custNo": "1051051058", "id": "PLAB" } ], "postalAddress": { "addition": "addtion", "address1": "Address 1", "address2": "Address 2", "city": "Gothenburg", "contact": "Contact", "country": "SE", "doorCode": "1234", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "quickId": "1", "state": "", "zipcode": "44444" }, "profileGroup": "test", "quickId": "TEST", "route": "route", "typeCode1": "type code 1", "typeCode2": "type code 2", "typeCode3": "type code 3", "typeNo1": "1", "typeNo2": "2", "typeNo3": "3", "vatNo": "SE556546371701" } responses: 200: description: > Returns the created AddressResponseData when a receiver is successfully created. body: application/json: schema: addressResponseData example: | { "href": "https://api.unifaun.com/ufoweb-prod-202112131037/rs-extapi/v1/addresses/receiver/1648032", "id": 1648032, "quickId": "TEST2", "profileGroup": "INTRO", "created": "2015-06-03T13:18:30.904+0000", "changed": "2015-06-03T13:18:30.904+0000", } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing receiver argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Failed to import receivers" } # Receivers / /receivers/{receiverId}: uriParameters: receiverId: displayName: Receiver ID type: string description: The ID of a receiver. required: true delete: securedBy: [bearerToken, basicAuth] is: [secured] description: > Delete a receiver. The receiver will be completely deleted from the system when this call returns successfully. No further operation will be possible on the ID of the receiver. responses: 204: description: > No response body returned when a receiver is successfully deleted. body: application/json: !!null 400: description: > Missing receiver id argument. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing receiver id argument" } 404: description: > Receiver not found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } put: securedBy: [bearerToken, basicAuth] is: [secured] description: > Update a receiver by replacing it. body: application/json: schema: senderReceiverData example: | { "accounts": [], "defaultCodReference": "cod ref", "defaultMailTemplate": "mail template", "defaultRcvReference": "rcv ref", "defaultSndReference": "snd ref", "deliveryAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "GOTHENBURG", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "state": "", "zipcode": "44444" }, "freeText1": "free 1", "freeText2": "free 2", "freeText3": "free 3", "freeText4": "free 4", "ibanAccount": null, "id": 893290, "invoiceAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "GOTHENBURG", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "state": "", "zipcode": "44444" }, "orgNo": "5565463717", "partnerData": [ { "custNo": "123456", "id": "DHLROAD", "infoCode": null }, { "custNo": "1051051058", "id": "PLAB", "infoCode": null } ], "postalAddress": { "addition": "addtion", "address1": "Address 1", "address2": "Address 2", "city": "GOTHENBURG", "contact": "Contact", "country": "SE", "doorCode": "1234", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "state": "", "zipcode": "44444" }, "profileGroup": "Test", "quickId": "TEST", "route": "route", "typeCode1": "type code 1", "typeCode2": "type code 2", "typeCode3": "type code 3", "typeNo1": 1, "typeNo2": 2, "typeNo3": 3, "vatNo": "SE556546371701" } responses: 204: description: > Returns the created AddressResponseData when a receiver is successfully updated. body: application/json: schema: addressResponseData example: | { "href": "https://api.unifaun.com/ufoweb-prod-202112131037/rs-extapi/v1/addresses/receiver/1648032", "id": 1648032, "quickId": "TEST2", "profileGroup": "INTRO", "created": "2015-06-03T13:18:30.904+0000", "changed": "2015-06-03T13:18:30.904+0000", } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing receiver id argument" } 404: description: > Returned when the receiver could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } patch: securedBy: [bearerToken, basicAuth] is: [secured] description: > Update a receiver. body: application/json: schema: senderReceiverData example: | { "accounts": [ { "account": "900-2031", "referenceType": "Test", "type": "BGTXT" } ], "defaultCodReference": "cod ref", "defaultMailTemplate": "mail template", "defaultRcvReference": "rcv ref", "defaultSndReference": "snd ref", "deliveryAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "Gothenburg", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "quickId": "1", "state": "", "zipcode": "44444" }, "freeText1": "free 1", "freeText2": "free 2", "freeText3": "free 3", "freeText4": "free 4", "ibanAccount": { "account": "SE3550000000054910000003", "bic": "DABAIE2D" }, "invoiceAddress": { "addition": "addtion", "careOf": "c/o name", "address1": "Address 1", "address2": "Address 2", "city": "Gothenburg", "contact": "Contact", "country": "SE", "doorCode": "1234", "residential": "true", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "quickId": "1", "state": "", "zipcode": "44444" }, "orgNo": "5565463717", "partnerData": [ { "custNo": "123456", "id": "DHLROAD" }, { "custNo": "1051051058", "id": "PLAB" } ], "postalAddress": { "addition": "addtion", "address1": "Address 1", "address2": "Address 2", "city": "Gothenburg", "contact": "Contact", "country": "SE", "doorCode": "1234", "email": "test@test.com", "fax": "04444444", "houseNumber": "", "mobile": "0777777777", "name": "name", "phone": "0311111111", "quickId": "1", "state": "", "zipcode": "44444" }, "profileGroup": "test", "quickId": "TEST", "route": "route", "typeCode1": "type code 1", "typeCode2": "type code 2", "typeCode3": "type code 3", "typeNo1": "1", "typeNo2": "2", "typeNo3": "3", "vatNo": "SE556546371701" } responses: 204: description: > Returns the created AddressResponseData when a receiver is successfully updated. body: application/json: schema: addressResponseData example: | { "href": "https://api.unifaun.com/ufoweb-prod-202112131037/rs-extapi/v1/addresses/receiver/1648032", "id": 1648032, "quickId": "TEST2", "profileGroup": "INTRO", "created": "2015-06-03T13:18:30.904+0000", "changed": "2015-06-03T13:18:30.904+0000", } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing receiver id argument" } 404: description: > Returned when the receiver could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Meta /meta: # Lists /lists: # Partners /partners: # Partners / get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a list of meta data about partners and their services. Use the query parameters to filter which partners and services will be returned in the list. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/code-lists-api.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Store** license key. queryParameters: language: displayName: language type: string description: The language code to use for any description texts. enum: [ sv, en, fi, da, no ] required: false favorite: displayName: favorite type: string description: The name of a print favorite to use. Any filters configured in the favorite will be applied to the result of this call. required: false responses: 200: body: application/json: schema: metaListPartnerList example: | [{ "id": "P19", "carrierPortalId": "00000000-0000-0000-0000-0000000001c7", "servicePortalId": "00000000-0000-0000-0000-00000000172a", "subId": null, "description": "PostNord MyPack Collect", "uniqueDescription": "PostNord MyPack Collect", "printSet": [ "LABEL" ], "addons": [ { "id": "COD", "description": "COD", "routes": [ { "from": [ "SE" ], "to": [ "DK" ] }, { "from": [ "PR", "PS", "PT", "PW", "PY", "QA", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", "AT", "RE", "AU", "AW", "AX", "AZ", "RO", "BA", "BB", "RS", "BD", "BE", "RU", "BF", "BG", "RW", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "SA", "SB", "BR", "SC", "BS", "SD", "SE", "BT", "SG", "BV", "BW", "SH", "SI", "BY", "SJ", "SK", "BZ", "SL", "SM", "SN", "SO", "CA", "SR", "CC", "SS", "ST", "CD", "CF", "SV", "CG", "CH", "SX", "CI", "SY", "SZ", "CK", "CL", "CM", "CN", "CO", "CR", "TC", "TD", "CU", "TF", "CV", "TG", "TH", "CW", "CX", "CY", "TJ", "CZ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "DE", "TV", "TW", "DJ", "TZ", "DK", "DM", "DO", "UA", "UG", "DZ", "UM", "US", "EC", "EE", "EG", "EH", "UY", "UZ", "VA", "ER", "VC", "ES", "ET", "VE", "VG", "VI", "VN", "VU", "FI", "FJ", "FK", "FM", "FO", "FR", "WF", "GA", "GB", "WS", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "XK", "HK", "HM", "HN", "HR", "HT", "YE", "HU", "ID", "YT", "IE", "IL", "IM", "IN", "IO", "ZA", "IQ", "IR", "IS", "IT", "ZM", "JE", "ZW", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN" ], "to": [ "NO", "SE", "FI", "AX" ] } ], "values": [ { "id": "amount", "description": "Amount", "dataType": "number", "validValues": null }, { "id": "account", "description": "Account", "dataType": "string", "validValues": null }, { "id": "accountType", "description": "Account type", "dataType": "string", "validValues": null }, { "id": "bank", "description": "Bank", "dataType": "string", "validValues": null }, { "id": "currencyCode", "description": "Valuta", "dataType": "string", "validValues": null }, { "id": "reference", "description": "Payment reference", "dataType": "string", "validValues": null } ] }, { "id": "ID", "description": "ID Check", "routes": [ { "from": [ "SE" ], "to": [ "NO" ] } ], "values": null }, { "id": "NOTEMAIL", "description": "Notification by e-mail", "routes": null, "values": [ { "id": "misc", "description": "E-mail address", "dataType": "string", "validValues": null } ] }, { "id": "NOTSMS", "description": "Notification by sms", "routes": null, "values": [ { "id": "misc", "description": "Sms number", "dataType": "string", "validValues": null } ] }, { "id": "NOTLTR", "description": "Notification by Letter", "routes": [ { "from": [ "PR", "PS", "PT", "PW", "PY", "QA", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", "AT", "RE", "AU", "AW", "AX", "AZ", "RO", "BA", "BB", "RS", "BD", "BE", "RU", "BF", "BG", "RW", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "SA", "SB", "BR", "SC", "BS", "SD", "SE", "BT", "SG", "BV", "BW", "SH", "SI", "BY", "SJ", "SK", "BZ", "SL", "SM", "SN", "SO", "CA", "SR", "CC", "SS", "ST", "CD", "CF", "SV", "CG", "CH", "SX", "CI", "SY", "SZ", "CK", "CL", "CM", "CN", "CO", "CR", "TC", "TD", "CU", "TF", "CV", "TG", "TH", "CW", "CX", "CY", "TJ", "CZ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "DE", "TV", "TW", "DJ", "TZ", "DK", "DM", "DO", "UA", "UG", "DZ", "UM", "US", "EC", "EE", "EG", "EH", "UY", "UZ", "VA", "ER", "VC", "ES", "ET", "VE", "VG", "VI", "VN", "VU", "FI", "FJ", "FK", "FM", "FO", "FR", "WF", "GA", "GB", "WS", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "XK", "HK", "HM", "HN", "HR", "HT", "YE", "HU", "ID", "YT", "IE", "IL", "IM", "IN", "IO", "ZA", "IQ", "IR", "IS", "IT", "ZM", "JE", "ZW", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN" ], "to": [ "PR", "PS", "PT", "PW", "PY", "QA", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", "AT", "RE", "AU", "AW", "AX", "AZ", "RO", "BA", "BB", "RS", "BD", "BE", "RU", "BF", "BG", "RW", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "SA", "SB", "BR", "SC", "BS", "SD", "SE", "BT", "SG", "BV", "BW", "SH", "SI", "BY", "SJ", "SK", "BZ", "SL", "SM", "SN", "SO", "CA", "SR", "CC", "SS", "ST", "CD", "CF", "SV", "CG", "CH", "SX", "CI", "SY", "SZ", "CK", "CL", "CM", "CN", "CO", "CR", "TC", "TD", "CU", "TF", "CV", "TG", "TH", "CW", "CX", "CY", "TJ", "CZ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "DE", "TV", "TW", "DJ", "TZ", "DM", "DO", "UA", "UG", "DZ", "UM", "US", "EC", "EE", "EG", "EH", "UY", "UZ", "VA", "ER", "VC", "ES", "ET", "VE", "VG", "VI", "VN", "VU", "FJ", "FK", "FM", "FO", "FR", "WF", "GA", "GB", "WS", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "XK", "HK", "HM", "HN", "HR", "HT", "YE", "HU", "ID", "YT", "IE", "IL", "IM", "IN", "IO", "ZA", "IQ", "IR", "IS", "IT", "ZM", "JE", "ZW", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN" ] } ], "values": null }, { "id": "PUPOPT", "description": "Optional Service Point", "routes": [ { "from": [ "NO", "SE", "DK" ], "to": [ "NO", "SE", "FI", "AX", "DK" ] } ], "values": null }, { "id": "RETNEXT7", "description": "Fixed retention time 7 days", "routes": [ { "from": [ "SE" ], "to": [ "NO", "SE" ] } ], "values": null }, { "id": "PRENOT", "description": "Delivery Advice", "routes": [ { "from": [ "SE" ], "to": [ "SE" ] } ], "values": [ { "id": "text3", "description": "Sms number", "dataType": "string", "validValues": null }, { "id": "text4", "description": "E-mail address", "dataType": "string", "validValues": null } ] }, { "id": "IDCHK", "description": "Extended ID-verification", "routes": [ { "from": [ "SE" ], "to": [ "SE" ] } ], "values": [ { "id": "text1", "description": "Social security number", "dataType": "string", "validValues": null } ] }, { "id": "INSU", "description": "Insurance", "routes": null, "values": [ { "id": "amount", "description": "Amount", "dataType": "number", "validValues": null }, { "id": "currencyCode", "description": "Valuta", "dataType": "string", "validValues": [ "SEK" ] }, { "id": "confirmation", "description": "I want to receive a proof of insurance to the following e-mail address", "dataType": "boolean", "validValues": null }, { "id": "confirmationMisc", "description": null, "dataType": "string", "validValues": null } ] }, { "id": "GREEN", "description": "Climate Compensation", "routes": null, "values": null }, { "id": "AGECHK", "description": "Age check", "routes": null, "values": [ { "id": "misc", "description": "Age", "dataType": "string", "validValues": [ "16", "18", "20" ] } ] }, { "id": "NOBOX", "description": "Not parcel locker", "routes": [ { "from": [ "PR", "PS", "PT", "PW", "PY", "QA", "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", "AT", "RE", "AU", "AW", "AX", "AZ", "RO", "BA", "BB", "RS", "BD", "BE", "RU", "BF", "BG", "RW", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "SA", "SB", "BR", "SC", "BS", "SD", "SE", "BT", "SG", "BV", "BW", "SH", "SI", "BY", "SJ", "SK", "BZ", "SL", "SM", "SN", "SO", "CA", "SR", "CC", "SS", "ST", "CD", "CF", "SV", "CG", "CH", "SX", "CI", "SY", "SZ", "CK", "CL", "CM", "CN", "CO", "CR", "TC", "TD", "CU", "TF", "CV", "TG", "TH", "CW", "CX", "CY", "TJ", "CZ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "DE", "TV", "TW", "DJ", "TZ", "DK", "DM", "DO", "UA", "UG", "DZ", "UM", "US", "EC", "EE", "EG", "EH", "UY", "UZ", "VA", "ER", "VC", "ES", "ET", "VE", "VG", "VI", "VN", "VU", "FI", "FJ", "FK", "FM", "FO", "FR", "WF", "GA", "GB", "WS", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "XK", "HK", "HM", "HN", "HR", "HT", "YE", "HU", "ID", "YT", "IE", "IL", "IM", "IN", "IO", "ZA", "IQ", "IR", "IS", "IT", "ZM", "JE", "ZW", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN" ], "to": [ "SE" ] } ], "values": null } ], "options": [ { "id": "ENOT", "description": "Prenotification (Email)", "routes": null, "values": [ { "id": "from", "description": "From", "dataType": "string", "validValues": null }, { "id": "to", "description": "To", "dataType": "string", "validValues": null }, { "id": "cc", "description": "Cc", "dataType": "string", "validValues": null }, { "id": "bcc", "description": "Bcc", "dataType": "string", "validValues": null }, { "id": "errorTo", "description": "Error", "dataType": "string", "validValues": null }, { "id": "message", "description": "Message", "dataType": "string", "validValues": null }, { "id": "languageCode", "description": "Language", "dataType": "string", "validValues": null }, { "id": "mailTemplate", "description": "Template", "dataType": "string", "validValues": null } ] }, { "id": "LNKPRTN", "description": "Link to print (normal)", "routes": null, "values": [ { "id": "from", "description": "From", "dataType": "string", "validValues": null }, { "id": "to", "description": "To", "dataType": "string", "validValues": null }, { "id": "cc", "description": "Cc", "dataType": "string", "validValues": null }, { "id": "bcc", "description": "Bcc", "dataType": "string", "validValues": null }, { "id": "errorTo", "description": "Error", "dataType": "string", "validValues": null }, { "id": "message", "description": "Message", "dataType": "string", "validValues": null }, { "id": "languageCode", "description": "Language", "dataType": "string", "validValues": null }, { "id": "sendEmail", "description": "Send Email", "dataType": "boolean", "validValues": null }, { "id": "mailTemplate", "description": "Template", "dataType": "string", "validValues": null } ] }, { "id": "LNKPRTR", "description": "Link to print (return)", "routes": null, "values": [ { "id": "from", "description": "From", "dataType": "string", "validValues": null }, { "id": "to", "description": "To", "dataType": "string", "validValues": null }, { "id": "cc", "description": "Cc", "dataType": "string", "validValues": null }, { "id": "bcc", "description": "Bcc", "dataType": "string", "validValues": null }, { "id": "errorTo", "description": "Error", "dataType": "string", "validValues": null }, { "id": "message", "description": "Message", "dataType": "string", "validValues": null }, { "id": "languageCode", "description": "Language", "dataType": "string", "validValues": null }, { "id": "sendEmail", "description": "Send Email", "dataType": "boolean", "validValues": null }, { "id": "mailTemplate", "description": "Template", "dataType": "string", "validValues": null } ] } ], "packageCodes": null, "routes": [ { "from": [ "NO" ], "to": [ "NO" ] }, { "from": [ "SE" ], "to": [ "NO", "SE", "FI", "AX", "DK" ] }, { "from": [ "DK" ], "to": [ "SE", "DK" ] } ], "supportsStatuses": true, "supportsPriceEnquiry": false, "sender": { "valid": true, "description": "Sender" }, "dispatch": { "valid": false, "description": "Dispatch address" }, "receiver": { "valid": true, "description": "Receiver" }, "delivery": { "valid": false, "description": "Delivery address" }, "returnPart": { "valid": true, "description": "Return address" }, "freightPayer": { "valid": false, "description": "Payer, freight" }, "taxPayer": { "valid": false, "description": "Payer, tax" }, "customsPayer": { "valid": false, "description": "Customs payer" } }] 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Agents /agents: # Agents / post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create a new agent list. If the new agent list should be activated immediately on successful import set activate to "true". There is two types of import; "normal" that build geolocation data if present, "zipcode" that require a agentZipcode array for each agent. Please note that if "enabled" is set to false on a specific agent the agent is removed when importing the list and can't be exported via the GUI afterwards. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7569877231900-Agents queryParameters: body: application/json: schema: agentListImport example: | { "key": "listkey", "activate": "true", "type": "zipcode", "countryCode": "SE", "agents": [{ "id": "1", "name": "Agent name 1", "address1": "Test gatan 1", "address2": "", "zipcode": "41118", "city": "Göteborg", "state": "", "country": "SE", "mapLongitude": "22.2", "mapLatitude": "11.1", "phone": "07443332211", "email": "test@test.com", "additionalInfo": "Additional information", "flags": ["express", "hem"], "agentZipcodes": [ { "from": "40000", "to": "45000" }, { "from": "46000", "to": "" } ], "openingHourWeekdays": [{ "weekday": "monday", "hours": [{ "start": "08:00", "stop": "22:00" }] }, { "weekday": "tuesday", "hours": [{ "start": "08:00", "stop": "22:00" }] }, { "weekday": "wednesday", "hours": [{ "start": "08:00", "stop": "22:00" }] }, { "weekday": "thursday", "hours": [{ "start": "08:00", "stop": "22:00" }] }, { "weekday": "friday", "hours": [{ "start": "08:00", "stop": "22:00" }] }, { "weekday": "saturday", "hours": [{ "start": "08:00", "stop": "22:00" }] }, { "weekday": "sunday", "hours": [ { "start": "08:00", "stop": "22:00" }] } ], "openingHourSpecialDays": [{ "date": "2018-04-27", "hours": [ { "start": "10:00", "stop": "16:00" }] }, { "date": "2018-04-28", "hours": [ { "start": "10:00", "stop": "16:00" }] }, { "date": "2018-10-10", "hours": [ { "start": "10:00", "stop": "16:00" }] } ] } ] } responses: 200: body: application/json: schema: | { "id": "number" } example: | { "id": "11111" } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing agent list argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Failed to import agents" } get: securedBy: [bearerToken, basicAuth] is: [secured] description: > List all agent lists. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7569877231900-Agents queryParameters: responses: 200: body: application/json: schema: | { "type": "array", "items": { "type": "object", "required": [ "id", "type", "name" ], "properties": { "id": "number", "name": "string", "active": "boolean", "status": "string", "created": { "type": "string", "format": "date-time" } } } } example: | [{ "id": "11111", "name": "listkey", "active": true, "status": "OK", "created": "2021-05-19T14:08:00.179+0000" }] 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Failed to list agent lists" } # Agents / /{id}: uriParameters: id: displayName: Agent list id type: string description: The ID of an agent list. required: true post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Activates an agent list. The agent list will be activated when this call returns successfully. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7569877231900-Agents This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Store** license key. responses: 204: description: > No response body returned when an agent list is successfully activated. body: application/json: !!null 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing agent list id argument" } 404: description: > Returned when the agent list to activate could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } delete: securedBy: [bearerToken, basicAuth] is: [secured] description: > Delete an agent list. The agent list will be completely deleted from the system when this call returns successfully. No further operation will be possible on the ID of the agent list. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7569877231900-Agents This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Store** license key. responses: 204: description: > No response body returned when an agent list is successfully deleted. body: application/json: !!null 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing agent list id argument" } 404: description: > Returned when the agent list to delete could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Stored Shipments /stored-shipments: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a list of stored shipments information. Use the query parameters to filter which stored shipments will be returned in the list. Please note that a maxium of 50 stored shipments will be returned. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/stored-shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Store** license key. queryParameters: searchField: displayName: searchField type: string description: The field to search in. enum: [ orderNo, reference, shipmentNo ] required: false searchOp: displayName: searchOp type: string description: The operator used on the field. enum: [ equals, contains, startsWith, endsWith ] required: false searchValue: displayName: searchValue type: string description: The value to search for in the field required: false dateType: displayName: dateType type: string description: The type of date to filter on. Must be used in combination with dateFrom and dateTo. enum: [ created, ship ] required: false dateFrom: displayName: dateFrom type: string description: The lower limit of a date interval to filter on. Must be used in combination with dateType and dateTo. Must be in ISO-8601 date format, for example 2020-01-01T01:00:00+00:00 required: false dateTo: displayName: dateTo type: string description: The upper limit of a date interval to filter on. Must be used in combination with dateType and dateFrom. Must be in ISO-8601 date format, for example 2020-02-01T01:00:00+00:00 required: false status: displayName: status type: string description: The status value to filter on. enum: [ ready, invalid, failed, warned ] required: false responses: 200: body: application/json: schema: storedShipmentInfoList example: | [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/stored-shipments/4127538", "id": "4127538", "sndName": "nShift Gbg", "sndZipcode": "41121", "sndCity": "GÖTEBORG", "sndCountry": "SE", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "P15", "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "normalShipment": true, "returnShipment": false, "status": "READY", "shipDate": "2015-06-02T14:05:56.342+0000", "created": "2015-06-02T14:05:56.569+0000", "changed": "2015-06-02T14:05:56.569+0000", "statuses": null, "addons": "[NOTSMS]" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "ILLEGAL", "message": "Illegal search field argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create a new stored shipment. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/stored-shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Store** license key. body: application/json: schema: shipment example: | { "sender": { "quickId": "1", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE", "phone": "+46 31 725 35 00", "email": "email1@example.com" }, "receiver": { "name": "nShift Sthm", "address1": "Tegnérgatan 34", "zipcode": "11359", "city": "STOCKHOLM", "country": "SE", "phone": "+46 8 34 35 15", "email": "email2@example.com" }, "service": { "id": "P15" }, "parcels": [{ "copies": "1", "weight": "37.5", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "senderReference": "sender ref 234", "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] } responses: 201: body: application/json: schema: storedShipmentInfo example: | { "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/stored-shipments/4127538", "id": "4127538", "sndName": "nShift Gbg", "sndZipcode": "41121", "sndCity": "GÖTEBORG", "sndCountry": "SE", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "P15", "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "normalShipment": true, "returnShipment": false, "status": "READY", "shipDate": "2015-06-02T14:05:56.342+0000", "created": "2015-06-02T14:05:56.569+0000", "changed": "2015-06-02T14:05:56.569+0000", "statuses": [{ "message": "maximum value (35) exceeded", "messageCode": "MaximumFlt", "field": "ParcelGroup_Weight", "location": "ParcelGroupWeight", "type": "ignorable" }], "addons": "[NOTSMS]" } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment data in body" } 422: description: > Returned when the shipment data in the body could not be processed to create a stored shipment. body: application/json: 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Stored Shipments / /{storedId}: uriParameters: storedId: displayName: Stored Shipment ID type: string description: The ID of a stored shipment. required: true delete: securedBy: [bearerToken, basicAuth] is: [secured] description: > Delete a stored shipment. The stored shipment will be completely deleted from the system when this call returns successfully. No further operation will be possible on the ID of the stored shipment. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/stored-shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Store** license key. responses: 204: description: > No response body returned when a consolidated shipment is successfully deleted. body: application/json: !!null 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing stored shipment id argument" } 404: description: > Returned when the stored shipment to delete could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } put: securedBy: [bearerToken, basicAuth] is: [secured] description: > Update a stored shipment by replacing it. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/stored-shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Store** license key. body: application/json: schema: shipment example: | { "sender": { "quickId": "1", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE", "phone": "+46 31 725 35 00", "email": "email1@example.com" }, "receiver": { "name": "nShift Sthm", "address1": "Tegnérgatan 34", "zipcode": "11359", "city": "STOCKHOLM", "country": "SE", "phone": "+46 8 34 35 15", "email": "email2@example.com" }, "service": { "id": "P15" }, "parcels": [{ "copies": "1", "weight": "37.5", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "senderReference": "sender ref 234", "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] } responses: 200: body: application/json: schema: storedShipmentInfo example: | { "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/stored-shipments/4127538", "id": "4127538", "sndName": "nShift Gbg", "sndZipcode": "41121", "sndCity": "GÖTEBORG", "sndCountry": "SE", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "P15", "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "normalShipment": true, "returnShipment": false, "status": "READY", "shipDate": "2015-06-02T14:05:56.342+0000", "created": "2015-06-02T14:05:56.569+0000", "changed": "2015-06-02T14:05:56.569+0000", "statuses": [{ "message": "maximum value (35) exceeded", "messageCode": "MaximumFlt", "field": "ParcelGroup_Weight", "location": "ParcelGroupWeight", "type": "ignorable" }], "addons": "[NOTSMS]" } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment data in body" } 404: description: > Returned when no stored shipment was updated. body: application/json: 422: description: > Returned when the shipment data in the body could not be processed to create a stored shipment. body: application/json: 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get a single stored shipment. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/stored-shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. responses: 200: body: application/json: schema: shipment example: | { "sender": { "quickId": "1", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE", "phone": "+46 31 725 35 00", "email": "email1@example.com" }, "senderPartners": [{ "id": "PLAB", "custNo": "XX" }], "receiver": { "name": "nShift Sthm", "address1": "Tegnérgatan 34", "zipcode": "11359", "city": "STOCKHOLM", "country": "SE", "phone": "+46 8 34 35 15", "email": "email2@example.com" }, "service": { "id": "P15" }, "parcels": [{ "copies": "1", "weight": "37.5", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "senderReference": "sender ref 234", "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing prepared id argument" } 404: description: > Returned when the prepared shipment could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Stored Shipments / / Shipments /shipments: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create one or more shipments from a stored shipment. A successful call to this entry point can result in either a shipment or a consolidated shipment. Use the *`consolidated`* value in the result to check what type of object was created. Multiple shipments can be created if the stored shipment represent a combined normal and return shipment. PDF or ZPL documents will be created according to the provided print configuration. Please note that the generated documents will only be available for 1 hour. By default the documents have to be requested from the URL contained in the *`href`* value of *`prints`* objects in the result. As an option the PDF or ZPL documents can be inline in the *`data`* object in the result *`print`* array. The *`print.data`* object is encoded in base64. To activate this option include a query parameter named *`returnFile`* with the value set to *`true`*. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/stored-shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** license key. body: application/json: schema: printConfig example: | { "target1Media": "thermo-250", "target1Type": "zpl", "target1XOffset": 0.0, "target1YOffset": 0.0, "target1Options": [{ "key": "mode", "value": "DT" }], "target2Media": "laser-a4", "target2Type": "pdf", "target2XOffset": 0.0, "target2YOffset": 0.0, "target3Media": null, "target3XOffset": 0.0, "target3YOffset": 0.0, "target4Media": null, "target4XOffset": 0.0, "target4YOffset": 0.0 } responses: 201: body: application/json: schema: shipmentInfo example: | [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666303", "id": "5666303", "sndName": "nShift Gbg", "sndZipcode": "41121", "sndCity": "GÖTEBORG", "sndCountry": "SE", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "P15", "shipmentNo": null, "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "parcels": [{ "parcelNo": "69563053687SE", "reference": null }], "normalShipment": false, "returnShipment": false, "consolidated": false, "status": "PRINTED", "shipDate": "2015-06-02T14:05:56.342+0000", "created": "2015-06-02T14:05:56.569+0000", "changed": "2015-06-02T14:05:56.569+0000", "prints": [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666303/prints/10234334", "id": "10234334", "type": "zpl", "description": "Label" }], "previousPrints": null, "addons": "[NOTSMS]" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing stored shipment id argument" } 422: description: > Returned when the stored shipment could not be converted to a shipment. The reason for this could be an invalid print configuration or a stored shipment with status other than READY. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Consolidated Shipments /consolidated-shipments: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a list of open consolidated shipments. Use the query parameters to filter which consolidated shipments will be returned in the list. Please note that a maxium of 50 consolidated shipments will be returned. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/consolidated-shipments.html This service requires a license for the **APIConnect** and **Consolidation** functions that can be purchased from nShift webshop. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** and **Consolidation** license keys. queryParameters: searchField: displayName: searchField type: string description: The field to search in. enum: [ orderNo, reference, shipmentNo ] required: false searchOp: displayName: searchOp type: string description: The operator used on the field. enum: [ equals, contains, startsWith, endsWith ] required: false searchValue: displayName: searchValue type: string description: The value to search for in the field required: false dateType: displayName: dateType type: string description: The type of date to filter on. Must be used in combination with dateFrom and dateTo. enum: [ created, ship ] required: false dateFrom: displayName: dateFrom type: string description: The lower limit of a date interval to filter on. Must be used in combination with dateType and dateTo. Must be in ISO-8601 date format, for example, 2020-01-01T01:00:00+00:00 required: false dateTo: displayName: dateTo type: string description: The upper limit of a date interval to filter on. Must be used in combination with dateType and dateFrom. Must be in ISO-8601 date format, for example, 2020-02-01T01:00:00+00:00 required: false status: displayName: status type: string description: The status value to filter on. enum: [ ready, invalid, failed, warned ] required: false responses: 200: body: application/json: schema: shipmentInfoList example: | [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/consolidated-shipments/4127561", "id": "4127561", "sndName": "nShift Gbg", "sndCity": "GÖTEBORG", "sndZipcode": "41121", "sndCountry": "SE", "sndQuickId": "1", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "BPA", "shipmentNo": "6047287948", "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "status": "PRINTED", "parcels": [{ "parcelNo": "373325380623722154", "reference": null }], "normalShipment": false, "returnShipment": false, "consolidated": true, "shipDate": "2015-06-08T14:32:58.000+0000", "created": "2015-06-08T14:32:58.000+0000", "changed": "2015-06-08T14:32:58.000+0000", "prints": [{ "id": "10234540", "type": "pdf", "description": "Label", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/consolidated-shipments/4127561/prints/10234540" }], "previousPrints": [], "addons": "[NOTSMS]" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "ILLEGAL", "message": "Illegal search field argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create a new consolidated shipment. To create a consolidated shipment, the values in the shipment data of the request body must fulfill the specific requirements of the shipment's service. If this isn't the case no consolidated shipment will be created and a list of validation errors will be returned instead. To actually create a consolidated shipment the values supplied in the request body must include an *`option`* object with id *`CONSOLIDATE`*. Otherwise a normal shipment will be created instead. To check that a consolidated shipment was created look at the *`consolidated`* value in the result of a successful call. PDF or ZPL documents will be created according to the provided print configuration. Please note that the generated documents will only be available for 1 hour. By default the documents have to be requested from the URL contained in the *`href`* value of *`prints`* objects in the result. As an option the PDF or ZPL documents can be inline in the *`data`* object in the result *`print`* array. The *`print.data`* object is encoded in base64. To activate this option include a query parameter named *`returnFile`* with the value set to *`true`*. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/consolidated-shipments.html This service requires a license for the **APIConnect** and **Consolidation** functions that can be purchased from nShift webshop. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** and **Consolidation** license keys. body: application/json: schema: shipmentConsolidatePrint example: | { "printConfig": { "target1Media": "thermo-250", "target1Type": "zpl", "target1XOffset": 0, "target1YOffset": 0, "target1Options": [{ "key": "mode", "value": "DT" }], "target2Media": "laser-a4", "target2Type": "pdf", "target2XOffset": 0, "target2YOffset": 0, "target3Media": null, "target3Type": null, "target3XOffset": 0, "target3YOffset": 0, "target4Media": null, "target4Type": null, "target4XOffset": 0, "target4YOffset": 0 }, "shipment": { "sender": { "phone": "+46 31 725 35 00", "email": "email1@example.com", "quickId": "1", "zipcode": "41121", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "country": "SE", "city": "GÖTEBORG" }, "parcels": [{ "copies": "1", "weight": "2.75", "contents": "important things", "valuePerParcel": true, "volume": "0.12", "packageCode": "PC" }], "orderNo": "order number 123", "receiver": { "phone": "+46 8 34 35 15", "email": "email2@example.com", "zipcode": "11359", "name": "nShift Sthm", "address1": "Tegnérgatan 34", "country": "SE", "city": "STOCKHOLM" }, "senderReference": "sender ref 234", "service": { "id": "BPA" }, "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }, { "id": "CONSOLIDATE", "sendEmail": false, "key": "testapi1" }] } } responses: 201: body: application/json: schema: shipmentInfoList example: | [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/consolidated-shipments/4127561", "id": "4127561", "sndName": "nShift Gbg", "sndCity": "GÖTEBORG", "sndZipcode": "41121", "sndCountry": "SE", "sndQuickId": "1", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "BPA", "shipmentNo": "6047287948", "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "status": "PRINTED", "parcels": [{ "parcelNo": "373325380623722154", "reference": null }], "normalShipment": false, "returnShipment": false, "consolidated": true, "shipDate": "2015-06-08T14:32:58.000+0000", "created": "2015-06-08T14:32:58.000+0000", "changed": "2015-06-08T14:32:58.000+0000", "prints": [{ "id": "10234540", "type": "zpl", "description": "Label", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/consolidated-shipments/4127561/prints/10234540" }], "previousPrints": [], "addons": "[NOTSMS]" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment consolidate print request body" } 422: description: > Returned when a shipment could not be created from the body data. The reason for this could be an invalid PDF configuration or shipment data with validation errors. body: application/json: schema: statusList example: | [{ "message": "maximum value (35) exceeded", "messageCode": "MaximumFlt", "field": "ParcelGroup_Weight", "location": "ParcelGroupWeight", "type": "ignorable" }, { "message": "Not valid postal code", "messageCode": "ZipCode", "field": "Address_Zipcode", "location": "", "type": "error" }] 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Consolidated Shipments / /{consolidatedId}/parcel/{partOrderNo}: uriParameters: consolidatedId: displayName: Consolidated Shipment ID type: string description: The ID of a consolidated shipment. required: true partOrderNo: displayName: Part Order No type: string description: The order no of a parcel group. required: true delete: securedBy: [bearerToken, basicAuth] is: [secured] description: > Delete a parcel group on a consolidated shipment. The matching consolidated parcel group will be removed from the system after a successful call to this entry point. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/consolidated-shipments.html This service requires a license for the **APIConnect** and **Consolidation** functions that can be purchased from nShift webshop. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Discard** and **Consolidation** license keys. responses: 204: body: application/json: !!null 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment id argument" } 404: description: > Returned when the part order no to delete could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Consolidated Shipments / /{consolidatedId}: uriParameters: consolidatedId: displayName: Consolidated Shipment ID type: string description: The ID of a consolidated shipment. required: true delete: securedBy: [bearerToken, basicAuth] is: [secured] description: > Delete a consolidated shipment. The consolidated shipment will be removed from the system after a successful call to this entry point. A cancelled shipment object will be added to shipments to represent the previously printed documents from this consolidated shipment. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/consolidated-shipments.html This service requires a license for the **APIConnect** and **Consolidation** functions that can be purchased from nShift webshop. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Discard** and **Consolidation** license keys. responses: 204: body: application/json: !!null 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment id argument" } 404: description: > Returned when the shipment to delete could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Consolidated Shipments / / PDFs /pdfs: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a list of all PDF documents for a consolidated shipment. The list of PDF documents can optionally include the PDF as a base64 encoded string if the *`inlinePdf`* query parameter is used with a value set to *`true`*. Please note that generated PDF documents are only available for 1 hour. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/consolidated-shipments.html This service requires a license for the **APIConnect** and **Consolidation** functions that can be purchased from nShift webshop. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** and **Consolidation** license keys. queryParameters: inlinePdf: displayName: inlinePdf type: boolean description: Include PDF as base64 encoded value in result. required: false responses: 200: body: application/json: schema: pdfList example: | [{ "id": "10234514", "pdf": null, "description": "Label", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666308/pdfs/10234514" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing consolidated shipment id argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Consolidated Shipments / / PDFs / /{pdfId}: uriParameters: pdfId: displayName: PDF ID type: string description: The ID of a PDF document. required: true get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a PDF document for a consolidated shipment. The PDF document is streamed as a raw binary stream from this entry point. **NOTE** Make sure the request has a correct *`Accept`* header set to *`application/pdf`*. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/consolidated-shipments.html This service requires a license for the **APIConnect** and **Consolidation** functions that can be purchased from nShift webshop. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** and **Consolidation** license keys. responses: 200: body: application/pdf: example: | A PDF file. 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment id argument" } 404: description: > Returned when the PDF could not be found. body: application/json: !!null 406: description: > Returned when the Accept header in the request doesn't match *`application/pdf`* or *`application/octet-stream`*. body: "*/*": !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Consolidated Shipments / / Prints /prints: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a list of all PDF or ZPL documents for a consolidated shipment. By default the documents have to be requested from the URL contained in the *`href`* value of *`prints`* objects in the result. As an option the PDF or ZPL documents can be inline in the *`data`* object in the result *`print`* array. The *`print.data`* object is encoded in base64. To activate this option include a query parameter named *`returnFile`* with the value set to *`true`*. There is two charset option for zpl output cp850 or UTF8, cp850 is default. Set printConfig targetOptions to key="charset" and value="cp850" or "UTF8". If you use cp850 the zpl result is in charset code page 850. If UTF8 is used the characters is written in hex code commands that the printer convert to charters. Not that even if UTF8 is used the standard font in the printer normally only support code page 850 charters. Please note that generated documents are only available for 1 hour. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/consolidated-shipments.html This service requires a license for the **APIConnect** and **Consolidation** functions that can be purchased from nShift webshop. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** and **Consolidation** license keys. queryParameters: returnFile: displayName: returnFile type: boolean description: Include document as base64 encoded value in result. required: false responses: 200: body: application/json: schema: printList example: | [{ "id": "10234514", "type": "zpl", "description": "Label", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666308/prints/10234514" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing consolidated shipment id argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create copies of all PDF and / or ZPL documents for a shipment. This endpoint will try to recreate the documents using the print configuration supplied as the body in this POST request. There is a change that the new documents could be missing information if the current version of the documents require information that is not available in the shipment. By default the documents have to be requested from the URL contained in the *`href`* value of *`prints`* objects in the result. As an option the PDF or ZPL documents can be inline in the *`data`* object in the result *`print`* array. The *`print.data`* object is encoded in base64. To activate this option include a query parameter named *`returnFile`* with the value set to *`true`*. There is two charset option for zpl output cp850 or UTF8, cp850 is default. Set printConfig targetOptions to key="charset" and value="cp850" or "UTF8". If you use cp850 the zpl result is in charset code page 850. If UTF8 is used the characters is written in hex code commands that the printer convert to characters. Not that even if UTF8 is used the standard font in the printer normally only support code page 850 charters. Please note that generated documents are only available for 1 hour. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** license key. queryParameters: returnFile: displayName: returnFile type: boolean description: Include document as base64 encoded value in result. required: false new: displayName: new type: boolean description: Setting the parameter new=true will only print non-printed parcels. New=false will print all parcels. required: false body: application/json: schema: printConfig example: | { "target1Media": "thermo-250", "target1Type": "zpl", "target1YOffset": 0, "target1XOffset": 0, "target1Options": [{ "key": "mode", "value": "DT" }], "target2Media": "laser-a4", "target2Type": "pdf", "target2YOffset": 0, "target2XOffset": 0, "target3Media": null, "target3Type": "pdf", "target3YOffset": 0, "target3XOffset": 0, "target4Media": null, "target4Type": "pdf", "target4YOffset": 0, "target4XOffset": 0 } responses: 200: body: application/json: schema: printList example: | [{ "id": "10234514", "type": "zpl", "description": "Label", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/consolidated-shipments/5666308/prints/10234514" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing consolidated id argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Consolidated Shipments / / Prints / /{printId}: uriParameters: printId: displayName: Print ID type: string description: The ID of a PDF or ZPL document. required: true get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a PDF or ZPL document for a consolidated shipment. The document is streamed as a raw binary stream from this entry point. **NOTE** Make sure the request has a correct *`Accept`* header set to *`application/pdf`* for pdf-documents or *`application/octet-stream`* for zpl-documents. There is two charset option for zpl output cp850 or UTF8, cp850 is default. Set printConfig targetOptions to key="charset" and value="cp850" or "UTF8". If you use cp850 the zpl result is in charset code page 850. If UTF8 is used the characters is written in hex code commands that the printer convert to charters. Not that even if UTF8 is used the standard font in the printer normally only support code page 850 charters. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/consolidated-shipments.html This service requires a license for the **APIConnect** and **Consolidation** functions that can be purchased from nShift webshop. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** and **Consolidation** license keys. responses: 200: body: application/pdf: example: | A PDF file. application/octet-stream: example: | A ZPL file. 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment id argument" } 404: description: > Returned when the printable document could not be found. body: application/json: !!null 406: description: > Returned when the Accept header in the request doesn't match *`application/pdf`*, *`application/octet-stream`* or *`text/plain`*. body: "*/*": !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Consolidated Shipments / / shipments /shipments: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Close an open consolidated shipment and create PDF or ZPL documents of any shipment level documents. Documents will be created according to the provided print configuration. Please note that the generated documents will only be available for 1 hour. By default the documents have to be requested from the URL contained in the *`href`* value of *`prints`* objects in the result. As an option the PDF or ZPL documents can be inline in the *`data`* object in the result *`print`* array. The *`print.data`* object is encoded in base64. To activate this option include a query parameter named *`returnFile`* with the value set to *`true`*. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/shipments.html This service requires a license for the **APIConnect** and **Consolidation** functions that can be purchased from nShift webshop. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** and **Consolidation** license keys. body: application/json: schema: printConfig example: | { "target1Media": "thermo-250", "target1Type": "zpl", "target1XOffset": 0.0, "target1YOffset": 0.0, "target1Options": [{ "key": "mode", "value": "DT" }], "target2Media": "laser-a4", "target2Type": "pdf", "target2XOffset": 0.0, "target2YOffset": 0.0, "target3Media": null, "target3XOffset": 0.0, "target3YOffset": 0.0, "target4Media": null, "target4XOffset": 0.0, "target4YOffset": 0.0 } responses: 201: body: application/json: schema: shipmentInfo example: | [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/consolidated-shipments/4127561", "id": "4127561", "sndName": "nShift Gbg", "sndCity": "GÖTEBORG", "sndZipcode": "41121", "sndCountry": "SE", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "BPA", "shipmentNo": "6047287948", "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "status": "PRINTED", "parcels": [{ "parcelNo": "373325380623722154", "reference": null }], "normalShipment": false, "returnShipment": false, "consolidated": true, "shipDate": "2015-06-08T14:32:58.000+0000", "created": "2015-06-08T14:32:58.000+0000", "changed": "2015-06-08T14:32:58.000+0000", "prints": [{ "id": "10234541", "type": "pdf", "description": "Waybill", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/consolidated-shipments/4127561/prints/10234541" }], "previousPrints": [], "addons": "[NOTSMS]" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing consolidated shipment id argument" } 422: description: > Returned when the stored shipment could not be converted to a shipment. The reason for this could be an invalid print configuration. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Consolidated Shipments / / shipments/manifest /shipments/manifest: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Close an open consolidated shipment and create PDF or ZPL documents of any shipment level documents. The difference between /consolidate-shipment//shipments is that you must send in a list with the part order no's that exists in the shipment. Documents will be created according to the provided print configuration. Please note that the generated documents will only be available for 1 hour. By default the documents have to be requested from the URL contained in the *`href`* value of *`prints`* objects in the result. As an option the PDF or ZPL documents can be inline in the *`data`* object in the result *`print`* array. The *`print.data`* object is encoded in base64. To activate this option include a query parameter named *`returnFile`* with the value set to *`true`*. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/shipments.html This service requires a license for the **APIConnect** and **Consolidation** functions that can be purchased from nShift webshop. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** and **Consolidation** license keys. body: application/json: schema: closeConsolidatedShipment example: | { "printConfig": { "target1Media": "thermo-250", "target1Type": "zpl", "target1XOffset": 0.0, "target1YOffset": 0.0, "target1Options": [{ "key": "mode", "value": "DT" }], "target2Media": "laser-a4", "target2Type": "pdf", "target2XOffset": 0.0, "target2YOffset": 0.0, "target3Media": null, "target3XOffset": 0.0, "target3YOffset": 0.0, "target4Media": null, "target4XOffset": 0.0, "target4YOffset": 0.0 }, "partOrderNos": [ "orderno1" ] } responses: 201: body: application/json: schema: shipmentInfo example: | [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/consolidated-shipments/4127561", "id": "4127561", "sndName": "nShift Gbg", "sndCity": "GÖTEBORG", "sndZipcode": "41121", "sndCountry": "SE", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "BPA", "shipmentNo": "6047287948", "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "status": "PRINTED", "parcels": [{ "parcelNo": "373325380623722154", "partOrderNo": "orderno1", "reference": null }], "normalShipment": false, "returnShipment": false, "consolidated": true, "shipDate": "2015-06-08T14:32:58.000+0000", "created": "2015-06-08T14:32:58.000+0000", "changed": "2015-06-08T14:32:58.000+0000", "prints": [{ "id": "10234541", "type": "pdf", "description": "Waybill", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/consolidated-shipments/4127561/prints/10234541" }], "previousPrints": [], "addons": "[NOTSMS]" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing consolidated shipment id argument" } 422: description: > Returned when the stored shipment could not be converted to a shipment. The reason for this could be an invalid print configuration. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Shipments /shipments: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch information about printed shipments. To fetch batches of printed shipments this entry point uses a query parameter *`fetchId`* to track which shipments have been returned by previous calls. A client using this entry point should save the *`fetchId`* returned by a previous call and use that as parameter value for the next call. If no *`fetchId`* is available from a previous call the value -1 can used to make a call that will return the *`fetchId`* to use in a subsequent call. No more than 100 shipments are returned as a result of a single call. If more than 100 shipments are available the *`done`* value in the result will be *`false`* and you should make another call to fetch the remaining shipments. Repeated calls when *`done`* is *`false`* are not subject to the rate limits (see below) of this entry point. There is a rate limit on this entry point and if calls are made too fast the *`minDelay`* value in the result will return how long you have to wait (in milliseconds) before calling again. To avoid an uneven call rate because of the rate limit try to keep the call rate to less than one call per five minutes. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/shipments.html This service requires a license for the **TrackBack** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by **REST API TrackBack** license key. queryParameters: fetchId: displayName: fetchId type: string description: The ID of the next batch of shipments to fetch. required: true responses: 200: body: application/json: schema: shipmentFetchInfoList example: | { "fetchId": "1", "minDelay": 100, "done": true, "shipments": [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666306", "id": "5666306", "sndName": "nShift Gbg", "sndZipcode": "41121", "sndCity": "GÖTEBORG", "sndCountry": "SE", "sndQuickId": "1", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "P15", "shipmentNo": null, "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "parcels": [{ "parcelNo": "69563053713SE", "reference": null }], "normalShipment": false, "returnShipment": false, "consolidated": false, "status": "PRINTED", "deliveryCode": "342345", "shipDate": "2015-06-03T13:18:30.000+0000", "created": "2015-06-03T13:18:30.904+0000", "changed": "2015-06-03T13:18:30.904+0000", "addons": "[NOTSMS]" }] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing fetch id argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create a new shipment. To create a shipment, the values in the shipment data of the request body must fulfill the specific requirements of the shipment's service. If this isn't the case no shipment will be created and a list of validation errors will be returned instead. To actually create a shipment the values supplied in the request body must **not** include an *`option`* object with id *`CONSOLIDATE`*. Otherwise a consolidated shipment will be created instead of a normal shipment. To check that a normal shipment was created look at the *`consolidated`* value in the result of a successful call. Documents will be created according to the provided print configuration. Please note that the generated documents will only be available for 1 hour. By default the documents have to be requested from the URL contained in the *`href`* value of *`prints`* objects in the result. As an option the PDF or ZPL documents can be inline in the *`data`* object in the result *`print`* array. The *`print.data`* object is encoded in base64. To activate this option include a query parameter named *`returnFile`* with the value set to *`true`*. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** license key. body: application/json: schema: shipmentPrint example: | { "printConfig": { "target1Media": "thermo-250", "target1Type": "zpl", "target1YOffset": 0, "target1XOffset": 0, "target1Options": [{ "key": "mode", "value": "DT" }], "target2Media": "laser-a4", "target2Type": "pdf", "target2YOffset": 0, "target2XOffset": 0, "target3Media": null, "target3Type": "pdf", "target3YOffset": 0, "target3XOffset": 0, "target4Media": null, "target4Type": "pdf", "target4YOffset": 0, "target4XOffset": 0 }, "shipment": { "sender": { "phone": "+46 31 725 35 00", "email": "email1@example.com", "quickId": "1", "zipcode": "41121", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "country": "SE", "city": "GÖTEBORG" }, "parcels": [{ "copies": "1", "weight": "2.75", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "receiver": { "phone": "+46 8 34 35 15", "email": "email2@example.com", "zipcode": "11359", "name": "nShift Sthm", "address1": "Tegnérgatan 34", "country": "SE", "city": "STOCKHOLM" }, "senderReference": "sender ref 234", "service": { "id": "P15" }, "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] } } responses: 201: body: application/json: schema: shipmentInfoList example: | [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666306", "id": "5666306", "sndName": "nShift Gbg", "sndZipcode": "41121", "sndCity": "GÖTEBORG", "sndCountry": "SE", "sndQuickId": "1", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "P15", "shipmentNo": null, "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "parcels": [{ "parcelNo": "69563053713SE", "reference": null }], "normalShipment": false, "returnShipment": false, "consolidated": false, "status": "PRINTED", "deliveryCode": "342345" "shipDate": "2015-06-03T13:18:30.000+0000", "created": "2015-06-03T13:18:30.904+0000", "changed": "2015-06-03T13:18:30.904+0000", "prints": [{ "id": "10234441", "type": "zpl", "description": "Label", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666306/prints/10234441" }], "previousPrints": null, "addons": "[NOTSMS]" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment print request body" } 422: description: > Returned when a shipment could not be created from the body data. The reason for this could be an invalid PDF configuration or shipment data with validation errors. body: application/json: schema: statusList example: | [{ "message": "maximum value (35) exceeded", "messageCode": "MaximumFlt", "field": "ParcelGroup_Weight", "location": "ParcelGroupWeight", "type": "ignorable" }, { "message": "Not valid postal code", "messageCode": "ZipCode", "field": "Address_Zipcode", "location": "", "type": "error" }] 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Shipments / /{shipmentId}: uriParameters: shipmentId: displayName: Shipment ID type: string description: The ID of a shipment required: true delete: securedBy: [bearerToken, basicAuth] is: [secured] description: > Cancel a shipment. After a successful call to this entry point the shipment will get a *`cancelled`* status. A cancel message will be sent for the shipment if it is supported by the carrier. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Discard** license key. responses: 204: body: application/json: !!null 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment id argument" } 404: description: > Returned when the shipment to delete could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Shipments / / PDFs /pdfs: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create copies of all PDF documents for a shipment. This endpoint will try to recreate the documents using the print configuration supplied as the body in this POST request. There is a change that the new documents could be missing information if the current version of the documents require information that is not available in the shipment. The list of PDF documents can optionally include the PDF as a base64 encoded string if the *`inlinePdf`* query parameter is used with a value set to *`true`*. Please note that generated PDF documents are only available for 1 hour. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** license key. queryParameters: inlinePdf: displayName: inlinePdf type: boolean description: Include PDF as base64 encoded value in result. required: false body: application/json: schema: printConfig example: | { "target1Media": "thermo-250", "target1Type": "zpl", "target1YOffset": 0, "target1XOffset": 0, "target1Options": [{ "key": "mode", "value": "DT" }], "target2Media": "laser-a4", "target2Type": "pdf", "target2YOffset": 0, "target2XOffset": 0, "target3Media": null, "target3Type": "pdf", "target3YOffset": 0, "target3XOffset": 0, "target4Media": null, "target4Type": "pdf", "target4YOffset": 0, "target4XOffset": 0 } responses: 200: body: application/json: schema: pdfList example: | [{ "id": "10234514", "pdf": null, "description": "Label", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666308/pdfs/10234514" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment id argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a list of all PDF documents for a shipment. The list of PDF documents can optionally include the PDF as a base64 encoded string if the *`inlinePdf`* query parameter is used with a value set to *`true`*. Please note that generated PDF documents are only available for 1 hour. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** license key. queryParameters: inlinePdf: displayName: inlinePdf type: boolean description: Include PDF as base64 encoded value in result. required: false responses: 200: body: application/json: schema: pdfList example: | [{ "id": "10234514", "pdf": null, "description": "Label", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666308/pdfs/10234514" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment id argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Shipments / / PDFs / /{pdfId}: uriParameters: pdfId: displayName: PDF ID type: string description: The ID of a PDF document. required: true get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a PDF document for a shipment. The PDF document is streamed as a raw binary stream from this entry point. **NOTE** Make sure the request has a correct *`Accept`* header set to *`application/pdf`*. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** license key. responses: 200: body: application/pdf: example: | A PDF file. 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment id argument" } 404: description: > Returned when the PDF could not be found. body: application/json: !!null 406: description: > Returned when the Accept header in the request doesn't match *`application/pdf`* or *`application/octet-stream`*. body: "*/*": !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Shipments / / Prints /prints: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create copies of all PDF and / or ZPL documents for a shipment. This endpoint will try to recreate the documents using the print configuration supplied as the body in this POST request. There is a change that the new documents could be missing information if the current version of the documents require information that is not available in the shipment. By default the documents have to be requested from the URL contained in the *`href`* value of *`prints`* objects in the result. As an option the PDF or ZPL documents can be inline in the *`data`* object in the result *`print`* array. The *`print.data`* object is encoded in base64. To activate this option include a query parameter named *`returnFile`* with the value set to *`true`*. There is two charset option for zpl output cp850 or UTF8, cp850 is default. Set printConfig targetOptions to key="charset" and value="cp850" or "UTF8". If you use cp850 the zpl result is in charset code page 850. If UTF8 is used the characters is written in hex code commands that the printer convert to characters. Not that even if UTF8 is used the standard font in the printer normally only support code page 850 charters. Please note that generated documents are only available for 1 hour. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** license key. queryParameters: returnFile: displayName: returnFile type: boolean description: Include document as base64 encoded value in result. required: false body: application/json: schema: printConfig example: | { "target1Media": "thermo-250", "target1Type": "zpl", "target1YOffset": 0, "target1XOffset": 0, "target1Options": [{ "key": "mode", "value": "DT" }], "target2Media": "laser-a4", "target2Type": "pdf", "target2YOffset": 0, "target2XOffset": 0, "target3Media": null, "target3Type": "pdf", "target3YOffset": 0, "target3XOffset": 0, "target4Media": null, "target4Type": "pdf", "target4YOffset": 0, "target4XOffset": 0 } responses: 200: body: application/json: schema: printList example: | [{ "id": "10234514", "type": "zpl", "description": "Label", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666308/prints/10234514" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment id argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a list of all PDF or ZPL documents for a shipment. By default the documents have to be requested from the URL contained in the *`href`* value of *`prints`* objects in the result. As an option the PDF or ZPL documents can be inline in the *`data`* object in the result *`print`* array. The *`print.data`* object is encoded in base64. To activate this option include a query parameter named *`returnFile`* with the value set to *`true`*. There is two charset option for zpl output cp850 or UTF8, cp850 is default. Set printConfig targetOptions to key="charset" and value="cp850" or "UTF8". If you use cp850 the zpl result is in charset code page 850. If UTF8 is used the characters is written in hex code commands that the printer convert to characters. Not that even if UTF8 is used the standard font in the printer normally only support code page 850 charters. Please note that generated documents are only available for 1 hour. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** license key. queryParameters: returnFile: displayName: returnFile type: boolean description: Include document as base64 encoded value in result. required: false responses: 200: body: application/json: schema: printList example: | [{ "id": "10234514", "type": "zpl", "description": "Label", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666308/prints/10234514" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment id argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Shipments / / Prints / /{printId}: uriParameters: printId: displayName: Print ID type: string description: The ID of a PDF or ZPL document. required: true get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a PDF or ZPL document for a shipment. The PDF document is streamed as a raw binary stream from this entry point. **NOTE** Make sure the request has a correct *`Accept`* header set to *`application/pdf`* or *`application/octet-stream`*. There is two charset option for zpl output cp850 or UTF8, cp850 is default. Set printConfig targetOptions to key="charset" and value="cp850" or "UTF8". If you use cp850 the zpl result is in charset code page 850. If UTF8 is used the characters is written in hex code commands that the printer convert to charters. Not that even if UTF8 is used the standard font in the printer normally only support code page 850 charters. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect/shipments.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** license key. responses: 200: body: application/pdf: example: | A PDF file. application/octet-stream: example: | A ZPL file. 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment id argument" } 404: description: > Returned when the document could not be found. body: application/json: !!null 406: description: > Returned when the Accept header in the request doesn't match *`application/pdf`*, *`application/octet-stream`* or *`text/plain`*. body: "*/*": !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Shipments History /shipments-history: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch information about shipments (max 6 months old). To fetch shipments this entry point uses a query parameter *`page`*, *`dateFrom`*, *`dateTo`*, *`dateType`*, *`searchField`*, *`searchValue`*, *`status`*, to track shipments. No more than 50 shipments are returned as a result of a single page. All the results will be order by created date in descending order. This service requires a license for the function that is delivered with the integration API licence keys, under the name of **REST API Shipment History** license key. queryParameters: page: displayName: page type: integer description: Number of page you need to see. Each page contains 50 records. required: true dateFrom: displayName: dateFrom type: string description: The lower limit of a date interval to filter on. Must be used in combination with dateType and dateTo. Must be in ISO-8601 date format, for example, 2020-01-01T01:00:00+00:00 required: false dateTo: displayName: dateTo type: string description: The upper limit of a date interval to filter on. Must be used in combination with dateType and dateFrom. Must be in ISO-8601 date format, for example, 2020-02-01T01:00:00+00:00 required: false dateType: displayName: dateType type: string description: The type of date to filter on. Must be used in combination with dateFrom and dateTo. enum: [ created, printed, ship ] required: false searchField: displayName: searchField type: string description: The field to search in. enum: [ '', orderNo, reference, shipmentNo, shipmentId, parcelNo ] required: false searchValue: displayName: searchValue type: string description: The value to search for in the field required: false status: displayName: status type: string description: The status value to filter on. enum: [ '', printed, dispatching, outfordelivery, delivering, delivered, partdelivered, returned, cancelled ] required: false responses: 200: body: application/json: schema: shipmentFetchInfoList example: | { "minDelay": 100, "page": 0, "totalPages": 1, "shipments": [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666306", "id": "5666306", "status": "PRINTED", "shipmentNo": null, "orderNo": "order number 123", "route": null, "routingCode": null, "reference": "sender ref 234", "serviceId": "P15", "parcelCount": 1, "sndName": "nShift Gbg", "sndZipcode": "41121", "sndCity": "GÖTEBORG", "sndCountry": "SE", "sndQuickId": "1", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "rcvQuickId": "", "created": "2015-06-03T13:18:30.904+0000", "changed": "2015-06-03T13:18:30.904+0000", "shipDate": "2015-06-03T13:18:30.000+0000", "printed": "2015-06-03T13:18:30.000+0000", "returnShipment": false, "normalShipment": false, "consolidated": false, "deliveryCode": "342345", "profileGroup": "Perusprofiiliryhmä", "newWaybillId": "123456789", "parcels": [ { "parcelNo": "373325389893906035", "returnParcelNo": null, "reference": "", "partOrderNo": "" } ], "pdfs": null, "previousPdfs": null, "prints": null, "previousPrints": null, "addons": "[NOTSMS]", "statuses": null }] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json error 1: schema: error example: | { "code": "MISSING", "message": "Missing fetch id argument" } application/json error 2: schema: error example: | { "code": "ILLEGAL_ARG", "message": "Illegal date from argument - date from must not be more than present" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Manifests /shipment-manifests: /{manifestType}/manifests: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get filtered manifest list based on query params queryParameters: dateFrom: displayName: dateFrom type: string description: Date from required: false dateTo: displayName: dateTo type: string description: Date to required: false page: displayName: page type: number description: The page required: true responses: 200: body: application/json: schema: manifestShipmentsInfoData example: | { "page": 0, "totalCountPerPage": 2, "totalPages": 1, "totalCount": 2, "manifestIdsData": [ { "href": "http://localhost:8081/rs-extapi/v1/shipment-manifests/SBTL/manifests/11781/prints", "id": 11781, "description": "DB Schenker", "shipmentIds": [ 5309524, 5309558 ] }, { "href": "http://localhost:8081/rs-extapi/v1/shipment-manifests/SBTL/manifests/11911/prints", "id": 11911, "description": "DB Schenker", "shipmentIds": [ 5319270, 5319271 ] } ] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing manifestType/page argument" } 404: description: > Data not found for query params body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json internal-error: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } application/json invalid-manifest_type: schema: error example: | { "code": "ILLEGAL_ARG", "message": "Manifest type: APRTF is not supported." } post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Print a shipment manifest based on required param manifestType. queryParameters: returnFile: displayName: returnFile type: boolean description: Include document as base64 encoded value in result. required: false body: application/json: schema: manifestPrintData example: | { "printConfig":{ "target1Media":"thermo-se", "target2Media":"laser-a4" }, "dateFrom":"2021-12-01", "dateTo":"2021-12-10", "shipmentIds":[ "5319270", "5319271" ] } responses: 201: body: application/json: schema: manifestInfoDataResponse example: | [ { "href": "http://localhost:8080/rs-extapi/v1/shipment-manifests/SBTL/11911", "id": "11911", "created": "2022-01-04T10:49:44.416+0000", "shipmentCount": 2, "listNo": null, "prints": [ { "href": "http://localhost:8080/rs-extapi/v1/shipment-manifests/SBTL/11911/pdfs/11695679", "id": "11695679", "description": "Doc", "data": "JVBERi0xLjQKJeLjz9MKMyAwIG9iaiA8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDExNzk+PnN0cmVhbQp4nKWY3W7bNhTH7/0UBHbTAUnL74/dxaubAUG7zdZ6ryVy4EZ2Ulvx0BfdE/RBekhKjBIyEOkiQGIw+p9zePgn+ZO/zubVDCPNyVttUHUzW1Szv2f4LZaYIWx/nj5eb2df7ePvPhBEsUTVekbcPwgyXCBCDaWo2s7erL7vbnab3e2h3Ry6+tfqi4/6mpgKo0fq93O0+v2PxaerxXJSKiXhIynFlJ5jco55rCSSj5WaKGaVTDklGQnctNH+tv+wvJwZZp/VkoIMmkE52jez9SsPE0YUIkRpjbi2FfqHCYMG+2HQPw1z+OSHFR0NC50clmqIbeRoWBmViq3tssRBDCeJINBakghCCTaJ6VCSLJAynAzCbLfjp7lMxhbJVlHJUrOkUovUdDRNBjHJAhmm6WHDEgUyIkVqmOpUvxnTydicpiYfLEsR4c8sC9azAgFPPttlu/1Lt4MUKhlvMcxsCYJ7t0vYRXbCAnKzhPj5VuFEQN9hUZgTXxwPkLneN5N7rBcyw53w6hEK3v82nU9LOZJJrBCGOqNCX8tHsfANanY3zR59qrcNusgVYyK9eHHOCTSOoMv/q8X8z+VlZgSiqW9y1bTRXGONm2vQwDKdKyqEwLnZJNNOuWzW2dkGzcd6t1k3hw5V9tcvJDcn58bp/6rb9i5nRaWQYwd9vO+6+jbHQb2w1EGKqtMc1OcbHLRsrpvNsfdQrnhwkG3qqts3TYemO+u1wQe9+4jOd18fYVjb1X/NTbPLVU2taKRzFz7Byh9F1Zfvu0M3rYJjk49ko5v+od5fNy263/77eJOXHGvtL/1q07bHOmOv+exBd3HcHJo9HKCZ+aTx7p03Xd2Ceadt2CcchKUHWRBe3bftJnd3B9W06fy8BPa7ZPHPEj3A+mck8uUNws+bu4y176sbRISe4dxDDk5Fvx8/37ffttmpBhU+IzRzI4TmfWjru23TNRlboVcOE1t1367vslVDjXbjPbR1dxgrX2FLbcBWEVq60Ygs3WgElvGo5Uo3GmFlHNdSZRzBQmUUwTFlFMEhZTQLR5RRXAeUcQTLk/GzFifjuCLVHQeTcb1KJPrrUDIeNcnKTKpnDKcqcxgZj1qKjObmIDKOy1OVTSCkVsMtU0qQWhH6AiBNfLmlAdIork/hRyOEKcfHoCo8dOF9EJ8Kj8Ya+GfYURtDC9ExSErJUWvMCsExSF5w4/Th6jPad/VybAy+KaTGYt84aDzBNz7b4JsTkDH4ppwYw/KfCoxhTUt4cXIlk6ShKZPltBhUPwOLGvcvvmWsGGRlqKi00KeQYtAVnllBV8KJQZSHiUpKcwolBl0BJAZNASPCIYGLETGI8gkxtK0UEMOkSvgwFJiJh4ZqpDCHoxpe6RATL3AgubJSUb+Zq3twa4fqHfxBd0krRb6FzUmfIkz3kBrglecZ0THljPhWZzCtp0w8yxmGsChb0h/x1cMAd4IUn9Hpb5SlNvpltrV1yXQ2bV8DRtnw5CpLoXi8yqlnKRIGzhNNqERwnEWAmHDE8A3G+7p73E57wMC9GTT+loYbrD5ON1nBe0BQzjftiEN/AMV6WTYKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqPDwvQ29udGVudHMgMyAwIFIvVHlwZS9QYWdlL1Jlc291cmNlczw8L1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldL0ZvbnQ8PC9GMSAxIDAgUi9GMiAyIDAgUj4+Pj4vUGFyZW50IDQgMCBSL01lZGlhQm94WzAgMCA1OTUuMjggODQxLjg5XT4+CmVuZG9iagoyIDAgb2JqPDwvU3VidHlwZS9UeXBlMS9UeXBlL0ZvbnQvQmFzZUZvbnQvSGVsdmV0aWNhLUJvbGQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjEgMCBvYmo8PC9TdWJ0eXBlL1R5cGUxL1R5cGUvRm9udC9CYXNlRm9udC9IZWx2ZXRpY2EvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjQgMCBvYmo8PC9LaWRzWzUgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKNiAwIG9iajw8L1R5cGUvQ2F0YWxvZy9QYWdlcyA0IDAgUj4+CmVuZG9iago3IDAgb2JqPDwvTW9kRGF0ZShEOjIwMjIwMTA0MTI0OTUzKzAyJzAwJykvQ3JlYXRpb25EYXRlKEQ6MjAyMjAxMDQxMjQ5NTMrMDInMDAnKS9Qcm9kdWNlcihpVGV4dCAyLjAuMiBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCA4CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMTUyNSAwMDAwMCBuIAowMDAwMDAxNDMzIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwMTYxMiAwMDAwMCBuIAowMDAwMDAxMjYyIDAwMDAwIG4gCjAwMDAwMDE2NjIgMDAwMDAgbiAKMDAwMDAwMTcwNiAwMDAwMCBuIAp0cmFpbGVyCjw8L0luZm8gNyAwIFIvSUQgWzwwZWQyMTljMmIyODJhZDhmNDM1YjM5OGYwM2Y0YzFlYj48MTk5NTMxNDlhNTFlYWMyZjRjY2M4ZGFjZjk2YWIwOTQ+XS9Sb290IDYgMCBSL1NpemUgOD4+CnN0YXJ0eHJlZgoxODM3CiUlRU9GCg==", "media": "laser-a4", "type": "pdf" } ] } ] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING_ARG", "message": "Missing manifestPrintData body data" } 422: description: > Returned when a manifest could not be created from the body data. The reason for this could be an invalid PDF configuration or manifest data with validation errors. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "The number of pages in the report will exceed the current maximum allowed for printing to a PDF. Try to narrow down your search conditions to produce a smaller list." } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json internal-error: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } application/json invalid-manifest_type: schema: error example: | { "code": "ILLEGAL_ARG", "message": "Manifest type: APRTF is not supported." } /{manifestId}/prints: get: securedBy: [bearerToken, basicAuth] is: [secured] queryParameters: returnFile: displayName: returnFile type: boolean description: If the value is true, then the file will be sent through the response. required: false description: > Get all manifests based on the required manifestType and manifestId. responses: 200: body: application/json: schema: printList example: | [ { "href": "http://localhost:8080/rs-extapi/v1/shipment-manifests/FREE/manifests/12071/prints/11712396", "id": "11712396", "description": "Doc", "data": "JVBERi0xLjQKJeLjz9MKMyAwIG9iaiA8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDg0Nz4+c3RyZWFtCnicpZfbbtNAEIbv/RRzRysRs7NHb+8KNQgRBWgNlVBvTLxJDY4dHBeJt2e9dpImzaHZKlFkKd7PMzvz/zv+E7xNAgIRxzDSkGRBnARfAxISSRiQ9rO+HM+CP+3tb94joBKQTOxKhAHa/6TUwAmFZBac3dzn85kpGxjmi+Y8+RWgW9792hvcIw6ThNAONYCFKTNTv1rAuJr/OwKjgJxvwHRE12E50oUfI+LsEQTm91Vp/FCKR11uV2lzFIE7ERFq5RCUUDogOKDk5FAQFW5tDaRZVpvF4kBQriOgnvYX1x8CpFoD0wQoB6SKMahNMNnIgLLNDLhU9vFM0TCK3ONL2zGTBq5Mkf819T+4NT8hLqd5aaCoxmlxenICOTCpNtuxrEI/Esq+ZNdmYmpTjo1nRARpzxmbNlU/DOeqy+yyq5cfRWiOjvIjn4+rzMAbeJc3p0vMwRQn0sHeVQ9lU3tSIiJXiVWlZ15aowylcJwvaT02hScIiZAs7Pbotgnh7uz39O7ck2XbXYd9F32vipY2Y940ygmGSq5sxNYuyWcHunKHboVgViKtPFvdUtzSLX1qzBGulTAyD02dFjCpTT69P+byO5xQP5JVYp5zTuwgiIi4O8+sx9jvyQzEiK3DaGwYr626GEgCN0k8+vRtOIxHHtZqqUr0oX1Jp+YC/EKLKOlCw9PXK0mdL7fLpVUnsTaMlIDHLjkUYV2/xYumSMsMPh8T+R4QX26MBU3TJi3BMzmhe5XH8QAJolXq5XD4cXSsYHtwirM+rtgPgIRREdqufEHBrLKFDEW0cboTcZKwNcFDB/LTfqXIycbwBs7FTx9vHAg18kfm+yIW47RrulvnMr0FH1XTvhQ1U0sDfpiZ3oJ9aZLzTpvDKs3ycgoz0/iMlw6mtOwOmlEVQjWB+Ns1zNOiMM2haWxPJ1FG18P46Y3olq+q6Ll+Vbljk+m+8Je1Iq+JJ2JVIIvwI6yqcmD9UwFSruyop+WBk1VuPUyh9WbWv/Pc5NPSZDCp6md05jZJ221fkbLlQP3zGQPZFokhi9ak5t7AOK3r/OjMiruzY5qL1bjihxB6OWN2gcDCblTaPNSePN16Y887/G7wtMYM7SHGNNNtkVVL62v8Hzr6PmUKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqPDwvQ29udGVudHMgMyAwIFIvVHlwZS9QYWdlL1Jlc291cmNlczw8L1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldL0ZvbnQ8PC9GMSAxIDAgUi9GMiAyIDAgUj4+Pj4vUGFyZW50IDQgMCBSL01lZGlhQm94WzAgMCA1OTUuMjggODQxLjg5XT4+CmVuZG9iagoyIDAgb2JqPDwvU3VidHlwZS9UeXBlMS9UeXBlL0ZvbnQvQmFzZUZvbnQvSGVsdmV0aWNhLUJvbGQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjEgMCBvYmo8PC9TdWJ0eXBlL1R5cGUxL1R5cGUvRm9udC9CYXNlRm9udC9IZWx2ZXRpY2EvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjQgMCBvYmo8PC9LaWRzWzUgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKNiAwIG9iajw8L1R5cGUvQ2F0YWxvZy9QYWdlcyA0IDAgUj4+CmVuZG9iago3IDAgb2JqPDwvTW9kRGF0ZShEOjIwMjIwMTIwMTU0MjU2KzAyJzAwJykvQ3JlYXRpb25EYXRlKEQ6MjAyMjAxMjAxNTQyNTYrMDInMDAnKS9Qcm9kdWNlcihpVGV4dCAyLjAuMiBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCA4CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMTE5MiAwMDAwMCBuIAowMDAwMDAxMTAwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwMTI3OSAwMDAwMCBuIAowMDAwMDAwOTI5IDAwMDAwIG4gCjAwMDAwMDEzMjkgMDAwMDAgbiAKMDAwMDAwMTM3MyAwMDAwMCBuIAp0cmFpbGVyCjw8L0luZm8gNyAwIFIvSUQgWzw0NGQ0ODBiYWQzYmExNzk1NzAzZWQ3YTRmYmYxODM4ND48ZmRkNGYxYzU4YWZlMmJlZGY2YjQ5ZmRiMDQ4YzhhMTg+XS9Sb290IDYgMCBSL1NpemUgOD4+CnN0YXJ0eHJlZgoxNTA0CiUlRU9GCg==", "media": "laser-a4", "type": "pdf" } ] 404: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json internal-error: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } application/json invalid-manifest_type: schema: error example: | { "code": "ILLEGAL_ARG", "message": "Manifest type: APRTF is not supported." } /{manifestId}/prints/{printId}: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get the manifest PDF based on the required manifestType, manifestId and printId. responses: 200: body: application/pdf: example: | A PDF file. 404: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json internal-error: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } application/json invalid-manifest_type: schema: error example: | { "code": "ILLEGAL_ARG", "message": "Manifest type: APRTF is not supported." } /{manifestType}/shipments: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get filtered shipments list based on query params queryParameters: dateFrom: displayName: dateFrom type: string description: Date from required: false dateTo: displayName: dateTo type: string description: Date to required: false services: displayName: services type: string description: Services to be filterd by required: false senderId: displayName: senderId type: string description: The senderId required: false receiverId: displayName: receiverId type: string description: The receiverId required: false status: displayName: status type: string description: Status required: false route: displayName: route type: string description: The route required: false page: displayName: page type: number description: The page required: true responses: 200: body: application/json: schema: manifestShipmentsInfoData example: | { "page": 0, "totalPages": 1, "totalCount": 2, "manifestShipmentsInfoData": [ { "id": 5322890, "sndName": "Unifaun AB", "sndZipcode": "11359", "sndCity": "STOCHOLM", "sndCountry": "SE", "sndQuickId": "1", "rcvName": "Unifaun AB", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "rcvQuickId": "1", "serviceId": "BCF", "orderNo": "Order number", "reference": "A reference", "route": "", "status": "PRINTED", "shipDate": "2022-01-04T13:20:40.000+0000", "printDate": "2022-01-04T13:20:40.971+0000" }, { "id": 5322926, "sndName": "Unifaun AB", "sndZipcode": "11359", "sndCity": "STOCHOLM", "sndCountry": "SE", "sndQuickId": "1", "rcvName": "Unifaun AB", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "rcvQuickId": "1", "serviceId": "BCF", "orderNo": "Order number", "reference": "A reference", "route": "", "status": "PRINTED", "shipDate": "2022-01-04T13:45:14.000+0000", "printDate": "2022-01-04T13:45:14.703+0000" } ] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing manifestType/page argument" } 404: description: > Data not found for query params body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json internal-error: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } application/json invalid-manifest_type: schema: error example: | { "code": "ILLEGAL_ARG", "message": "Manifest type: APRTF is not supported." } /{manifestId}/prints: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get list of manifests pdfs based on manifest id queryParameters: returnFile: displayName: returnFile type: boolean description: The manifest type required: false responses: 200: body: application/json: schema: printList example: | [ { "href": "http://localhost:8080/rs-extapi/v1/shipment-manifests/FREE/manifests/12071/prints/11712396", "id": "11712396", "description": "Doc", "data": "JVBERi0xLjQKJeLjz9MKMyAwIG9iaiA8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDg0Nz4+c3RyZWFtCnicpZfbbtNAEIbv/RRzRysRs7NHb+8KNQgRBWgNlVBvTLxJDY4dHBeJt2e9dpImzaHZKlFkKd7PMzvz/zv+E7xNAgIRxzDSkGRBnARfAxISSRiQ9rO+HM+CP+3tb94joBKQTOxKhAHa/6TUwAmFZBac3dzn85kpGxjmi+Y8+RWgW9792hvcIw6ThNAONYCFKTNTv1rAuJr/OwKjgJxvwHRE12E50oUfI+LsEQTm91Vp/FCKR11uV2lzFIE7ERFq5RCUUDogOKDk5FAQFW5tDaRZVpvF4kBQriOgnvYX1x8CpFoD0wQoB6SKMahNMNnIgLLNDLhU9vFM0TCK3ONL2zGTBq5Mkf819T+4NT8hLqd5aaCoxmlxenICOTCpNtuxrEI/Esq+ZNdmYmpTjo1nRARpzxmbNlU/DOeqy+yyq5cfRWiOjvIjn4+rzMAbeJc3p0vMwRQn0sHeVQ9lU3tSIiJXiVWlZ15aowylcJwvaT02hScIiZAs7Pbotgnh7uz39O7ck2XbXYd9F32vipY2Y940ygmGSq5sxNYuyWcHunKHboVgViKtPFvdUtzSLX1qzBGulTAyD02dFjCpTT69P+byO5xQP5JVYp5zTuwgiIi4O8+sx9jvyQzEiK3DaGwYr626GEgCN0k8+vRtOIxHHtZqqUr0oX1Jp+YC/EKLKOlCw9PXK0mdL7fLpVUnsTaMlIDHLjkUYV2/xYumSMsMPh8T+R4QX26MBU3TJi3BMzmhe5XH8QAJolXq5XD4cXSsYHtwirM+rtgPgIRREdqufEHBrLKFDEW0cboTcZKwNcFDB/LTfqXIycbwBs7FTx9vHAg18kfm+yIW47RrulvnMr0FH1XTvhQ1U0sDfpiZ3oJ9aZLzTpvDKs3ycgoz0/iMlw6mtOwOmlEVQjWB+Ns1zNOiMM2haWxPJ1FG18P46Y3olq+q6Ll+Vbljk+m+8Je1Iq+JJ2JVIIvwI6yqcmD9UwFSruyop+WBk1VuPUyh9WbWv/Pc5NPSZDCp6md05jZJ221fkbLlQP3zGQPZFokhi9ak5t7AOK3r/OjMiruzY5qL1bjihxB6OWN2gcDCblTaPNSePN16Y887/G7wtMYM7SHGNNNtkVVL62v8Hzr6PmUKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqPDwvQ29udGVudHMgMyAwIFIvVHlwZS9QYWdlL1Jlc291cmNlczw8L1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldL0ZvbnQ8PC9GMSAxIDAgUi9GMiAyIDAgUj4+Pj4vUGFyZW50IDQgMCBSL01lZGlhQm94WzAgMCA1OTUuMjggODQxLjg5XT4+CmVuZG9iagoyIDAgb2JqPDwvU3VidHlwZS9UeXBlMS9UeXBlL0ZvbnQvQmFzZUZvbnQvSGVsdmV0aWNhLUJvbGQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjEgMCBvYmo8PC9TdWJ0eXBlL1R5cGUxL1R5cGUvRm9udC9CYXNlRm9udC9IZWx2ZXRpY2EvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjQgMCBvYmo8PC9LaWRzWzUgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKNiAwIG9iajw8L1R5cGUvQ2F0YWxvZy9QYWdlcyA0IDAgUj4+CmVuZG9iago3IDAgb2JqPDwvTW9kRGF0ZShEOjIwMjIwMTIwMTU0MjU2KzAyJzAwJykvQ3JlYXRpb25EYXRlKEQ6MjAyMjAxMjAxNTQyNTYrMDInMDAnKS9Qcm9kdWNlcihpVGV4dCAyLjAuMiBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCA4CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMTE5MiAwMDAwMCBuIAowMDAwMDAxMTAwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwMTI3OSAwMDAwMCBuIAowMDAwMDAwOTI5IDAwMDAwIG4gCjAwMDAwMDEzMjkgMDAwMDAgbiAKMDAwMDAwMTM3MyAwMDAwMCBuIAp0cmFpbGVyCjw8L0luZm8gNyAwIFIvSUQgWzw0NGQ0ODBiYWQzYmExNzk1NzAzZWQ3YTRmYmYxODM4ND48ZmRkNGYxYzU4YWZlMmJlZGY2YjQ5ZmRiMDQ4YzhhMTg+XS9Sb290IDYgMCBSL1NpemUgOD4+CnN0YXJ0eHJlZgoxNTA0CiUlRU9GCg==", "media": "laser-a4", "type": "pdf" } ] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing manifestId argument" } 404: description: > Data not found for query params body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Creates copy of manifest pdfs queryParameters: returnFile: displayName: returnFile type: boolean description: The manifest type required: false body: application/json: schema: printConfig example: | { "target1Media": "thermo-250", "target1Type": "zpl", "target1YOffset": 0, "target1XOffset": 0, "target1Options": [{ "key": "mode", "value": "DT" }], "target2Media": "laser-a4", "target2Type": "pdf", "target2YOffset": 0, "target2XOffset": 0, "target3Media": null, "target3Type": "pdf", "target3YOffset": 0, "target3XOffset": 0, "target4Media": null, "target4Type": "pdf", "target4YOffset": 0, "target4XOffset": 0 } responses: 201: body: application/json: schema: printList example: | [ { "href": "http://localhost:8080/rs-extapi/v1/shipment-manifests/FREE/manifests/12071/prints/11712396", "id": "11712396", "description": "Doc", "data": "JVBERi0xLjQKJeLjz9MKMyAwIG9iaiA8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDg0Nz4+c3RyZWFtCnicpZfbbtNAEIbv/RRzRysRs7NHb+8KNQgRBWgNlVBvTLxJDY4dHBeJt2e9dpImzaHZKlFkKd7PMzvz/zv+E7xNAgIRxzDSkGRBnARfAxISSRiQ9rO+HM+CP+3tb94joBKQTOxKhAHa/6TUwAmFZBac3dzn85kpGxjmi+Y8+RWgW9792hvcIw6ThNAONYCFKTNTv1rAuJr/OwKjgJxvwHRE12E50oUfI+LsEQTm91Vp/FCKR11uV2lzFIE7ERFq5RCUUDogOKDk5FAQFW5tDaRZVpvF4kBQriOgnvYX1x8CpFoD0wQoB6SKMahNMNnIgLLNDLhU9vFM0TCK3ONL2zGTBq5Mkf819T+4NT8hLqd5aaCoxmlxenICOTCpNtuxrEI/Esq+ZNdmYmpTjo1nRARpzxmbNlU/DOeqy+yyq5cfRWiOjvIjn4+rzMAbeJc3p0vMwRQn0sHeVQ9lU3tSIiJXiVWlZ15aowylcJwvaT02hScIiZAs7Pbotgnh7uz39O7ck2XbXYd9F32vipY2Y940ygmGSq5sxNYuyWcHunKHboVgViKtPFvdUtzSLX1qzBGulTAyD02dFjCpTT69P+byO5xQP5JVYp5zTuwgiIi4O8+sx9jvyQzEiK3DaGwYr626GEgCN0k8+vRtOIxHHtZqqUr0oX1Jp+YC/EKLKOlCw9PXK0mdL7fLpVUnsTaMlIDHLjkUYV2/xYumSMsMPh8T+R4QX26MBU3TJi3BMzmhe5XH8QAJolXq5XD4cXSsYHtwirM+rtgPgIRREdqufEHBrLKFDEW0cboTcZKwNcFDB/LTfqXIycbwBs7FTx9vHAg18kfm+yIW47RrulvnMr0FH1XTvhQ1U0sDfpiZ3oJ9aZLzTpvDKs3ycgoz0/iMlw6mtOwOmlEVQjWB+Ns1zNOiMM2haWxPJ1FG18P46Y3olq+q6Ll+Vbljk+m+8Je1Iq+JJ2JVIIvwI6yqcmD9UwFSruyop+WBk1VuPUyh9WbWv/Pc5NPSZDCp6md05jZJ221fkbLlQP3zGQPZFokhi9ak5t7AOK3r/OjMiruzY5qL1bjihxB6OWN2gcDCblTaPNSePN16Y887/G7wtMYM7SHGNNNtkVVL62v8Hzr6PmUKZW5kc3RyZWFtCmVuZG9iago1IDAgb2JqPDwvQ29udGVudHMgMyAwIFIvVHlwZS9QYWdlL1Jlc291cmNlczw8L1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUldL0ZvbnQ8PC9GMSAxIDAgUi9GMiAyIDAgUj4+Pj4vUGFyZW50IDQgMCBSL01lZGlhQm94WzAgMCA1OTUuMjggODQxLjg5XT4+CmVuZG9iagoyIDAgb2JqPDwvU3VidHlwZS9UeXBlMS9UeXBlL0ZvbnQvQmFzZUZvbnQvSGVsdmV0aWNhLUJvbGQvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjEgMCBvYmo8PC9TdWJ0eXBlL1R5cGUxL1R5cGUvRm9udC9CYXNlRm9udC9IZWx2ZXRpY2EvRW5jb2RpbmcvV2luQW5zaUVuY29kaW5nPj4KZW5kb2JqCjQgMCBvYmo8PC9LaWRzWzUgMCBSXS9UeXBlL1BhZ2VzL0NvdW50IDE+PgplbmRvYmoKNiAwIG9iajw8L1R5cGUvQ2F0YWxvZy9QYWdlcyA0IDAgUj4+CmVuZG9iago3IDAgb2JqPDwvTW9kRGF0ZShEOjIwMjIwMTIwMTU0MjU2KzAyJzAwJykvQ3JlYXRpb25EYXRlKEQ6MjAyMjAxMjAxNTQyNTYrMDInMDAnKS9Qcm9kdWNlcihpVGV4dCAyLjAuMiBcKGJ5IGxvd2FnaWUuY29tXCkpPj4KZW5kb2JqCnhyZWYKMCA4CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMTE5MiAwMDAwMCBuIAowMDAwMDAxMTAwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAwMTI3OSAwMDAwMCBuIAowMDAwMDAwOTI5IDAwMDAwIG4gCjAwMDAwMDEzMjkgMDAwMDAgbiAKMDAwMDAwMTM3MyAwMDAwMCBuIAp0cmFpbGVyCjw8L0luZm8gNyAwIFIvSUQgWzw0NGQ0ODBiYWQzYmExNzk1NzAzZWQ3YTRmYmYxODM4ND48ZmRkNGYxYzU4YWZlMmJlZGY2YjQ5ZmRiMDQ4YzhhMTg+XS9Sb290IDYgMCBSL1NpemUgOD4+CnN0YXJ0eHJlZgoxNTA0CiUlRU9GCg==", "media": "laser-a4", "type": "pdf" } ] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING_ARG", "message": "Missing manifest id" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /{manifestId}/prints/{printId}: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get list of manifest pdfs based on manifest id and print id queryParameters: returnFile: displayName: returnFile type: boolean description: The manifest type required: false responses: 200: body: application/pdf: example: | A PDF file. 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing manifestId argument" } 404: description: > Data not found for query params body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Status events /alerts: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch information about status events connected to shipments. To fetch batches of status events this entry point uses a query parameter *`fetchId`* to track which events have been returned by previous calls. A client using this entry point should save the *`fetchId`* returned by a previous call and use that as parameter value for the next call. If no *`fetchId`* is available from a previous call the value -1 can used to make a call that will return the *`fetchId`* to use in a subsequent call. No more than 100 events are returned as a result of a single call. If more than 100 events are available the *`done`* value in the result will be *`false`* and you should make another call to fetch the remaining events. Repeated calls when *`done`* is *`false`* are not subject to the rate limits (see below) of this entry point. There is a rate limit on this entry point and if calls are made too fast the *`minDelay`* value in the result will return how long you have to wait (in milliseconds) before calling again. To avoid an uneven call rate because of the rate limit try to keep the call rate to less than one call per five minutes. Read more: https://help.unifaun.com/uo-se/en/integrations/shipment-status-via-api/shipment-status.html This service requires a license for the **Status events** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by **REST API Status events** license key. queryParameters: fetchId: displayName: fetchId type: string description: The ID of the next batch of shipments to fetch. required: false responses: 200: body: application/json: schema: alertInfoList example: | { "fetchId": "1", "minDelay": 100, "done": true, "alerts": [{ "alertCode": "STATUS_DELIVERED", "alertTime": "2015-06-03T13:18:30.000+0000", "alertCreated": "2015-06-03T13:18:30.000+0000", "alertInfo": "STATUS", "shipmentInfo": { "serviceId": "P15", "shipmentNo": null, "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "parcels": [{ "parcelNo": "69563053713SE", "reference": null }], "shipDate": "2015-06-03T13:18:30.000+0000", "printDate": "2015-06-03T13:18:30.904+0000" } }] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing fetch id argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Delivery Checkout /delivery-checkouts: /{deliveryCheckoutId}: uriParameters: deliveryCheckoutId: displayName: Delivery Checkout ID type: string description: The delivery checkout ID. required: true get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a delivery checkout configuration. It is important that the language and currency used as query parameters is configurated for the delivery checkout. If sender is not selected in the delivery checkout configuration fromcountry and fromzipcode must be set as query parameter. It is possible to send sms number, email address and door code as query parameter. Those parameters will be sent back in results addon or field list if needed. The name of the parameters are receiversms, receiveremail and receiverdoorcode. This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. **RESULT FIELDS** **deliveryCheckoutId** use the whole string when querying delivery-checkouts post to make sure that the correct delivery checkout version is used. **options->id or suboptions->id** used to identify a delivery checkout option. Used in delivery checkouts post. **options->carrierId or suboptions->carrierId** see codes list for possible values (parid). **agents->id** used to identify a agent. **addons->selected** not used in this version. **addons->oneOf** list of addons and one of them must be selected. Only one of the addons can be selected. **addons->atLeastOneOf** list of addons and at least one of them must be selected. More than one of the addons can be selected. **addons->exclude** list of addons that cannot be selected together. **addons->fields** list of fields that can be entered for the addon. **fields->type** possible values are PHONE and EMAIL. **fields->items** not used in this version. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7551344001436-Delivery-checkouts queryParameters: language: displayName: language type: string description: "The language to be used for delivery checkout." required: true currency: displayName: currency type: string description: "The currency to be used for the delivery checkout." required: true tocountry: displayName: tocountry type: string description: "ISO code for receiving country according to Country information in code lists." required: true tozipcode: displayName: tozipcode type: string description: "Zip code for the receiving address." required: true responses: 200: body: application/json: schema: freightCheckout example: | { "deliveryCheckoutId": "ece27d51-614d-4339-9728-4113e16b87ff+37", "options": [ { "id": "121f80bf-2652-43c7-9870-74de9d3157d9", "name": "Hemleverans", "description1": "Få paket hem", "description2": "", "description3": "", "description4": "", "description5": "", "carrierId": null, "priceDescription": null, "priceValue": null, "subOptions": [ { "id": "aa59c047-21cc-46fa-bb62-3ca2566b6bbe", "name": "PostNord Parcel", "description1": "Leverans 1-2 vardagar", "description2": "", "description3": "", "description4": "", "deliveryTime": "", "carrierId": "PLAB", "priceDescription": "20 kr", "priceValue": 20, "subOptions": [], "agents": [] }], "agents": [] }, { "id": "199e9ed0-5abf-4109-9899-270cf39f7138", "name": "MyPack Collect", "description1": "", "description2": "", "description3": "", "description4": "", "description5": "", "carrierId": "PLAB", "priceDescription": "29 SEK", "priceValue": 29, "subOptions": [], "agents": [ { "id": "74383", "name": "Agent name", "address1": "Agentstreet 1", "address2": null, "zipCode": "11111", "city": "STOCKHOLM", "country": "SE" }, { "id": "43333", "name": "Agent name", "address1": "Agentstreet 2", "address2": null, "zipCode": "11111", "city": "STOCKHOLM", "country": "SE" } ], "fields": null "addons": [ { "id": "FCNOTIFYEMAIL", "description": "E-postavisering", "selected": false, "priceDescription": "Gratis!", "price": 0, "oneOf": null, "atLeastOneOf": [ "FCNOTIFYEMAIL", "FCNOTIFYSMS", "FCNOTIFYLETTER" ], "exclude": [ "FCNOTIFYLETTER" ], "fields": [ { "id": "email", "description": "E-post", "type": "EMAIL", "value": null, "mandatory": true, "min": null, "max": null, "pattern": null, "items": [] } ] }, { "id": "FCNOTIFYSMS", "description": "SMS-avisering", "selected": false, "priceDescription": "40 SEK", "price": 40, "oneOf": null, "atLeastOneOf": [ "FCNOTIFYEMAIL", "FCNOTIFYSMS", "FCNOTIFYLETTER" ], "exclude": [ "FCNOTIFYLETTER" ], "fields": [ { "id": "sms", "description": "Sms", "type": "PHONE", "value": null, "mandatory": true, "min": null, "max": null, "pattern": null, "items": [] } ] }, { "id": "FCNOTIFYLETTER", "description": "Brevavisering", "selected": false, "priceDescription": "49 SEK", "price": 49, "oneOf": null, "atLeastOneOf": [ "FCNOTIFYEMAIL", "FCNOTIFYSMS", "FCNOTIFYLETTER" ], "exclude": [ "FCNOTIFYSMS", "FCNOTIFYEMAIL" ], "fields": [] } ] } ] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing deliverycheckoutId argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Failed to get delivery checkout" } post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create a prepared shipment from the delivery checkout configuration and the shipment object. A successful call to this entry point results in a prepared shipment. A normal shipment object can be used to set the shipment values in the same way as the other web services, for example stored-shipment. The deliverycheckout parameter is the deliverycheckoutid returned from the get request. It is important that the complete delivery checkout id is used as the parameter. This is because the version of the delivery checkout is inlcuded in the id. The selectedOptionId is the ID of the option that the user has selected. Prepareid is the ID that identifies the shipment when to create a stored shipment or to print the shipment. By default shipment data is not returned. To activate this option set returnShipmentData to true in the JSON request. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7551344001436-Delivery-checkouts This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. body: application/json: schema: freightCheckoutShipment example: | { "shipment": { "sender": { "quickId": "1", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE", "phone": "+46 31 725 35 00", "email": "email1@example.com" }, "receiver": { "name": "nShift Sthm", "address1": "Tegnérgatan 34", "zipcode": "11359", "city": "STOCKHOLM", "country": "SE", "phone": "+46 8 34 35 15", "email": "email2@example.com" }, "parcels": [{ "copies": "1", "weight": "1.2", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "senderReference": "sender ref 234", "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] }, "selectedOptionId": "aa59c047-21cc-46fa-bb62-3ca2566b6bbe", "selectedAddons": [{ "id": "FCNOTIFYSMS", "fields": [{ "id": "sms", "value": "0700000000" }] }], "prepareId": "100011", "returnShipmentData": false, "language": "en" } responses: 200: body: application/json: schema: shipment example: | { "sender": { "quickId": "1", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE", "phone": "+46 31 725 35 00", "email": "email1@example.com" }, "receiver": { "name": "nShift Sthm", "address1": "Tegnérgatan 34", "zipcode": "11359", "city": "STOCKHOLM", "country": "SE", "phone": "+46 8 34 35 15", "email": "email2@example.com" }, "service": { "id": "P15" }, "parcels": [{ "copies": "1", "weight": "37.5", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "senderReference": "sender ref 234", "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Can't find deliverycheckout" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Failed to save prepared shipment" } /{deliveryCheckoutId}/summary/{currency}: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Return a summary for the selected delivery options. For now this can be used to validate price. The same parameters as the get call must be used to get the correct result. You must also send in currency, selectedOption and selectedAddons. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7551344001436-Delivery-checkouts This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. body: application/json: schema: freightCheckoutShipment example: | { "shipment": { "sender": { "quickId": "1", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE", "phone": "+46 31 725 35 00", "email": "email1@example.com" }, "receiver": { "name": "nShift Sthm", "address1": "Tegnérgatan 34", "zipcode": "11359", "city": "STOCKHOLM", "country": "SE", "phone": "+46 8 34 35 15", "email": "email2@example.com" }, "parcels": [{ "copies": "1", "weight": "1.2", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "senderReference": "sender ref 234", "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] }, "selectedOptionId": "aa59c047-21cc-46fa-bb62-3ca2566b6bbe", "selectedAddons": [{ "id": "FCNOTIFYSMS", "fields": [{ "id": "sms", "value": "0700000000" }] }], "prepareId": "100011", "returnShipmentData": false, "language": "en" } responses: 200: body: application/json: schema: freightCheckoutSummaryData example: | { "deliveryCheckoutId": "asdfasdf", "currency": "SEK", "totalPrice": "100.0", "taxRate": "0.0" } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Can't find deliverycheckout" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Failed to save prepared shipment" } /{deliveryCheckoutId}/shipments: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > NOTE: This is only for LTS customers. Create a shipment from the delivery checkout configuration and the shipment object. A successful call to this entry point results in a shipment. The deliverycheckout parameter is the deliverycheckoutid returned from the get request. It is important that the complete delivery checkout id is used as the parameter. This is because the version of the delivery checkout is included in the id. The selectedOptionId is the ID of the option that the user has selected. Prepareid is the ID that identifies the shipment when to create a stored shipment or to print the shipment. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7551344001436-Delivery-checkouts This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. body: application/json: schema: deliveryCheckoutShipment example: | { "selectedOptionId": "aa59c047-21cc-46fa-bb62-3ca2566b6bbe", "language": "en", "prepareId": "100011", "sender": { "quickId": "1", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "zipCode": "41121", "city": "GÖTEBORG", "country": "SE", "phone": "+46 31 725 35 00", "email": "email1@example.com" }, "receiver": { "name": "nShift Sthm", "address1": "Tegnérgatan 34", "zipCode": "11359", "city": "STOCKHOLM", "country": "SE", "mobile": "+46 8 34 35 15", "email": "email2@example.com" }, "agent": { "quickId": "89893939" }, "addons": [{ "id": "SMSADVISING", "fields": [{ "id": "PHONE", "value": "0700000000" }] }], "references": [{ "type": "25", "reference": "Some text" }], "fields": [{ "id": "RECEIVERDOORCODE", "value": "12345" }] } responses: 200: body: application/json: schema: deliveryCheckoutPostShipment example: | { "sourceSystem": "UO", "serviceId": "SERVICE", "serviceCaption": "Parcel", "optionTitle": "Parcel Home Delivery" } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Can't find deliverycheckout" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Failed to save shipment" } /delivery-checkout-shipments: # Delivery Checkout Shipments / /{prepareId}: uriParameters: prepareId: displayName: Prepare ID type: string description: The prepare ID of a stored partial shipment. required: true get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get a stored partial shipment. This is used to get a stored partial shipment that was previously created. Read more: https://helpcenter.nshift.com/hc/en-us/sections/7727711591196-Checkout-and-other-systemsl This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. responses: 200: body: application/json: schema: deliveryCheckoutShipmentOutData example: | { "serviceId": "DCTEST", "serviceTitle": "Delivery Checkout Test Service", "sourceSystem": "UO", "orderNo": "order number 123", "prepareId": "123", "sender": { "quickId": "1", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "zipCode": "41121", "city": "GÖTEBORG", "country": "SE", "phone": "+46 31 725 35 00", "email": "email1@example.com" }, "receiver": { "name": "nShift Sthm", "address1": "Tegnérgatan 34", "zipCode": "11359", "city": "STOCKHOLM", "country": "SE", "phone": "+46 8 34 35 15", "email": "email2@example.com" } } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: !!null 404: description: > Returned when the stored partial shipment could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: !!null delete: securedBy: [bearerToken, basicAuth] is: [secured] description: > Delete a stored partial shipment. This is used to delete a stored partial shipment that was previously created. When deleted the prepare id can be reused for new stored partial shipments. Read more: https://helpcenter.nshift.com/hc/en-us/sections/7727711591196-Checkout-and-other-systems This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. responses: 204: description: > No response body returned when a stored partial shipment is successfully deleted. body: application/json: !!null 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: !!null 404: description: > Returned when the stored partial shipment could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: !!null /{prepareId}/sourceSystem: uriParameters: prepareId: displayName: Prepare ID type: string description: The prepare ID of a stored partial shipment. required: true get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get the source system of the service used in a stored partial shipment. This is used to find which source system the service in a previously created stored partial shipment is from. The main use for this would be in a situation where only the prepareId is known and the delivery checkout configuration contains options with services from multiple source systems. Read more: https://helpcenter.nshift.com/hc/en-us/sections/7727711591196-Checkout-and-other-systems This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. responses: 200: body: application/json: schema: deliveryCheckoutShipmentMetaData example: | { "sourceSystem": "UO" } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: !!null 404: description: > Returned when the stored partial shipment could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: !!null /prepared-shipments: # Prepared Shipments / /{prepareId}: uriParameters: prepareId: displayName: Prepare ID type: string description: The prepare ID of a prepared shipment. required: true delete: securedBy: [bearerToken, basicAuth] is: [secured] description: > Delete a prepared shipment. The prepared shipment will be completely deleted from the system when this call returns successfully. No further operation will be possible on the ID of the prepared shipment. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7553024469404-Prepared-shipments This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. responses: 204: description: > No response body returned when a prepared shipment is successfully deleted. body: application/json: !!null 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing prepared id argument" } 404: description: > Returned when the prepared shipment to delete could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get a prepared shipment. This is used to get a prepared shipment that was previously created. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7553024469404-Prepared-shipments This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. responses: 200: body: application/json: schema: shipment example: | { "sender": { "quickId": "1", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE", "phone": "+46 31 725 35 00", "email": "email1@example.com" }, "senderPartners": [{ "id": "PLAB", "custNo": "XX" }], "receiver": { "name": "nShift Sthm", "address1": "Tegnérgatan 34", "zipcode": "11359", "city": "STOCKHOLM", "country": "SE", "phone": "+46 8 34 35 15", "email": "email2@example.com" }, "service": { "id": "P15" }, "parcels": [{ "copies": "1", "weight": "37.5", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "senderReference": "sender ref 234", "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing prepared id argument" } 404: description: > Returned when the prepared shipment could not be found. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } post: securedBy: [bearerToken, basicAuth] is: [secured] description: > This is used to create a prepared shipment without delivery checkout configuration. A successful call to this entry point results in a prepared shipment. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7553024469404-Prepared-shipments This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. body: application/json: schema: shipment example: | { "sender": { "quickId": "1", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE", "phone": "+46 31 725 35 00", "email": "email1@example.com" }, "senderPartners": [{ "id": "PLAB", "custNo": "XX" }], "receiver": { "name": "nShift Sthm", "address1": "Tegnérgatan 34", "zipcode": "11359", "city": "STOCKHOLM", "country": "SE", "phone": "+46 8 34 35 15", "email": "email2@example.com" }, "service": { "id": "P15" }, "parcels": [{ "copies": "1", "weight": "37.5", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "senderReference": "sender ref 234", "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] } responses: 200: body: application/json: schema: shipment example: | { "sender": { "quickId": "1", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE", "phone": "+46 31 725 35 00", "email": "email1@example.com" }, "senderPartners": [{ "id": "PLAB", "custNo": "XX" }], "receiver": { "name": "nShift Sthm", "address1": "Tegnérgatan 34", "zipcode": "11359", "city": "STOCKHOLM", "country": "SE", "phone": "+46 8 34 35 15", "email": "email2@example.com" }, "service": { "id": "P15" }, "parcels": [{ "copies": "1", "weight": "37.5", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "senderReference": "sender ref 234", "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment data in body" } 422: description: > Returned when the shipment data in the body could not be processed to create a stored shipment. body: application/json: 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Prepared Shipments / / Stored Shipments /{prepareId}/stored-shipments: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create a new stored shipment from a prepared shipment. To create a basic shipment only a limited number of values are needed in the shipment data of the request body but the stored shipment will likely not be ready to print. For a stored shipment to be created as *`ready`* the values provided must fulfill the specific requirements of the shipment's service. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7553024469404-Prepared-shipments This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. queryParameters: keepPreparedShipment: displayName: keepPreparedShipment type: boolean description: "Should be set to true if the same prepareid should be used again." required: false body: application/json: schema: shipment example: | { "sender": { "quickId": "1", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE", "phone": "+46 31 725 35 00", "email": "email1@example.com" }, "receiver": { "name": "nShift Sthm", "address1": "Tegnérgatan 34", "zipcode": "11359", "city": "STOCKHOLM", "country": "SE", "phone": "+46 8 34 35 15", "email": "email2@example.com" }, "parcels": [{ "copies": "1", "weight": "37.5", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "senderReference": "sender ref 234", "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] } responses: 201: body: application/json: schema: storedShipmentInfo example: | { "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/stored-shipments/4127538", "id": "4127538", "sndName": "nShift Gbg", "sndZipcode": "41121", "sndCity": "GÖTEBORG", "sndCountry": "SE", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "P15", "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "normalShipment": true, "returnShipment": false, "status": "READY", "shipDate": "2015-06-02T14:05:56.342+0000", "created": "2015-06-02T14:05:56.569+0000", "changed": "2015-06-02T14:05:56.569+0000", "statuses": [{ "message": "maximum value (35) exceeded", "messageCode": "MaximumFlt", "field": "ParcelGroup_Weight", "location": "ParcelGroupWeight", "type": "ignorable" }], "addons": "[NOTSMS]" } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipment data in body" } 422: description: > Returned when the shipment data in the body could not be processed to create a stored shipment. body: application/json: 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Prepared Shipments / / Shipments /{prepareId}/shipments: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create one or more shipments from a prepared shipment. A successful call to this entry point can result in either a shipment or a consolidated shipment. Use the *`consolidated`* value in the result to check what type of object was created. Multiple shipments can be created if the stored shipment represent a combined normal and return shipment. PDF or ZPL documents will be created according to the provided print configuration. Please note that the generated documents will only be available for 1 hour. By default the documents have to be requested from the URL contained in the *`href`* value of *`prints`* objects in the result. As an option the documents can be inline in the print.data objects in the result. The print.data object is encoded in base64. To activate this option include a query parameter named *`returnFile`* with the value set to *`true`*. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7553024469404-Prepared-shipments This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Delivery checkout** license key. queryParameters: inlinePdf: displayName: returnFile type: boolean description: Include document as base64 encoded value in result. required: false keepPreparedShipment: displayName: keepPreparedShipment type: boolean description: "Should be set to true if the same prepareid should be used again." required: false body: application/json: schema: shipmentPrint example: | { "printConfig": { "target1Media": "thermo-250", "target1Type": "zpl", "target1XOffset": 0, "target1YOffset": 0, "target1Options": [{ "key": "mode", "value": "DT" }], "target2Media": "laser-a4", "target2Type": "pdf", "target2XOffset": 0, "target2YOffset": 0, "target3Media": null, "target3Type": null, "target3XOffset": 0, "target3YOffset": 0, "target4Media": null, "target4Type": null, "target4XOffset": 0, "target4YOffset": 0 }, "shipment": { "sender": { "phone": "+46 31 725 35 00", "email": "email1@example.com", "quickId": "1", "zipcode": "41121", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "country": "SE", "city": "GÖTEBORG" }, "senderPartners": [{ "id": "PLAB", "custNo": "XX" }], "parcels": [{ "copies": "1", "weight": "2.75", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "receiver": { "phone": "+46 8 34 35 15", "email": "email2@example.com", "zipcode": "11359", "name": "nShift Sthm", "address1": "Tegnérgatan 34", "country": "SE", "city": "STOCKHOLM" }, "senderReference": "sender ref 234", "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] } } responses: 201: body: application/json: schema: shipmentInfo example: | [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666303", "id": "5666303", "sndName": "nShift Gbg", "sndZipcode": "41121", "sndCity": "GÖTEBORG", "sndCountry": "SE", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "P15", "shipmentNo": null, "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "parcels": [{ "parcelNo": "69563053687SE", "reference": null }], "normalShipment": false, "returnShipment": false, "consolidated": false, "status": "PRINTED", "shipDate": "2015-06-02T14:05:56.342+0000", "created": "2015-06-02T14:05:56.569+0000", "changed": "2015-06-02T14:05:56.569+0000", "prints": [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666303/prints/10234334", "id": "10234334", "type": "pdf", "description": "Label", }], "previousPrints": null, "addons": "[NOTSMS]" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing stored shipment id argument" } 422: description: > Returned when the stored shipment could not be converted to a shipment. The reason for this could be an invalid print configuration or a stored shipment with status other than READY. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /prices: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch price information about a shipment. You can add additionl surcharges either amount, percent or both. If you add both the percent is calculated on sum of the price plus additional amount. You write percent as whole value for example if you want to add 10% you write 10. Read more: https://help.unifaun.com/uo-se/en/integrations/price-via-api.html This service requires a license for the **REST API price enquiry** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by **REST API price enquiry** license key. body: application/json: schema: shipmentPrice example: | { "additionalSurcharges": { "percent": 10.0, "amount": 5.0 }, "shipment": { "sender": { "phone": "+46 31 725 35 00", "email": "email1@example.com", "quickId": "1", "zipcode": "41121", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "country": "SE", "city": "GÖTEBORG" }, "parcels": [{ "copies": "1", "weight": "2.75", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "receiver": { "phone": "+46 8 34 35 15", "email": "email2@example.com", "zipcode": "11359", "name": "nShift Sthm", "address1": "Tegnérgatan 34", "country": "SE", "city": "STOCKHOLM" }, "senderReference": "sender ref 234", "service": { "id": "BHP" }, "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] } } responses: 200: body: application/json: schema: price example: | { "price": 69, "additionalSurcharges": 20, "priceWithAdditionalSurcharges": 89, } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing shipmentprice argument"" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } # Prices / History /history: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch information about prices for shipments. To fetch batches of prices this entry point uses a query parameter *`fetchId`* to track which prices have been returned by previous calls. A client using this entry point should save the *`fetchId`* returned by a previous call and use that as parameter value for the next call. If no *`fetchId`* is available from a previous call the value -1 can used to make a call that will return the *`fetchId`* to use in a subsequent call. No more than 100 prices are returned as a result of a single call. If more than 100 prices are available the *`done`* value in the result will be *`false`* and you should make another call to fetch the remaining prices. Repeated calls when *`done`* is *`false`* are not subject to the rate limits (see below) of this entry point. There is a rate limit on this entry point and if calls are made too fast the *`minDelay`* value in the result will return how long you have to wait (in milliseconds) before calling again. To avoid an uneven call rate because of the rate limit try to keep the call rate to less than one call per five minutes. Read more: https://help.unifaun.com/uo-se/en/integrations/price-via-api.html This service requires a license for the **Status events** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by **REST API price enquiry** license key. queryParameters: fetchId: displayName: fetchId type: string description: The ID of the next batch of shipments to fetch. required: false body: application/json: schema: additionalSurcharges example: | { "percent": 10.0, "amount": 5.0 } responses: 200: body: application/json: schema: priceHistory example: | { "fetchId": "1", "minDelay": 100, "done": true, "priceHistoryList": [{ "shipmentNo": null, "orderNo": "order number 123", "reference": "2015-06-03T13:18:30.000+0000", "serviceId": "P18", "partnerId": "PLAB", "parcelCount": 2, "parcelNumbers": [ "10000000000SE", "10000000001SE" ], "printdate": "2015-06-02T14:05:56.342+0000", "shipdate": "2015-06-02T14:05:56.342+0000", "returnShipment": false, "normalShipment": false, "consolidated": false, "priceData": { "price": 69, "additionalSurcharges": 20, "priceWithAdditionalSurcharges": 89, } }] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing fetch id argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /onboarding: # Onboarding / Terms /terms/{language}: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Primary users of this service are members of the partner network and it requires a special license. To view available functions in your account, navigate to Help -> Session menu in your account and look in the License keys section. This function is represented by the **REST API Onboarding** license key. Read more: https://help.unifaun.com/phc-se/en/16401-16530-onboarding-api.html responses: 200: body: application/json: schema: onboardingTerms example: | { "userTerms": "As a legal representative of the organization above, I approve of the user terms for products from nShift. By using the application, nShift has legal right to debit the invoice address stated above. If you agree to the user terms based on a campaign or trial period, the prices will automatically be adjusted.
You will find all the applying conditions for products from nShift in the document below (Swedish only).

", "userTermsLink": "Prices, general sales and delivery terms" } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "ILLEGAL_ARG", "message": "Missing translations for language" } # Onboarding / Applications /applications/{language}: get: securedBy: [bearerToken, basicAuth] is: [secured] queryParameters: domain: displayName: domain type: string description: The code of the domain to filter available products. required: false description: > Primary users of this service are members of the partner network and it requires a special license. To view available functions in your account, navigate to Help -> Session menu in your account and look in the License keys section. This function is represented by the **REST API** Onboarding license key. Read more: https://help.unifaun.com/phc-se/en/16401-16530-onboarding-api.html responses: 200: body: application/json: schema: onboardingApplications example: | { "applications": [ { "code": "INT_UOPLUS_UWO_RESELLER", "name": "nShift Delivery Plus and nShift ERPConnect - OnlineConnect", "description": "Highlight the carriers customer intends to use, the customer can when confirming your order fill with carrier-unique data customer number.\n\nnShift Delivery Plus in combination with nShift ERPConnect to control the order information to nShift Delivery.", "extraDescription": "", "invoiceInfo": null, "mainProducts": [ { "code": "UWO-10", "name": "nShift Orderkoppling till nShift Delivery", "description": "Unifaun Orderkoppling till Unifaun Online, 2500 kr", "description2": null, "partners": [] }, { "code": "UWO-20", "name": "Användaravtal nShift Orderkoppling", "description": "Användaravtal nShift Orderkoppling 2000 kr/år", "description2": null, "partners": [] } ], "selectableProducts": [ { "code": "UF-BAS-22", "name": "nShift Delivery Standard 5 SE", "description": "De fem största transportörerna i Sverige + neutral.", "description2": null, "partners": [ { "code": "PNL", "name": "Bring Parcels AB", "fields": [ { "code": "CUSTNO" } ] }, { "code": "PNLNO", "name": "Bring Parcels Norge (utrikes)", "fields": [ { "code": "CUSTNO" } ] }, } ] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "ILLEGAL_ARG", "message": "No valid language" } # Onboarding / Applications /applications/{applicationCode}: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Primary users of this service are members of the partner network and it requires a special license. To view available functions in your account, navigate to Help -> Session menu in your account and look in the License keys section. This function is represented by the **REST API Onboarding** license key. Read more: https://help.unifaun.com/phc-se/en/16401-16530-onboarding-api.html body: application/json: schema: onboardingApplication example: | { "language": "sv", "kLevel": "2500", "company": { "name": "nShift Gbg", "orgNo": "5565463717", "vatNo": "SE5565463717", "deliveryAddress": { "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE" }, "postalAddress": { "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE" }, "invoiceAddress": { "address1": "Skeppsbron 5-6", "zipcode": "41121", "city": "GÖTEBORG", "country": "SE" }, "invoiceEmail": "email@email.com", "contact1": { "name": "Contact1", "phone": "1234567", "sms": "1234567", "email": "contact1@email.com" } }, "products": [{ "code": "UF-BAS-22" }], "partners": [{ "code": "SBTL", "customerNumber": "123456" }] } responses: 200: body: application/json: schema: onboardingApplicationResult example: | { "apiKey": "xxxx-xxxx", "login": "xxxxxxx" } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } 402: description: > Returned for expired or obsolete code. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "INVALID_OR_MISSING_APPLICATION_CODE", "message": "The application code has expired." } # Onboarding / Accounts /accounts: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Primary users of this service are members of the partner network and it requires a special license. To view available functions in your account, navigate to Help -> Session menu in your account and look in the License keys section. This function is represented by the **REST API Onboarding** license key. Read more: https://help.unifaun.com/phc-se/en/16401-16530-onboarding-api.html queryParameters: orgNo: displayName: orgNo type: string description: The organisation number of the account to search for. Can be combined with vatNo to search for either organisation or VAT number. required: false vatNo: displayName: vatNo type: string description: The VAT number of the account to search for. Can be combined with orgNo to search for either VAT or organisation number. required: false userId: displayName: userId type: string description: The user id of the account to search for. required: false responses: 200: body: application/json: schema: accountList example: | { "accounts": [{ "companyName": "nShift", "userId": "xxxxxxx", "orgNo": "xxxxxxxxxx", "vatNo": "xxxxxxxxxx" }] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /delivery-checkout-configurations: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get a list of all configurations for an account. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7553565314460-Delivery-Checkout-configurations responses: 200: body: application/json: example: | { "configurations": [ { "id": "05461a99-0c6b-4c3a-8aaf-90caaefaa3fe", "name": "Delivery checkout 1", "description": "", "active": true, "subVersion": 0 }, { "id": "9cf592aa-a7dc-4490-b8fd-9436cf872016", "name": "Delivery checkout 2", "description": "", "active": true, "subVersion": 0 } ] } 204: description: > User doesn't have any configurations. 500: description: > Internal error. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Create a new delivery checkout configuration. The simplest way to get a json is to create a delivery checkout and export it. This endpoint will always generate a new delivery checkout id and it will be activated after importing. Read more: https://helpcenter.nshift.com/hc/en-us/articles/7553565314460-Delivery-Checkout-configurations responses: 200: description: > Returns a delivery checkout id + version body: application/json: example: | { id: "05461a99-0c6b-4c3a-8aaf-90caaefaa3fe+0" name: "Name" description: "Description" active: true subVersion: 0 } 400: description: > Returned for missing or illegal values. body: application/json: schema: error example: | { "code": "ILLEGAL_ARG", "message": "Template is not valid"" } # Deliver checkout configurations / /{deliveryCheckoutId}: uriParameters: deliveryCheckoutId: displayName: Delivery Checkout ID type: string description: The delivery checkout ID + version. required: true get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get delivery checkout configuration Read more: https://helpcenter.nshift.com/hc/en-us/articles/7553565314460-Delivery-Checkout-configurations responses: 200: body: application/json: example: | { } 400: description: > Returned for missing or illegal values. body: application/json: schema: error example: | { "code": "ILLEGAL_ARG", "message": "Missing delivery checkout id." } 500: description: > Internal error. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } put: securedBy: [bearerToken, basicAuth] is: [secured] description: > Update a delivery checkout configuration. This will update an existing delivery checkout with a new version. This will not change active status either on the old or the new version. responses: 200: description: > Return a delivery checkout id plus version body: application/json: example: | { id: "05461a99-0c6b-4c3a-8aaf-90caaefaa3fe+1" name: "Name" description: "Description" active: true subVersion: 1 } 400: description: > Returned for missing or illegal values. body: application/json: schema: error example: | { "code": "ILLEGAL_ARG", "message": "Template is not valid"" } # Deliver checkout configurations / / status /{deliveryCheckoutId}/status: uriParameters: deliveryCheckoutId: displayName: Delivery Checkout ID type: string description: The delivery checkout ID + version required: true get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Get active status of a delivery checkout configuration (true or false) Read more: https://helpcenter.nshift.com/hc/en-us/articles/7553565314460-Delivery-Checkout-configurations responses: 200: body: application/json: example: | { active: true } 400: description: > Returned for missing or illegal values. body: application/json: schema: error example: | { "code": "ILLEGAL_ARG", "message": "Can't find delivery checkout." } put: securedBy: [bearerToken, basicAuth] is: [secured] description: > Update a status on a delivery checkout Read more: https://helpcenter.nshift.com/hc/en-us/articles/7553565314460-Delivery-Checkout-configurations body: application/json: schema: deliveryCheckoutConfigurationActive example: | { "active": false } responses: 200: body: application/json: example: | { active: true } 400: description: > Returned for missing or illegal values. body: application/json: schema: error example: | { "code": "ILLEGAL_ARG", "message": "Delivery checkout id must contain version +" } #Shipment-Waybill /shipment-waybills: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch information about shipments waybills. queryParameters: page: displayName: page type: number description: Number of page you need to see. Each page contains 50 records. required: true status: displayName: status type: string description: The status of waybill ( ALL, STD, PRINTED, CANCELLED ) - Default value is STD. required: false enum: [ '', ALL, STD, PRINTED, CANCELLED ] dateFrom: displayName: dateFrom type: string description: Filtering the records based on starting date. Must be in ISO-8601 date format, for example, 2020-01-01T01:00:00+00:00 required: false dateTo: displayName: dateTo type: string description: Filtering the records based on ending date. Must be in ISO-8601 date format, for example, 2020-01-01T01:00:00+00:00 required: false waybillType: displayName: waybillType type: string description: Filtering the records based on waybillType ( partnerId ). Can have multiple values separated with "," required: false waybillName: displayName: waybillName type: string description: Filtering the records based on waybillName ( bulkId ). Can have multiple values separated with "," required: false responses: 200: body: application/json: schema: shipmentWaybillDataResponse example: | { "page": 0, "totalPages": 1, "totalCount": 2, "shipmentWaybillData": [ { "id": 13, "bulkId": "UPSWE", "description": null, "type": "UPSEXPP", "crated": "2022-02-01 12:36:43.685", "updated": "2022-02-01 12:49:42.148" }, { "id": 12, "bulkId": "UPSWE", "description": null, "type": "UPSEXPP", "crated": "2022-02-01 12:29:44.729", "updated": "2022-02-01 12:33:54.929" } ] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing fetch id argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /{waybillId}: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > View waybill details. responses: 200: body: application/json: schema: waybillInfoData example: | { "id": 18, "name": "PostNord Norway Waybill test", "type": "PostNord Waybill", "description": null, "terminal": "PDKTERNO1", "status": "PRINTED", "recreateAfterPrinting": true, "numberOfShipmentsIncluded": 1, "shipments": [ { "id": 5339841, "reference": "", "orderNumber": null, "shipDate": "2022-05-19 13:56", "serviceCode": "P19DKBP", "serviceName": "PostNord DK MyPack Collect (Samsending)", "senderQuickId": "", "senderName": "TEST return adress", "senderCity": "SKAGEN", "senderCountry": "DK", "receiverQuickId": "", "receiverName": "Grand Hotel", "receiverCity": "OSLO", "receiverCountry": "NO", "numberOfParcels": "1", "totalWeight": "0" } ] } 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing fetch id argument" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /shipments: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Print a waybill by waybill id PDF or ZPL documents will be created according to the provided print configuration. Please note that the generated documents will only be available for 1 hour. By default the documents have to be requested from the URL contained in the *`href`* value of *`prints`* objects in the result. As an option the PDF or ZPL documents can be inline in the *`data`* object in the result *`print`* array. The *`print.data`* object is encoded in base64. To activate this option include a query parameter named *`returnFile`* with the value set to *`true`*. Read more: https://help.unifaun.com/uo-se/en/integrations/apiconnect.html This service requires a license for the **APIConnect** function that can be ordered separately. To view functions available to you, go to *Help* -> *Session* menu in your account and look in the License keys section. This function is represented by the **REST API Print** license key. body: application/json: schema: printConfig example: | { "printConfig": { "target1Media": "thermo-250", "target1Type": "zpl", "target1YOffset": 0, "target1XOffset": 0, "target1Options": [{ "key": "mode", "value": "DT" }], "target2Media": "laser-a4", "target2Type": "pdf", "target2YOffset": 0, "target2XOffset": 0, "target3Media": null, "target3Type": "pdf", "target3YOffset": 0, "target3XOffset": 0, "target4Media": null, "target4Type": "pdf", "target4YOffset": 0, "target4XOffset": 0 }, "shipment": { "sender": { "phone": "+46 31 725 35 00", "email": "email1@example.com", "quickId": "1", "zipcode": "41121", "name": "nShift Gbg", "address1": "Skeppsbron 5-6", "country": "SE", "city": "GÖTEBORG" }, "parcels": [{ "copies": "1", "weight": "2.75", "contents": "important things", "valuePerParcel": true }], "orderNo": "order number 123", "receiver": { "phone": "+46 8 34 35 15", "email": "email2@example.com", "zipcode": "11359", "name": "nShift Sthm", "address1": "Tegnérgatan 34", "country": "SE", "city": "STOCKHOLM" }, "senderReference": "sender ref 234", "service": { "waybillBagCount": "2", "waybillContainerCount": "3", "id": "P15" }, "receiverReference": "receiver ref 345", "options": [{ "message": "This is order number 123", "to": "email2@example.com", "id": "ENOT", "languageCode": "sv", "from": "email1@example.com" }] } } responses: 201: body: application/json: schema: shipmentInfo example: | [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666303", "id": "5666303", "sndName": "nShift Gbg", "sndZipcode": "41121", "sndCity": "GÖTEBORG", "sndCountry": "SE", "rcvName": "nShift Sthm", "rcvZipcode": "11359", "rcvCity": "STOCKHOLM", "rcvCountry": "SE", "serviceId": "P15", "shipmentNo": null, "orderNo": "order number 123", "reference": "sender ref 234", "parcelCount": 1, "parcels": [{ "parcelNo": "69563053687SE", "reference": null }], "normalShipment": false, "returnShipment": false, "consolidated": false, "status": "PRINTED", "shipDate": "2015-06-02T14:05:56.342+0000", "created": "2015-06-02T14:05:56.569+0000", "changed": "2015-06-02T14:05:56.569+0000", "prints": [{ "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/shipments/5666303/prints/10234334", "id": "10234334", "type": "zpl", "description": "Label" }], "previousPrints": null, "addons": "[NOTSMS]" }] 400: description: > Returned for missing or illegal arguments. This applies to path arguments, query arguments and body data. body: application/json: schema: error example: | { "code": "MISSING", "message": "Missing stored shipment id argument" } 422: description: > Returned when a waybill could not be printed. The reason for this could be an invalid print configuration or a stored shipment with status other than READY. body: application/json: !!null 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } #DirectPrint /print: /clients: get: securedBy: [ bearerToken, basicAuth ] is: [ secured ] description: > Fetch a list of all Print client applications. Return only partial list using pagination parameters page and size. queryParameters: page: displayName: page type: number description: Number of page you need to see. Each page contains 50 records default if the size is not provided. required: true size: displayName: size type: number description: Default value is 50. required: false responses: 200: body: application/json: schema: clientInformationList example: | [ { "id": 12, "name": "AnalyticalEngine", "inet": null, "inet6": null, "hostname": null, "version": null, "jre": null, "createTimestamp": "2015-11-16T23:14:12.354Z", "state": "disconnected" }, { "id": 13, "name": "TUNSTEN", "inet": "192.168.56.1", "inet6": null, "hostname": "Pete@TUNGSTEN", "version": "4.8.1", "jre": null, "createTimestamp": "2015-11-17T13:02:36.589Z", "state": "disconnected" } ] 401: description: > Returned for Access denied. This means you used an API key that was not registered on DPC. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Access Denied" } 403: description: > Returned for missing licence for api key 404: description: > Returned when no printer was found. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "No printers found with ids 461662" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /{clientId}: get: securedBy: [ bearerToken, basicAuth ] is: [ secured ] description: > Fetch a specific Print client application by clientId. responses: 200: body: application/json: schema: clientInformation example: | { "id": 12, "name": "AnalyticalEngine", "inet": null, "inet6": null, "hostname": null, "version": null, "jre": null, "createTimestamp": "2015-11-16T23:14:12.354Z", "state": "disconnected" } 401: description: > Returned for Access denied. This means you used an API key that was not registered on DPC. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Access Denied" } 403: description: > Returned for missing licence for api key 404: description: > Returned when no printer was found. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "No printers found with ids 461662" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /{clientId}/printers: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a list of all printers that have been connected to a specific Print client application by clientId. Return only partial list using pagination parameters page and size. queryParameters: page: displayName: page type: number description: Filter results by page required: true medias: displayName: medias type: string description: Filter the response based on media types required: false size: displayName: size type: number description: Default is 50 results per page required: false responses: 200: body: application/json: schema: printerInformationList example: | [ { "printerId": 71153066, "clientId": 419133, "name": "Test", "options": [ { "key": "collate", "value": "true" }, { "key": "color", "value": "true" }, { "key": "copies", "value": "9999" }, { "key": "duplex", "value": "true" }, { "key": "supports_custom_paper_size", "value": "false" } ], "medias": [ { "id": "laser-3part", "description": "Laser (3 parts, 210 x 297 mm)" }, { "id": "laser-a4", "description": "Standard A4 (A4, 210 x 297 mm)" } ] }, { "printerId": 71153550, "clientId": 419166, "name": "CUPS-BRF-Printer", "options": [ { "key": "collate", "value": "true" }, { "key": "color", "value": "true" }, { "key": "copies", "value": "9999" }, { "key": "duplex", "value": "true" }, { "key": "supports_custom_paper_size", "value": "false" } ], "medias": [ { "id": "laser-3part", "description": "Laser (3 parts, 210 x 297 mm)" }, { "id": "laser-a4", "description": "Standard A4 (A4, 210 x 297 mm)" } ] } ] 401: description: > Returned for Access denied. This means you used an API key that was not registered on DPC. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Access Denied" } 403: description: > Returned for missing licence for api key 404: description: > Returned when no printer was found. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "No computers found for ids 461662" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /printers: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a list of all printers that have been connected to any Print client applications. Return only partial list using pagination parameters page and size. queryParameters: page: displayName: page type: number description: Number of page you need to see. Each page contains 50 records default if the size is not provided. required: true size: displayName: size type: number description: Default value is 50. required: false responses: 200: body: application/json: schema: printerInformationList example: | [ { "printerId": 71153066, "clientId": 419133, "name": "Test", "options": [ { "key": "collate", "value": "true" }, { "key": "color", "value": "true" }, { "key": "copies", "value": "9999" }, { "key": "duplex", "value": "true" }, { "key": "supports_custom_paper_size", "value": "false" } ], "medias": [ { "id": "laser-3part", "description": "Laser (3 parts, 210 x 297 mm)" }, { "id": "laser-a4", "description": "Standard A4 (A4, 210 x 297 mm)" } ] }, { "printerId": 71153550, "clientId": 419166, "name": "CUPS-BRF-Printer", "options": [ { "key": "collate", "value": "true" }, { "key": "color", "value": "true" }, { "key": "copies", "value": "9999" }, { "key": "duplex", "value": "true" }, { "key": "supports_custom_paper_size", "value": "false" } ], "medias": [ { "id": "laser-3part", "description": "Laser (3 parts, 210 x 297 mm)" }, { "id": "laser-a4", "description": "Standard A4 (A4, 210 x 297 mm)" } ] } ] 401: description: > Returned for Access denied. This means you used an API key that was not registered on DPC. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Access Denied" } 403: description: > Returned for missing licence for api key 404: description: > Returned when no printer was found. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "No printers found with ids 461662" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /{printerId}: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a specific printer that have been connected to a Print client by printerId. responses: 200: body: application/json: schema: printerInformationList example: | [ { "printerId": 71153066, "clientId": 419133, "name": "Test", "options": [ { "key": "collate", "value": "true" }, { "key": "color", "value": "true" }, { "key": "copies", "value": "9999" }, { "key": "duplex", "value": "true" }, { "key": "supports_custom_paper_size", "value": "false" } ], "medias": [ { "id": "laser-3part", "description": "Laser (3 parts, 210 x 297 mm)" }, { "id": "laser-a4", "description": "Standard A4 (A4, 210 x 297 mm)" } ] }, { "printerId": 71153550, "clientId": 419166, "name": "CUPS-BRF-Printer", "options": [ { "key": "collate", "value": "true" }, { "key": "color", "value": "true" }, { "key": "copies", "value": "9999" }, { "key": "duplex", "value": "true" }, { "key": "supports_custom_paper_size", "value": "false" } ], "medias": [ { "id": "laser-3part", "description": "Laser (3 parts, 210 x 297 mm)" }, { "id": "laser-a4", "description": "Standard A4 (A4, 210 x 297 mm)" } ] } ] 401: description: > Returned for Access denied. This means you used an API key that was not registered on DPC. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Access Denied" } 403: description: > Returned for missing licence for api key 404: description: > Returned when no printer was found. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "No printers found with ids 461662" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /printjobs: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a list of all print jobs sent to any Print client filtered by dateFrom, dateTo and status. Return only partial list using pagination parameters page and size. queryParameters: page: displayName: page type: number description: Number of page you need to see. Each page contains size records. required: true size: displayName: size type: number description: Each page contains size records. required: false status: displayName: status type: string description: Filter the response based on status=RECEIVED,SENT,FAILED,PRINTED,REGISTERED,READY_FOR_PRINTING required: false dateFrom: displayName: dateFrom type: string description: Filter the response based on dateFrom required: false dateTo: displayName: dateTo type: string description: Filter the response based on dateTo required: false responses: 200: body: application/json: schema: printJobsHistoryResponse example: | { "page": 0, "totalPages": 1, "printJobs": [ { "id": 10, "status": "Info > Received", "type": "raw_uri", "created": "2022-12-02 11:51:38.963" }, { "id": 11, "status": "Info > Received", "type": "raw_uri", "created": "2022-12-02 11:52:42.346" } ] } 401: description: > Returned for Access denied. This means you used an API key that was not registered on DPC. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Access Denied" } 403: description: > Returned for missing licence for api key 404: description: > Returned when no printer was found. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal server error when getting printJob history" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /{printJobId}: get: securedBy: [bearerToken, basicAuth] is: [secured] description: > Fetch a specific print job that has been sent to a Print client by printJobId. responses: 200: body: application/json: schema: printJobBaseResponse example: | { "id": 40, "status": "PRINTED", "type": "application/octet-stream", "created": "Mon Mar 21 14:15:36 CET 2022" } 401: description: > Returned for Access denied. This means you used an API key that was not registered on DPC. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Access Denied" } 403: description: > Returned for missing licence for api key 404: description: > Returned when no printer was found. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "No printJob found in DB for id '1000'" } 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /shipments/{shipmentId}/prints/{printId}/printjobs: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Send a print job to any connected printer by shipmentId and printId. Define printerId and other print job settings in the request body. Returns the resulting print job. The endpoint works with formats PDF or RAW, where RAW is any other format generated as a printed document. The property contentType must be either of the following values: pdf_base64, pdf_uri, raw_base64, raw_uri. and defaults to *_uri depending on format of the generated document. body: application/json: schema: printJobReceivedRequest example: | { "name": "Printer name", "printerId": 1, "reference": "Reference", "contentType" : "pdf_base64", "options": [{ "key": "tray", "value": "bin1" }] } responses: 200: description: > Returns the created PrintJobResponse when a sender is successfully created. body: application/json: schema: printJobResponse example: | { "id": 12345, "status": "PRINTED", "type": "application/octet-stream", "created": "Mon Mar 21 14:15:36 CET 2022", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/printjob/12345" } 401: description: > Returned for Access denied. This means you used an API key that was not registered on DPC. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Access Denied" } 403: description: > Returned for missing licence for api key 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /shipment-manifests/{manifestId}/prints/{printId}/printjobs: post: securedBy: [bearerToken, basicAuth] is: [secured] description: > Send a print job to any connected printer by manifestId and printId. Define printerId and other print job settings in the request body. Returns the resulting print job. The endpoint works with formats PDF or RAW, where RAW is any other format generated as a printed document. The property contentType must be either of the following values: pdf_base64, pdf_uri, raw_base64, raw_uri. and defaults to *_uri depending on format of the generated document. body: application/json: schema: printJobReceivedRequest example: | { "name": "Printer name", "printerId": 1, "reference": "Reference", "contentType" : "pdf_base64", "options": [{ "key": "tray", "value": "bin1" }] } responses: 200: description: > Returns the created PrintJobResponse when a sender is successfully created. body: application/json: schema: printJobResponse example: | { "id": 12345, "status": "PRINTED", "type": "application/octet-stream", "created": "Mon Mar 21 14:15:36 CET 2022", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/printjob/12345" } 401: description: > Returned for Access denied. This means you used an API key that was not registered on DPC. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Access Denied" } 403: description: > Returned for missing licence for api key 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" } /consolidated-shipments/{consolidatedId}/prints/{printId}/printjobs: post: securedBy: [ bearerToken, basicAuth ] is: [ secured ] description: > Send a print job to any connected printer by consolidatedId and printId. Define printerId and other print job settings in the request body. Returns the resulting print job. The endpoint works with formats PDF or RAW, where RAW is any other format generated as a printed document. The property contentType must be either of the following values: pdf_base64, pdf_uri, raw_base64, raw_uri. and defaults to *_uri depending on format of the generated document. body: application/json: schema: printJobReceivedRequest example: | { "name": "Printer name", "printerId": 1, "reference": "Reference", "contentType" : "pdf_base64", "options": [{ "key": "tray", "value": "bin1" }] } responses: 200: description: > Returns the created PrintJobResponse when a sender is successfully created. body: application/json: schema: printJobResponse example: | { "id": 12345, "status": "PRINTED", "type": "application/octet-stream", "created": "Mon Mar 21 14:15:36 CET 2022", "href": "https://www.unifaunonline.se/ufoweb-prod-202510211406/rs-extapi/v1/printjob/12345" } 401: description: > Returned for Access denied. This means you used an API key that was not registered on DPC. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Access Denied" } 403: description: > Returned for missing licence for api key 500: description: > Returned for internal server errors. If the error isn't resolved within a couple of minutes please contact Support for additional assistance to resolve the problem. body: application/json: schema: error example: | { "code": "INTERNAL", "message": "Internal error" }