> ## Documentation Index
> Fetch the complete documentation index at: https://partner-integrations.voyado.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Field mappings

Here are all the data mappings for the Engage - Shopify integration.

## Contact data mapping

| **Engage**                                       | **Source data (Shopify)**                                            | **Notes**                                                                  |
| :----------------------------------------------- | :------------------------------------------------------------------- | :------------------------------------------------------------------------- |
| Contact.externalId                               | Customer.id                                                          |                                                                            |
| Contact.contactType                              | "member" or "contact"                                                | Only set on contact creation. according to "Customer contact type" setting |
| Contact.firstName                                | Customer.firstName                                                   |                                                                            |
| Contact.lastName                                 | Customer.lastName                                                    |                                                                            |
| Contact.email                                    | Customer.email                                                       |                                                                            |
| Contact.gender                                   | voyado.gender                                                        | Available as a customer metafield in Shopify.                              |
| Contact.mobilePhone                              | Customer.phone                                                       |                                                                            |
| Contact.createdInStore                           | Associated Store for Customer.locale                                 | Based on market configuration in Engage App in Shopify                     |
| Contact.street                                   | Customer.defaultAddress.address1 ,  Customer.defaultAddress.address2 |                                                                            |
| Contact.city                                     | Customer.defaultAddress.city                                         |                                                                            |
| Contact.country                                  | Customer.defaultAddress.country                                      |                                                                            |
| Contact.countryCode                              | Customer.defaultAddress.countryCodeV2                                |                                                                            |
| Contact.language                                 |                                                                      |                                                                            |
| Contact.externalId                               |                                                                      | Shopify internal Id                                                        |
| Contact.preferences.acceptsEmail                 | Customer.emailMarketingConsent.marketingState == SUBSCRIBED          | Set on Contact creation and opt-in through an order                        |
| Contact.preferences.acceptsSms                   | Customer.smsMarketingConsent.marketingState == SUBSCRIBED            | Set on Contact creation and opt-in through an order                        |
| Contact.preferences.acceptsPostal                | false                                                                | Only set on Contact creation.                                              |
| Contact.consents\[id="hasShopifyAccount"].value  | Customer.state == ACTIVE                                             | Set for all customers who have an account online                           |
| Contact.consents\[id="hasShopifyAccount"].source | "Shopify"                                                            |                                                                            |

## Receipt data mapping

| **Engage**                                | **Source data (Shopify) - orders/create**                                           | **Source data (Shopify) - refunds/create**             | **Notes**                                                                                                                                                                         |
| :---------------------------------------- | :---------------------------------------------------------------------------------- | :----------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Receipt.contact.matchKey                  |                                                                                     | Associated Contact Voyado Contact ID                   |                                                                                                                                                                                   |
| Receipt.contact.matchKeyType              | "contactId"                                                                         |                                                        |                                                                                                                                                                                   |
| Receipt.uniqueReceiptId                   | Order.id                                                                            | Refund.order.id                                        |                                                                                                                                                                                   |
| Receipt.receiptNumber                     | Order.name                                                                          | Refund.order.number                                    |                                                                                                                                                                                   |
| Receipt.createdDate                       | Order.createdAt                                                                     | Refund.createdAt                                       |                                                                                                                                                                                   |
| Receipt.storeExternalId                   | Associated Store External ID by Customer.locale retrieved from database             |                                                        | Based on market configuration in Engage App in Shopify                                                                                                                            |
| Receipt.currency                          | Order.currencyCode                                                                  | Refund.order.currencyCode                              |                                                                                                                                                                                   |
| Receipt.exchangeRateToGroupCurrency       |                                                                                     |                                                        | The exchange rate between "voyado group currency" (see settings) and Order.currencyCode / Refund.order.currencyCode , retrieved from third party service (with 24-hours accuracy) |
| Receipt.totalGrossPrice                   | Order.totalPriceSet.shopMoney.amount                                                | Refund.totalRefundedSet.shopMoney.amount               |                                                                                                                                                                                   |
| Receipt.paymentMethods\[].type            | Order.transactions\[].gateway                                                       | Refund.transactions\[].gateway                         |                                                                                                                                                                                   |
| Receipt.paymentMethods].description       | Order.transactions\[].\[paymentProvider.name                                        | Refund.transactions].\[paymentProvider.name            |                                                                                                                                                                                   |
| Receipt.paymentMethods\[].value           | Order.transactions\[].amountSet.shopMoney.amount                                    | Refund.transactions\[].amountSet.shopMoney.amount      |                                                                                                                                                                                   |
| Receipt.items\[]                          | Order.lineItems\[]                                                                  | Refund.refundLineItems\[]                              |                                                                                                                                                                                   |
| Receipt.items\[].type                     | "PURCHASE"                                                                          | "RETURN"                                               |                                                                                                                                                                                   |
| Receipt.items\[].quantity                 | Order.lineItems\[].quantity                                                         | Refund.refundLineItems\[].quantity                     |                                                                                                                                                                                   |
| Receipt.items\[].grossPaidPrice           | Order.lineItems\[].discountedTotalSet.shopMoney.amount                              | Refund.refundLineItems\[].priceSet.shopMoney.amount    |                                                                                                                                                                                   |
| Receipt.items\[].taxAmount                | Sum of Order.lineItems\[].taxLines\[\*].priceSet.shopMoney.amount                   | Refund.refundLineItems\[].totalTaxSet.shopMoney.amount |                                                                                                                                                                                   |
| Receipt.items\[].sku                      | Order.lineItems\[].sku                                                              | Refund.refundLineItems\[].lineItem.sku                 |                                                                                                                                                                                   |
| Receipt.items\[].articleNumber            | Order.lineItems\[].sku                                                              | Refund.refundLineItems\[].lineItem.sku                 |                                                                                                                                                                                   |
| Receipt.items\[].discounts\[].type        | Derived from type of  Order.lineItems\[].discountAllocations\[].discountApplication |                                                        | See \*A1                                                                                                                                                                          |
| Receipt.items\[].discounts\[].description | Derived from type of  Order.lineItems\[].discountAllocations\[].discountApplication |                                                        | See \*A2                                                                                                                                                                          |
| Receipt.items\[].discounts\[].value       | Order.lineItems\[].discountAllocations\[].allocatedAmountSet.shopMoney.amount       |                                                        |                                                                                                                                                                                   |

## A1 - Discount type mapping

| **DiscountApplication type** | **Engage discount description** |
| :--------------------------- | :------------------------------ |
| AutomaticDiscountApplication | 235                             |
| DiscountCodeApplication      | 235                             |
| ManualDiscountApplication    | 235                             |
| ScriptDiscountApplication    | 235                             |

## A2 - Discount description mapping

| **DiscountApplication type** | **Engage discount description**                               |
| :--------------------------- | :------------------------------------------------------------ |
| AutomaticDiscountApplication | Automatic discount:  `\${AutomaticDiscountApplication.code}`  |
| DiscountCodeApplication      | Discount code:  `\${DiscountCodeApplication.code}`            |
| ManualDiscountApplication    | Manual discount:  `\${ManualDiscountApplication.description}` |
| ScriptDiscountApplication    | Script discount:  `\${ScriptDiscountApplication.title}`       |

## Cart abandonment

| **Engage**            | **Source**                                 |
| :-------------------- | :----------------------------------------- |
| \[].CartReference     | AbandonedCheckout.cart\_id                 |
| \[].Time              | AbandonedCheckout.updated\_at              |
| \[].ContactId         | Identified contact ID                      |
| \[].Language          | AbandonedCheckout.customer\_locale         |
| \[].Url               | AbandonedCheckout.abandoned\_checkout\_url |
| \[].Items\[].Sku      | AbandonedCheckout.line\_items\[].sku       |
| \[].Items\[].Quantity | AbandonedCheckout.line\_items\[].quantity  |

## Engage order notification

| **Engage**                         | **Source (Shopify) - orders/\***                                                      | **Source (Shopify) - refunds/create**                               | **Notes** |
| :--------------------------------- | :------------------------------------------------------------------------------------ | :------------------------------------------------------------------ | :-------- |
| contact.matchKey                   | Order.email or Order.phone (based on *customer identification method*, see settings.) |                                                                     |           |
| contact.matchKeyType               | "email" or "phone" (based on *customer identification method*)                        |                                                                     |           |
| orderStatus                        |                                                                                       |                                                                     | See \*B3  |
| paymentStatus                      |                                                                                       |                                                                     | See \*B4  |
| orderNumber                        | Order.name                                                                            |                                                                     |           |
| createdDate                        | Order.createdAt                                                                       |                                                                     |           |
| shippingDate                       | Order.fulfillments\[0]?.createdAt                                                     |                                                                     |           |
| statusChangedDate                  | Order.updatedAt                                                                       |                                                                     |           |
| storeId                            | Associated store ID for Order.customerLocale (see store locale mapping.)              |                                                                     |           |
| currency                           | Order.currencyCode                                                                    |                                                                     |           |
| language                           | Order.customerLocale.split('-')\[0]                                                   |                                                                     |           |
| totalGrossPrice                    | Order.totalPriceSet.shopMoney.amount                                                  |                                                                     |           |
| freightFee.value                   | Order.shippingLine.discountedPriceSet.shopMoney.amount                                |                                                                     |           |
| freightFee.tax                     | sum(Order.shippingLine.taxLines\[].priceSet.shopMoney.amount                          |                                                                     |           |
| totalTax                           | Order.totalTaxSet.shopMoney.amount                                                    |                                                                     |           |
| taxDetails\[].description          | Order.taxLines\[].title                                                               |                                                                     |           |
| taxDetails\[].value                | Order.taxLines\[].priceSet.shopMoney.amount                                           |                                                                     |           |
| extraData.CreatedDate              | Order.createdAt                                                                       |                                                                     |           |
| extraData.ShippingDate             | Order.fulfillments\[0]?.createdAt                                                     |                                                                     |           |
| extraData.ReturnDate               | Order.refunds\[0]?.createdAt                                                          |                                                                     |           |
| extraData.TrackingNumber           | Order.fulfillments?\[0].trackingInfo.number                                           |                                                                     |           |
| extraData.TrackingLinkHTML         | Order.fulfillments?\[0].trackingInfo.url                                              |                                                                     |           |
| extraData.ShippingMethod           | Order.shippingLine.code                                                               |                                                                     |           |
| extraData.ShippingAddressFirstName | Order.shippingAddress.firstName                                                       |                                                                     |           |
| extraData.ShippingAddressLastName  | Order.shippingAddress.lastName                                                        |                                                                     |           |
| extraData.ShippingAddressStreet    | Order.shippingAddress.address1 + Order.shippingAddress.address2                       |                                                                     |           |
| extraData.ShippingAddressZipCode   | Order.shippingAddress.zip                                                             |                                                                     |           |
| extraData.ShippingAddressCity      | Order.shippingAddress.city                                                            |                                                                     |           |
| extraData.ShippingAddressCountry   | Order.shippingAddress.countryCodeV2                                                   |                                                                     |           |
| extraData.ShippingAddressPhone     | Order.shippingAddress.phone                                                           |                                                                     |           |
| extraData.ShippingAddressEmail     | Order.email                                                                           |                                                                     |           |
| extraData.PaymentMethod            | Order.paymentGatewayNames.join(',')                                                   |                                                                     |           |
| extraData.BillingAddressFirstName  | Order.billingAddress.firstName                                                        |                                                                     |           |
| extraData.BillingAddressLastName   | Order.billingAddress.lastName                                                         |                                                                     |           |
| extraData.BillingAddressStreet     | Order.billingAddress.address1 + Order.billingAddress.address2                         |                                                                     |           |
| extraData.BillingAddressZipCode    | Order.billingAddress.zip                                                              |                                                                     |           |
| extraData.BillingAddressCity       | Order.billingAddress.city                                                             |                                                                     |           |
| extraData.BillingAddressCountry    | Order.billingAddress.countryCodeV2                                                    |                                                                     |           |
| extraData.BillingAddressPhone      | Order.billingAddress.phone                                                            |                                                                     |           |
| extraData.BillingAddressEmail      | Order.email                                                                           |                                                                     |           |
| items\[]                           | Order.lineItems\[LineItem.refundableQuantity > 0]                                     | Order.refunds\[].refundLineItems\[]                                 |           |
| items\[].type                      | "purchase"                                                                            | "return"                                                            |           |
| items\[].sku                       | Order.lineItems\[].sku                                                                | Order.refunds\[].refundLineItems\[].sku                             |           |
| items\[].quantity                  | Order.lineItems\[].refundableQuantity                                                 | Order.refunds\[].refundLineItems\[].quantity                        |           |
| items\[].grossPaidPrice            | Order.lineItems\[].discountedTotalPriceSet.shopMoney.amount                           | Order.refunds\[].refundLineItems\[].priceSet.shopMoney.amount       |           |
| items\[].taxAmount                 | sum(Order.lineItems\[].taxLines\[].priceSet.shopMoney.amount)                         | Order.refunds\[].refundLineItems\[].totalTaxAmount.shopMoney.amount |           |
| items\[].description               | Order.lineItems\[].name                                                               |                                                                     |           |
| items\[].imageUrl                  | Order.lineItems\[].image.src                                                          |                                                                     |           |
| items\[].discounts\[].type         | Order.lineItems\[].discountAllocations\[].discountApplication                         |                                                                     | See \*B1  |
| items\[].discounts\[].description  | Order.lineItems\[].discountAllocations\[].discountApplication                         |                                                                     | See \*B2  |
| items\[].discounts\[].value        | Order.lineItems\[].discountAllocations\[].allocatedAmountSet.shopMoney.amount         |                                                                     |           |

## B1 - Discount type mapping

| **DiscountApplication type** | **Engage discount type** |
| :--------------------------- | :----------------------- |
| AutomaticDiscountApplication | 235                      |
| DiscountCodeApplication      | 235                      |
| ManualDiscountApplication    | 235                      |
| ScriptDiscountApplication    | 235                      |

## B2 - Discount description mapping

| **DiscountApplication type** | **Engage discount description**                               |
| :--------------------------- | :------------------------------------------------------------ |
| AutomaticDiscountApplication | Automatic discount:  `\${AutomaticDiscountApplication.code}`  |
| DiscountCodeApplication      | Discount code:  `\${DiscountCodeApplication.code}`            |
| ManualDiscountApplication    | Manual discount:  `\${ManualDiscountApplication.description}` |
| ScriptDiscountApplication    | Script discount:  `\${ScriptDiscountApplication.title}`       |

## B3 - Order status mapping

| **Condition**             | **Value**              |
| :------------------------ | :--------------------- |
| Order.refunds             | "REFUNDED"             |
| Order.fulfillments        | "FULFILLED"            |
| Order.partialFulfillments | "PARTIALLY\_FULFILLED" |
| Order.cancellations       | "CANCELLED"            |
| Otherwise                 | "CONFIRMED"            |

## B4 - Order payment status mapping

| **Condition**   | **Value**         |
| :-------------- | :---------------- |
| Order.fullyPaid | "PAID"            |
| Order.unpaid    | "UNPAID"          |
| Otherwise       | "PARTIALLY\_PAID" |
