Pircel public API

Pircel provides you with APIs that you can use for processes involving your store and your partner carriers. For a procedure such as "Create Voucher", we provide you with an API call for all delivery companies.

How to send a request?

const response = await fetch("https://test-api.pircel.com", {
  method: "POST",
  mode: "cors",
  headers: new Headers({
    "Content-Type": "application/json",
    // replace '1234' with your API key
    apikey: "1234"
  }),
  body: JSON.stringify({
    query: `mutation createVoucher(: String, : String!, : Int!, : Date){
      createVoucher(notes: , orderId: , packagesQuantity: , pickupDate: ){
        voucherPrintDocuments
        vouchers
      }
    }`,
    variables: {
      notes: "Fragile packages",
      orderId: "14317",
      packagesQuantity: 2,
      pickupDate: "2023-10-03",
    }
  })
});

With JavaScript, it is possible to just use a template literal and simplify the API call body.

const response = await fetch('https://test-api.pircel.com', {
  method: 'POST',
  mode: 'cors',
  headers: new Headers({
    'Content-Type': 'application/json',
    // replace '1234' with your API key
    apikey: '1234',
  }),
  body: JSON.stringify({
    query: `mutation {
      createVoucher(
        notes: "Fragile",
        orderId: "A1",
        packagesQuantity: 1,
        pickupDate: "2023-03-06",
      ) {
        vouchers
        voucherPrintDocuments
      }
    }`
  }),
});

You can find a working example on codesandbox.

We are using GraphQL API.

GraphQL is a query language and server-side runtime for application programming interfaces (APIs) that prioritizes giving clients exactly the data they request and no more. GraphQL is designed to make APIs fast, flexible, and developer-friendly.

API are separate in two categories query & mutation:

query: When we want to read an information that is already stored.

structure:

{
   field(arg: "value") {
     subField
   }
}

mutation: When we want to change information (create, update, delete).

structure:

mutation {
  field (arg: "value") {
    subField
  }
}

More info about GraphQL

You can go to https://test-api.pircel.com and have access to try all the queries/mutations (API) we provide to you.

To try any of the API first you should add a shipment.

Follow the link and run the default mutation that we provide to you.

The following error messages were suggested:


                'addShipment.invalidPostcode' ⇒ Μη έγκυρος ταχυδρομικός κώδικας
                'addShipment.orderIdAlreadyExists' ⇒ Η παραγγελία υπάρχει ήδη
                
                'authenticate.invalidSession' ⇒ Μη έγκυρο session, παρακαλώ συνδεθείτε ξανά
                
                'cancelVoucher.eshopNotFound' ⇒ Δεν βρέθηκε ηλεκτρονικό κατάστημα
                'cancelVoucher.orderNotFound' ⇒  Δεν βρέθηκε η παραγγελία
                
                'createPickupList.invalidDeliveryCompany' ⇒  Μη έγκυρη μεταφορική εταιρεία
                'createPickupList.noShipmentsForSelectedDeliveryCompanies' ⇒ Δεν βρέθηκαν οι αποστολές για τις επιλεγμένες μεταφορικές εταιρείες
                'createPickupList.noShipmentsFound' ⇒  Δεν βρέθηκαν οι αποστολές
                'createPickupList.unprintedVouchers' ⇒ Βρέθηκαν μη εκτυπωμένα παραστατικά
                
                'createVoucher.invalidDeliveryCompany' ⇒ Μη έγκυρη μεταφορική εταιρεία
                'createVoucher.invalidPickupDate' ⇒ Μη έγκυρη ημερομηνία παραλαβής
                'createVoucher.newArgsCancelFirstExistingVouchers' ⇒ Αδυναμία δημιουργίας ή λήψης νέου παραστατικού. Το παραστατικό έχει ήδη δημιουργηθεί για αυτή την παραγγελία. Παρακαλούμε για να προβείτε σε νέα δημιουργία ακυρώστε πρώτα το προηγούμενο παραστατικό.
                'createVoucher.orderNotFound' ⇒ Δεν βρέθηκε παραγγελία
                
                'forbidden'⇒ Απαγορεύεται η πρόσβαση
                'invalidpickuDateType', ⇒ Μη έγκυρη μορφή ημερομηνίας παραλαβής
                'login.userNotFound' ⇒ Δεν βρέθηκε ο χρήστης
                
                'pintVoucher.canceledVouchersFound' ⇒ Βρέθηκαν ακυρωμένα παραστατικά
                'printVoucher.orderNotFound' ⇒ Δεν βρέθηκε η παραγγελία
                'printVoucher.vouchersNotFound' ⇒ Δεν βρέθηκαν παραστατικά
                
                'updateShipment.invalidPostcode' ⇒ Μη έγκυρος ταχυδρομικός κώδικας
                'updateShipment.orderIdCannotChange' ⇒ Ο κωδικός της παραγγελίας δεν μπορεί να αλλάξει
                'updateShipment.shipmentCannotChange' ⇒ Η παραγγελία δεν μπορεί να αλλάξει γιατι έχουν ήδη δημιουργηθεί παραστατικά
                
                'speedex.apiInaccessible' ⇒ Το API της Speedex δεν είναι διαθέσιμο
                'speedex.cannotCreateSession' ⇒ Το API της Speedex δεν είναι διαθέσιμο
                'createVoucher.speedex.invalidPostcode' ⇒ Μη έγκυρος ταχυδρομικός κώδικας
                'speedex.noResponse' ⇒ Το API της Speedex δεν είναι διαθέσιμο
                'printPickupList.speedex.noPickupListNumber' ⇒ Δεν υπάρχει αριθμός λίστας παραλαβής
                'printVoucher.speedex.noVoucher' ⇒ Δεν βρέθηκε παραστατικό
                
API Endpoints
# Test (Currently offline):
https://test-api.pircel.com
# Production:
https://api.pircel.com
Headers
# Your API token from the dashboard. Must be included in all API calls.
apikey: <YOUR_TOKEN_HERE>

Queries

eshop

Description

Get eshop details

Response

Returns an Eshop

Arguments
Name Description
_id - ObjectID

Example

Query
query Eshop($_id: ObjectID) {
  eshop(_id: $_id) {
    _id
    address
    addressBook {
      _id
      address
      city
      country
      isDefault
      name
      postcode
    }
    city
    deliveryCompanies {
      name
    }
    name
    phone
    postcode
  }
}
Variables
{"_id": "5e5677d71bdc2ae76344968c"}
Response
{
  "data": {
    "eshop": {
      "_id": "5e5677d71bdc2ae76344968c",
      "address": "abc123",
      "addressBook": [Address],
      "city": "abc123",
      "deliveryCompanies": [DeliveryCompanyLight],
      "name": "abc123",
      "phone": "xyz789",
      "postcode": "abc123"
    }
  }
}

trackVoucher

Response

Returns [VoucherTracking]

Arguments
Name Description
code - String Voucher code

Example

Query
query TrackVoucher($code: String) {
  trackVoucher(code: $code) {
    checkpointAction
    checkpointDateTime
    checkpointLocation
    checkpointNotes
    code
    shipmentId
  }
}
Variables
{"code": "abc123"}
Response
{
  "data": {
    "trackVoucher": [
      {
        "checkpointAction": "xyz789",
        "checkpointDateTime": "2007-12-03T10:15:30Z",
        "checkpointLocation": "abc123",
        "checkpointNotes": "xyz789",
        "code": "abc123",
        "shipmentId": "5e5677d71bdc2ae76344968c"
      }
    ]
  }
}

Mutations

addShipment

Description

Add a shipment.

Response

Returns a Shipment

Arguments
Name Description
buyerNotes - String Customer's notes.
eshopId - ObjectID Required if the user belongs to or owns multiple eshops. Admins must specify an eshop. Not required for eshop integrations.
geniki - GenikiInput Geniki delivery company specific fields
height - Float! Parcel's height.
isB2BInvoice - Boolean Indicates if the shipment is for a B2B invoice (true) or B2C invoice (false). False by default.
length - Float! Parcel's length.
orderId - String Order's id. Must be provided for the prod-test environment
paymentMethod - ShipmentPaymentMethodEnum Customer's payment method.
products - [ProductInput]! List of products.
productsQuantity - Int! Products quantity.
recipient - RecipientCreateInput! Recipient details including address and contact information.
selectedDeliveryCompany - DeliveryCompanyEnum Customer's selected delivery company.
senderNotes - String Sender's notes.
status - ShipmentStatusEnum Shipment's status. For non-admin users, the only valid option is NEW, MANUALLY_CREATED or CHECKOUT_COMPLETE.
weight - Float! Parcel's weight.
width - Float! Parcel's width.

Example

Query
mutation AddShipment(
  $buyerNotes: String,
  $eshopId: ObjectID,
  $geniki: GenikiInput,
  $height: Float!,
  $isB2BInvoice: Boolean,
  $length: Float!,
  $orderId: String,
  $paymentMethod: ShipmentPaymentMethodEnum,
  $products: [ProductInput]!,
  $productsQuantity: Int!,
  $recipient: RecipientCreateInput!,
  $selectedDeliveryCompany: DeliveryCompanyEnum,
  $senderNotes: String,
  $status: ShipmentStatusEnum,
  $weight: Float!,
  $width: Float!
) {
  addShipment(
    buyerNotes: $buyerNotes,
    eshopId: $eshopId,
    geniki: $geniki,
    height: $height,
    isB2BInvoice: $isB2BInvoice,
    length: $length,
    orderId: $orderId,
    paymentMethod: $paymentMethod,
    products: $products,
    productsQuantity: $productsQuantity,
    recipient: $recipient,
    selectedDeliveryCompany: $selectedDeliveryCompany,
    senderNotes: $senderNotes,
    status: $status,
    weight: $weight,
    width: $width
  ) {
    _id
    buyerNotes
    costSummary {
      codFee
      deliveryFee
      productsTotal
      totalCost
    }
    createdAt
    deliveryCost
    eshopId
    geniki {
      chargeCode
    }
    isB2BInvoice
    orderId
    packagesQuantity
    parcels {
      billableWeight
      dimensions {
        ...ParcelDimensionsFragment
      }
      volumetricWeight
      weight
    }
    paymentMethod
    pickupDate
    pricing {
      deliveryCompany
      finalPrice
      maxDeliveryTime
      minDeliveryTime
      payOnDeliveryCost
      price
      priceMultiplier
      rating
    }
    products {
      description
      extraAttributes
      price
      quantity
      size
      sku
      title
    }
    productsQuantity
    recipient {
      address {
        ...RecipientAddressFragment
      }
      contact {
        ...RecipientContactFragment
      }
    }
    selectedDeliveryCompany
    senderNotes
    status
    voucherPrintDocuments {
      document
      status
    }
    vouchers {
      code
      status
      type
    }
  }
}
Variables
{
  "buyerNotes": "abc123",
  "eshopId": "5e5677d71bdc2ae76344968c",
  "geniki": GenikiInput,
  "height": 987.65,
  "isB2BInvoice": false,
  "length": 987.65,
  "orderId": "abc123",
  "paymentMethod": "BANK_DEPOSIT",
  "products": [ProductInput],
  "productsQuantity": 123,
  "recipient": RecipientCreateInput,
  "selectedDeliveryCompany": "ACS",
  "senderNotes": "abc123",
  "status": "CANCELED",
  "weight": 987.65,
  "width": 987.65
}
Response
{
  "data": {
    "addShipment": {
      "_id": "5e5677d71bdc2ae76344968c",
      "buyerNotes": "abc123",
      "costSummary": CostSummary,
      "createdAt": "2007-12-03T10:15:30Z",
      "deliveryCost": 123.45,
      "eshopId": "5e5677d71bdc2ae76344968c",
      "geniki": GenikiFields,
      "isB2BInvoice": true,
      "orderId": "abc123",
      "packagesQuantity": 987,
      "parcels": [Parcel],
      "paymentMethod": "BANK_DEPOSIT",
      "pickupDate": "2007-12-03",
      "pricing": [Pricing],
      "products": [Product],
      "productsQuantity": 987,
      "recipient": Recipient,
      "selectedDeliveryCompany": "ACS",
      "senderNotes": "xyz789",
      "status": "CANCELED",
      "voucherPrintDocuments": [VoucherPrintDocument],
      "vouchers": [Voucher]
    }
  }
}

cancelVoucher

Description

To cancel all vouchers of a specific order

Response

Returns a CanceledVouchers

Arguments
Name Description
eshopId - ObjectID Required if the user belongs to or owns multiple eshops. Admins must specify an eshop. Not required for eshop integrations.
orderId - String The order id. Either orderId or shipmentId must be provided
shipmentId - ObjectID The shipment id. Either orderId or shipmentId must be provided

Example

Query
mutation CancelVoucher(
  $eshopId: ObjectID,
  $orderId: String,
  $shipmentId: ObjectID
) {
  cancelVoucher(
    eshopId: $eshopId,
    orderId: $orderId,
    shipmentId: $shipmentId
  ) {
    canceledVouchers
  }
}
Variables
{
  "eshopId": "5e5677d71bdc2ae76344968c",
  "orderId": "xyz789",
  "shipmentId": "5e5677d71bdc2ae76344968c"
}
Response
{
  "data": {
    "cancelVoucher": {
      "canceledVouchers": ["xyz789"]
    }
  }
}

createPickupList

Description

Create a pickup list for all delivery companies which had been chosen for this pickup date

Response

Returns a CreatePickupListReturn

Arguments
Name Description
deliveryCompanies - [DeliveryCompanyEnum!]! The preferred delivery companies (based on the shop's cooperated delivery companies) to generate a pick-up list
eshopId - ObjectID Required if the user belongs to or owns multiple eshops. Admins must specify an eshop. Not required for eshop integrations.
pickupDate - String! The date "YYYY-MM-DD" that the delivery company should receive the package from the shop, this should be the same pickup date with createVouchers pickupDate. Defaults to today

Example

Query
mutation CreatePickupList(
  $deliveryCompanies: [DeliveryCompanyEnum!]!,
  $eshopId: ObjectID,
  $pickupDate: String!
) {
  createPickupList(
    deliveryCompanies: $deliveryCompanies,
    eshopId: $eshopId,
    pickupDate: $pickupDate
  ) {
    lists {
      code
      deliveryCompany
      printDocument
    }
  }
}
Variables
{
  "deliveryCompanies": ["ACS"],
  "eshopId": "5e5677d71bdc2ae76344968c",
  "pickupDate": "xyz789"
}
Response
{
  "data": {
    "createPickupList": {"lists": [PickupListsList]}
  }
}

createVoucher

Description

To create one or more vouchers for your order

Response

Returns a CreateVoucherReturn

Arguments
Name Description
eshopId - ObjectID Required if the user belongs to or owns multiple eshops. Admins must specify an eshop. Not required for eshop integrations.
notes - String Notes/comments for the delivery company
orderId - String The id of the order. Either orderId or shipmentId must be provided
packagesQuantity - Int! The quantity of the items/packages that are needed to have a voucher
pickupAddressId - ObjectID ID of the pickup address from the eshop address book. Defaults to the default address.
pickupDate - String Date "YYYY-MM-DD" that the delivery company should receive the package from the shop. Defaults to today.
shipmentId - ObjectID The id of the shipment. Either orderId or shipmentId must be provided

Example

Query
mutation CreateVoucher(
  $eshopId: ObjectID,
  $notes: String,
  $orderId: String,
  $packagesQuantity: Int!,
  $pickupAddressId: ObjectID,
  $pickupDate: String,
  $shipmentId: ObjectID
) {
  createVoucher(
    eshopId: $eshopId,
    notes: $notes,
    orderId: $orderId,
    packagesQuantity: $packagesQuantity,
    pickupAddressId: $pickupAddressId,
    pickupDate: $pickupDate,
    shipmentId: $shipmentId
  ) {
    voucherPrintDocuments
    vouchers
  }
}
Variables
{
  "eshopId": "5e5677d71bdc2ae76344968c",
  "notes": "abc123",
  "orderId": "xyz789",
  "packagesQuantity": 123,
  "pickupAddressId": "5e5677d71bdc2ae76344968c",
  "pickupDate": "xyz789",
  "shipmentId": "5e5677d71bdc2ae76344968c"
}
Response
{
  "data": {
    "createVoucher": {
      "voucherPrintDocuments": ["abc123"],
      "vouchers": ["xyz789"]
    }
  }
}

printVoucher

Description

Print a voucher

Response

Returns a VoucherPrintDocuments

Arguments
Name Description
eshopId - ObjectID Required if the user belongs to or owns multiple eshops. Admins must specify an eshop. Not required for eshop integrations.
orderId - String The order id. Either orderId or shipmentId must be provided
shipmentId - ObjectID The shipment id. Either orderId or shipmentId must be provided

Example

Query
mutation PrintVoucher(
  $eshopId: ObjectID,
  $orderId: String,
  $shipmentId: ObjectID
) {
  printVoucher(
    eshopId: $eshopId,
    orderId: $orderId,
    shipmentId: $shipmentId
  ) {
    voucherPrintDocuments
  }
}
Variables
{
  "eshopId": "5e5677d71bdc2ae76344968c",
  "orderId": "xyz789",
  "shipmentId": "5e5677d71bdc2ae76344968c"
}
Response
{
  "data": {
    "printVoucher": {
      "voucherPrintDocuments": ["abc123"]
    }
  }
}

Types

Address

Fields
Field Name Description
_id - ObjectID
address - String
city - String
country - String
isDefault - Boolean
name - String
postcode - String
Example
{
  "_id": "5e5677d71bdc2ae76344968c",
  "address": "abc123",
  "city": "abc123",
  "country": "xyz789",
  "isDefault": false,
  "name": "abc123",
  "postcode": "xyz789"
}

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

CanceledVouchers

Fields
Field Name Description
canceledVouchers - [String] The voucher codes that have been canceled (all voucher codes associated with this orderId)
Example
{"canceledVouchers": ["abc123"]}

CostSummary

Fields
Field Name Description
codFee - Float Cash on delivery fee.
deliveryFee - Float Delivery fee.
productsTotal - Float Total cost of products.
totalCost - Float Total cost of the shipment.
Example
{
  "codFee": 987.65,
  "deliveryFee": 987.65,
  "productsTotal": 987.65,
  "totalCost": 987.65
}

CreatePickupListReturn

Fields
Field Name Description
lists - [PickupListsList]
Example
{"lists": [PickupListsList]}

CreateVoucherReturn

Fields
Field Name Description
voucherPrintDocuments - [String] The documents of the signed vouchers that can be printed and put on the package(s)
vouchers - [String] The voucher codes
Example
{
  "voucherPrintDocuments": ["abc123"],
  "vouchers": ["xyz789"]
}

Date

Description

A date string, such as 2007-12-03, compliant with the full-date format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.

Example
"2007-12-03"

DateTime

Description

A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the date-time format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.

Example
"2007-12-03T10:15:30Z"

DeliveryCompanyEnum

Values
Enum Value Description

ACS

BCS

GENIKI

INTERNATIONAL_COURIER

SPEEDEX

TCS

Example
"ACS"

DeliveryCompanyLight

Fields
Field Name Description
name - DeliveryCompanyEnum
Example
{"name": "ACS"}

Eshop

Fields
Field Name Description
_id - ObjectID
address - String
addressBook - [Address]
city - String
deliveryCompanies - [DeliveryCompanyLight]
name - String
phone - String
postcode - String
Example
{
  "_id": "5e5677d71bdc2ae76344968c",
  "address": "xyz789",
  "addressBook": [Address],
  "city": "xyz789",
  "deliveryCompanies": [DeliveryCompanyLight],
  "name": "abc123",
  "phone": "abc123",
  "postcode": "abc123"
}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
123.45

GenikiFields

Fields
Field Name Description
chargeCode - String The charge code of another Geniki customer that should be charged for this shipment.
Example
{"chargeCode": "abc123"}

GenikiInput

Fields
Input Field Description
chargeCode - String The charge code of another Geniki customer that should be charged for this shipment.
Example
{"chargeCode": "xyz789"}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
123

ObjectID

Description

A field whose value conforms with the standard mongodb object ID as described here: https://docs.mongodb.com/manual/reference/method/ObjectId/#ObjectId. Example: 5e5677d71bdc2ae76344968c

Example
"5e5677d71bdc2ae76344968c"

Parcel

Fields
Field Name Description
billableWeight - Float Parcel's billable weight in kilograms. (The weight used for the price calculation. The greater of actual weight or volumetric weight)
dimensions - ParcelDimensions
volumetricWeight - Float Parcel's volumetric weight in kilograms. The overall size of a parcel measured in volumetric kilograms.
weight - Float Parcel's weight in kilograms.
Example
{
  "billableWeight": 123.45,
  "dimensions": ParcelDimensions,
  "volumetricWeight": 987.65,
  "weight": 987.65
}

ParcelDimensions

Fields
Field Name Description
height - Float
length - Float
width - Float
Example
{"height": 123.45, "length": 123.45, "width": 123.45}

PickupListsList

Fields
Field Name Description
code - String Pickup list number
deliveryCompany - DeliveryCompanyEnum Delivery company's name
printDocument - String Pickup list number
Example
{
  "code": "abc123",
  "deliveryCompany": "ACS",
  "printDocument": "xyz789"
}

Pricing

Fields
Field Name Description
deliveryCompany - DeliveryCompanyEnum Delivery company's name.
finalPrice - Float Final delivery price after applying multiplier and minimum price.
maxDeliveryTime - Int The maximum delivery time that customer will receive their parcel.
minDeliveryTime - Int The minimun delivery time that customer will receive their parcel.
payOnDeliveryCost - Float Delivery company's cost in case that the customer needs to pay when receives their parcel.
price - Float Delivery company's price.
priceMultiplier - Float Multiplier applied to the base price.
rating - Float Delivery company's rating.
Example
{
  "deliveryCompany": "ACS",
  "finalPrice": 123.45,
  "maxDeliveryTime": 123,
  "minDeliveryTime": 987,
  "payOnDeliveryCost": 123.45,
  "price": 123.45,
  "priceMultiplier": 987.65,
  "rating": 123.45
}

Product

Fields
Field Name Description
description - String A brief description of the product.
extraAttributes - [ProductExtraAttributesEnumType] List of extra attributes for the product, e.g., gift.
price - Float! The price of the product.
quantity - Int! The quantity of the product.
size - ProductSizeEnumType The size of the product. Not required if the shipment's dimensions and weight are provided.
sku - String The stock keeping unit (SKU) to identify the product.
title - String The title or name of the product.
Example
{
  "description": "abc123",
  "extraAttributes": ["GIFT"],
  "price": 123.45,
  "quantity": 123,
  "size": "L",
  "sku": "abc123",
  "title": "abc123"
}

ProductExtraAttributesEnumType

Values
Enum Value Description

GIFT

The product is marked as a gift.
Example
"GIFT"

ProductInput

Fields
Input Field Description
description - String A brief description of the product.
extraAttributes - [ProductExtraAttributesEnumType] List of extra attributes for the product, e.g., gift.
price - Float! The price of the product.
quantity - Int! The quantity of the product.
size - ProductSizeEnumType The size of the product. Not required if the shipment's dimensions and weight are provided.
sku - String The stock keeping unit (SKU) to identify the product.
title - String The title or name of the product.
Example
{
  "description": "xyz789",
  "extraAttributes": ["GIFT"],
  "price": 123.45,
  "quantity": 123,
  "size": "L",
  "sku": "xyz789",
  "title": "xyz789"
}

ProductSizeEnumType

Values
Enum Value Description

L

Large size.

M

Medium size.

S

Small size.

XL

Extra Large size.

XS

Extra Small size.

XXL

Double Extra Large size.
Example
"L"

Recipient

Description

Recipient details including address and contact information.

Fields
Field Name Description
address - RecipientAddress Address details.
contact - RecipientContact Contact details.
Example
{
  "address": RecipientAddress,
  "contact": RecipientContact
}

RecipientAddress

Description

Recipient's address details.

Fields
Field Name Description
addressLine1 - String Address line 1.
addressLine2 - String Address line 2.
addressLine3 - String Address line 3.
city - String City.
country - String Country.
county - String County.
postcode - String Postcode.
Example
{
  "addressLine1": "abc123",
  "addressLine2": "xyz789",
  "addressLine3": "abc123",
  "city": "xyz789",
  "country": "xyz789",
  "county": "abc123",
  "postcode": "xyz789"
}

RecipientAddressCreateInput

Description

Input type for recipient address used for shipment creation.

Fields
Input Field Description
addressLine1 - String! Address line 1.
addressLine2 - String Address line 2.
addressLine3 - String Address line 3.
city - String! City.
country - String! Country.
county - String County.
postcode - String! Postcode.
Example
{
  "addressLine1": "xyz789",
  "addressLine2": "xyz789",
  "addressLine3": "xyz789",
  "city": "abc123",
  "country": "xyz789",
  "county": "abc123",
  "postcode": "abc123"
}

RecipientContact

Description

Recipient's contact information.

Fields
Field Name Description
email - String Email address.
firstname - String First name.
lastname - String Last name.
phone - String Phone number.
Example
{
  "email": "xyz789",
  "firstname": "abc123",
  "lastname": "xyz789",
  "phone": "abc123"
}

RecipientContactCreateInput

Description

Input type for recipient contact used for shipment creation.

Fields
Input Field Description
email - String Email address.
firstname - String! First name.
lastname - String! Last name.
phone - String Phone number.
Example
{
  "email": "xyz789",
  "firstname": "xyz789",
  "lastname": "xyz789",
  "phone": "xyz789"
}

RecipientCreateInput

Description

Input type for recipient details used for shipment creation.

Fields
Input Field Description
address - RecipientAddressCreateInput! Recipient address.
contact - RecipientContactCreateInput! Recipient contact.
Example
{
  "address": RecipientAddressCreateInput,
  "contact": RecipientContactCreateInput
}

Shipment

Fields
Field Name Description
_id - ObjectID Shipment's id.
buyerNotes - String Buyer's notes.
costSummary - CostSummary Summary of costs associated with the shipment.
createdAt - DateTime The date and time when the shipment was created.
deliveryCost - Float Shipment's delivery cost.
eshopId - ObjectID Eshop's id.
geniki - GenikiFields Geniki delivery company specific fields
isB2BInvoice - Boolean Indicates if the shipment is for a B2B invoice (true) or B2C invoice (false). False by default.
orderId - String The unique order id
packagesQuantity - Int Number of packages in this shipment.
parcels - [Parcel] List of parcels in this shipment, each with their own dimensions and weights.
paymentMethod - ShipmentPaymentMethodEnum Customer's payment method.
pickupDate - Date Date "YYYY-MM-DD" that the delivery company should receive the package from the shop. Defaults to today
pricing - [Pricing] Parcel's pricing based on the selected delivery company's pricing.
products - [Product] List of products in the shipment.
productsQuantity - Int Products quantity.
recipient - Recipient! Recipient details including address and contact information.
selectedDeliveryCompany - DeliveryCompanyEnum Customer's selected delivery company.
senderNotes - String Sender's notes.
status - ShipmentStatusEnum Transction's status.
voucherPrintDocuments - [VoucherPrintDocument] The document of the signed voucher that can be printed and put on the package(s)
vouchers - [Voucher] The shipment's voucher based on the selected delivery company.
Example
{
  "_id": "5e5677d71bdc2ae76344968c",
  "buyerNotes": "xyz789",
  "costSummary": CostSummary,
  "createdAt": "2007-12-03T10:15:30Z",
  "deliveryCost": 123.45,
  "eshopId": "5e5677d71bdc2ae76344968c",
  "geniki": GenikiFields,
  "isB2BInvoice": true,
  "orderId": "abc123",
  "packagesQuantity": 987,
  "parcels": [Parcel],
  "paymentMethod": "BANK_DEPOSIT",
  "pickupDate": "2007-12-03",
  "pricing": [Pricing],
  "products": [Product],
  "productsQuantity": 987,
  "recipient": Recipient,
  "selectedDeliveryCompany": "ACS",
  "senderNotes": "abc123",
  "status": "CANCELED",
  "voucherPrintDocuments": [VoucherPrintDocument],
  "vouchers": [Voucher]
}

ShipmentPaymentMethodEnum

Values
Enum Value Description

BANK_DEPOSIT

The customer will pay for the order by bank deposit.

CARD

The customer will pay for the order by card.

CASH_ON_DELIVERY

The customer will pay for the order by cash on delivery.

NO_CHARGE

The customer will not be charged for the order.

PAYPAL

The customer will pay for the order by PayPal.
Example
"BANK_DEPOSIT"

ShipmentStatusEnum

Values
Enum Value Description

CANCELED

When the shipment has been canceled.

CHECKOUT_COMPLETE

When the customer has completed the checkout process.

MANUALLY_CREATED

When the shipment has been manually created.

NEW

When the shipment is just created and the customer still edit the delivery form

PICKUP_LIST_CREATED

When a pickup list has been created for the shipment.

VOUCHER_CANCELED

When a voucher has been canceled for the shipment.

VOUCHER_CREATED

When a voucher has been created for the shipment.
Example
"CANCELED"

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"abc123"

Voucher

Fields
Field Name Description
code - String The voucher code
status - VoucherStatusEnum
type - VouchertypeEnum
Example
{
  "code": "xyz789",
  "status": "ACTIVE",
  "type": "MAIN"
}

VoucherPrintDocument

Fields
Field Name Description
document - String The print document of the voucher
status - VoucherStatusEnum
Example
{"document": "abc123", "status": "ACTIVE"}

VoucherPrintDocuments

Fields
Field Name Description
voucherPrintDocuments - [String] The documents of the signed vouchers that can be printed and put on the package(s)
Example
{"voucherPrintDocuments": ["xyz789"]}

VoucherStatusEnum

Values
Enum Value Description

ACTIVE

The voucher is active

CANCELED

The voucher is canceled
Example
"ACTIVE"

VoucherTracking

Fields
Field Name Description
checkpointAction - String e.g ΑΝΑΧΩΡΗΣΗ ΛΑΜΙΑ
checkpointDateTime - DateTime 2019-01-11T15:38:44.153
checkpointLocation - String e.g HUB Π.ΡΑΛΛΗ
checkpointNotes - String Notes
code - String
shipmentId - ObjectID
Example
{
  "checkpointAction": "xyz789",
  "checkpointDateTime": "2007-12-03T10:15:30Z",
  "checkpointLocation": "xyz789",
  "checkpointNotes": "abc123",
  "code": "abc123",
  "shipmentId": "5e5677d71bdc2ae76344968c"
}

VouchertypeEnum

Values
Enum Value Description

MAIN

The main voucher

SUB

A sub voucher
Example
"MAIN"