How it works
Zonos Collect integrates into your existing landed cost workflow. When you add quoteType
: COLLECT
to your landedCostCalculateWorkflow
mutation, the request functions identically to a standard landed cost calculation; it returns all the same data, but additionally triggers the Collect workflow.
The process is simple: specify quoteType
: COLLECT
in your request, and the system automatically generates a payment cart, sends the cart link to the destination party's email, and converts the quote to an order once payment is completed.
Create a Collect quote
Use the same GraphQL workflow you're already familiar with, just add one parameter. Adding quoteType: COLLECT
to your landedCostCalculateWorkflow
input triggers the entire Collect process while maintaining all existing functionality. The links
field in the response returns the checkout session URL, which you can store and use for follow-up with the payee as needed.
MUTATION
GraphQL
mutation {
partyCreateWorkflow(
input: [
{
person: { companyName: "Acme Electronics" }
location: {
line1: "123 Commerce Blvd"
locality: "San Francisco"
administrativeAreaCode: "CA"
postalCode: "94102"
countryCode: US
}
type: ORIGIN
}
{
person: {
firstName: "Emma"
lastName: "Thompson"
email: "emma.thompson@example.co.uk"
}
location: {
line1: "45 High Street"
locality: "Manchester"
administrativeAreaCode: "ENG"
postalCode: "M1 1AA"
countryCode: GB
}
type: DESTINATION
}
]
) {
type
id
organization
}
itemCreateWorkflow(
input: [
{
amount: 149.99
currencyCode: USD
countryOfOrigin: CN
quantity: 2
productId: "WH-1000XM4"
hsCode: "8518.30"
description: "Wireless Noise Cancelling Headphones"
}
]
) {
id
amount
quantity
description
}
cartonizeWorkflow {
id
}
shipmentRatingCreateWorkflow(
input: {
serviceLevelCode: "fedex.international_priority"
amount: 45.00
currencyCode: USD
}
) {
id
amount
}
landedCostCalculateWorkflow(
input: {
endUse: NOT_FOR_RESALE
method: DDP
tariffRate: ZONOS_PREFERRED
quoteType: COLLECT
}
) {
id
landedCostGuaranteeCode
links {
key
url
}
amountSubtotals {
duties
fees
taxes
landedCostTotal
}
fees {
amount
currency
type
item {
productId
}
}
}
}
Webhooks
Configure an ORDER_CREATED
webhook to get notified as soon as any quote converts to an order:
MUTATION
GraphQL
mutation {
webhookCreate(
input: {
status: ENABLED
type: ORDER_CREATED
url: "https://your.endpoint.com/zonos-webhooks"
}
) {
id
status
url
}
}
The payload will include a type field. Check payload.type === "COLLECT"
to handle only Collect orders:
javascript
if (payload.type === "COLLECT") {
}
Dashboard management
Quotes and orders: Collect quotes and orders display with "COLLECT" badges in Dashboard. You can filter by the quote type to view and manage collect-specific quotes and monitor payment status.
Email branding: Adjust the email branding for Collect payment carts under Dashboard → Settings → Email Templates
Consignee experience
When you create a Collect quote, your customer receives an automated email with a secure payment link. The payment cart displays duties, taxes, and fees with full transparency while keeping your product pricing private.
For complete details on the payment process, supported countries and languages, and customization options, see the Consignee experience guide.
Get started with Collect
Collect duties, taxes, and fees from consignees before delivery.