Magento + Dotdigital
Everything you need to connect Magento and Dotdigital: how to connect, which data moves, which settings there are and what to do when something goes wrong.
- 1 data flow
- Connect in about 15 minutes
1. Getting started
Prepare both systems first, then connect them in Junipeer.
- about 10 minutes
Prepare Magento
- Open the integrations page
- Create a new integration
- Grant API permissions
- Save the integration
- Activate the integration
- Copy all four credentials
- Paste the credentials into Junipeer
- about 5 minutes
Prepare Dotdigital
- Open API users in Dotdigital
- Create a new API user
- Leave the generated username unchanged
- Set the password and enable the user
- Save and copy the credentials
- Paste the credentials into Junipeer
Connect and test
Enter the details in Junipeer, switch on the flows you need and test with one order before you go live.
Getting started with Junipeer
2. How the data flows
What Junipeer can move between the two systems. The arrow shows which way the data goes.
- Customers
3. Settings
The settings you see in Junipeer, in plain words. Open one to read more. The key is the technical name.
In Junipeer every setting has a ? that opens the same explanation next to the form, right when you need it. With the Junipeer MCP your AI assistant can also propose the settings from your own data.
How the Junipeer MCP worksSettings for Magento (41)
| Setting | What it controls | Key |
|---|---|---|
| Attribute to set external (Fortnox) customer number | Enter the Magento customer attribute where Junipeer should save the customer's Fortnox customer number , when customers are sent to Magento. | magento_attribute_external_customer_no |
| Capture Invoice | Decide whether the invoice should be captured when it is created in Magento. | magento_capture_invoice |
| Create Invoice in Magento | Decide whether an invoice should be created in Magento when the order is invoiced in Fortnox. | magento_create_invoice |
| Create Shipment in Magento | Decide whether a shipment should be created in Magento when the order is invoiced in Fortnox. | magento_create_shipment |
| Create products | Decide whether products that don't exist in Magento yet should be created there. | magento_create_articles |
| Customer Group - Pricelist map | Connect Magento customer groups with price lists from your ERP. | magento_customer_group_pricelist_map |
| Default Attribute Set | Choose the Magento attribute set that new products get when Junipeer creates them. | magento_default_attribute_set_id |
| Default Category | Choose the Magento category that new products are added to when Junipeer creates them. | magento_default_category_id |
Show all 41 settings
| Setting | What it controls | Key |
|---|---|---|
| Default Company Customer Group | Choose the customer group that new company customers get when Junipeer creates them in Magento. | magento_default_company_customer_group |
| Default Customer Group | Choose the customer group that new customers get when Junipeer creates them in Magento. | magento_default_customer_group |
| Default Magento Store View | Enter the code of the store view that Junipeer uses when it talks to Magento. | magento_store_view |
| Default Store pricelist | Choose the price list from your ERP that gives the base prices for the Default store in Magento. | magento_store_pricelist_default |
| Default Website | Choose the Magento website that Junipeer uses by default when it sends customers and products to Magento. | magento_default_website_id |
| Define attributes | Tell Junipeer which Magento attribute to use for some product details, such as description, EAN and unit. | magento_product_attribute_keys |
| Disable new products in Magento | Decide whether new products that Junipeer creates in Magento should be disabled. | magento_disable_new_products |
| Exclude Orders created before this date | Choose a date to skip older orders. | stdintegration_filter_magento_order_created_date |
| Fields to update | If products in Magento are updated, choose which fields may be updated. | magento_product_fields_to_update |
| Ignore children (with price = 0) for fixed price bundle product | Decide what happens to the products inside a fixed price bundle when orders and refunds are synced. | magento_ignore_children_when_not_children_calculated |
| Language - Store map | Choose which Magento store each extra language should be taken from when products are sent from Magento. | magento_language_store_map |
| Magento Access Token | Enter the access token that lets Junipeer connect to your Magento. | magento_access_token |
| Magento Article Weight Unit | Choose the weight unit you use in Magento, if it is different from the other system. | magento_article_weight_unit |
| Magento Catalog Price Scope | Choose the same price scope as in Magento. | magento_price_scope |
| Magento Delivery Date attribute | If your Magento orders have a delivery date , enter the name of the (extension) attribute that holds it. | magento_order_delivery_date_attribute |
| Magento External Customer Nr | If you keep an external customer number on your Magento customers, enter the name of the (extension) attribute that holds it. | magento_external_customer_nr |
| Magento Order Statuses | Choose which order statuses an order must have in Magento before it is synced. | magento_sync_order_with_statuses |
| Magento REST API Url | Enter the full address to your Magento API. | magento_api_url |
| Magento VAT Calculation Mode | Some ERPs also need the VAT percent when products are sent to them. | magento_vat_calculation_mode |
| Magento VAT percent | Enter the VAT percent to use for products, for example 25 . | magento_vat_fix_percent |
| Magento shipping method attribute | Choose which value on the Magento order is used as the order's shipping code , when orders and refunds are synced. | magento_shipping_method_attribute |
| Notify Customer on Invoice creation | Decide whether Magento should notify the customer when the invoice is created. | magento_invoice_notify |
| Notify Customer on Shipment creation | Decide whether Magento should notify the customer when the shipment is created. | magento_shipment_notify |
| Price Incl Taxes | Tell Junipeer whether the prices in your Magento include VAT (taxes). | magento_use_price_with_vat |
| Remove Reference Prefix | Decide whether the order's payment reference should be sent without its prefix. | magento_remove_reference_prefix |
| Remove incompatible (advanced) prices | Magento can't have an advanced price for a customer group on All Websites and on a specific website at the same time. | magento_remove_incompatible_prices |
| Replace advanced/tier prices | Choose how advanced (tier) prices are updated in Magento. | magento_replace_advanced_prices |
| Set Out Of Stock | Decide whether a product should be marked as out of stock in Magento when its quantity is 0. | magento_set_out_of_stock |
| Store - Currency Price map | Choose which Fortnox price currency each Magento store should get its product price from. | magento_store_currency_price_map |
| Store - Pricelist map | Connect each Magento website with a price list from your ERP. | magento_store_pricelist_map |
| Update / Load updated products | This setting works in both directions, depending on which way products are synced: Products sent to Magento – decides whether products that already exist in Magento are updated. | magento_update_articles |
| Update customers | Decide whether customers that already exist in Magento should be updated when customers are sent to Magento. | magento_update_customers |
| Website/Customer Group - Pricelist map | Connect Magento customer groups on a specific website with price lists from your ERP. | magento_website_customer_group_pricelist_map |
Settings for Dotdigital (13)
| Setting | What it controls | Key |
|---|---|---|
| Consent Attribute Fallback | Choose what happens when the customer attribute doesn't contain consent information . | dotdigital_consent_from_attribute_fallback |
| Consent Attribute Field | Enter the name of the customer attribute that holds the consent text. | dotdigital_consent_from_attribute_field |
| Consent Text | Enter the consent text that is attached to a contact when it is created or updated in Dotdigital. | dotdigital_consent_text |
| Consent URL | Enter the web address (URL) where the customer gave their consent. | dotdigital_consent_url |
| Consent from Customer Attribute | Read the consent text from a customer attribute instead of using the fixed Consent Text . | dotdigital_consent_from_attribute_enabled |
| Contact Identifier | Choose how contacts are identified in Dotdigital. | dotdigital_contact_identifier |
| Default Contact List | Choose a Dotdigital list that contacts are added to by default. | dotdigital_default_list |
| List Attribute Fallback | Choose what happens when the customer attribute doesn't contain a list ID . | dotdigital_list_from_attribute_fallback |
Show all 13 settings
| Setting | What it controls | Key |
|---|---|---|
| List Attribute Field | Enter the name of the customer attribute that holds the Dotdigital list ID(s). | dotdigital_list_from_attribute_field |
| List from Customer Attribute | Read Dotdigital list IDs from a customer attribute , instead of (or in addition to) the list settings. | dotdigital_list_from_attribute_enabled |
| Map Country to Contact List | Add contacts to a specific Dotdigital list based on their billing country . | dotdigital_list_by_country |
| Map Customer Attributes to Data Fields (Store) | Write customer attributes to Dotdigital data fields when contacts are saved. | dotdigital_map_attributes_store |
| Map Customer Fields to Data Fields (Store) | Choose which customer fields are written to Dotdigital data fields when contacts are saved. | dotdigital_map_data_fields_store |
4. Troubleshooting
Choose what you see. Each case shows the cause and the solution.
High"Authorization failed" errors
- Magento flows stop and the Junipeer log shows "Authorization failed".
Junipeer can't log in to Magento with the details saved on the Magento connection. Usually the Magento Access Token or the Magento REST API Url is wrong, or the integration was deactivated and reactivated in Magento, which replaces the access token.
In Magento, go to System → Integrations and check that the Junipeer integration is active.
Copy the Access Token and check the Magento REST API Url (for example
https://yourshop.example/api/). Junipeer only needs these two; the Consumer Key, Consumer Secret and Access Token Secret aren't used.Save them on the Magento connection in Junipeer.
If you deactivated and reactivated the integration in Magento, it created a new access token: enter the new one.
See Magento setup.
MediumFor troubleshooting common errors, see the Error Codes page or your connector pa
For troubleshooting common errors, see the Error Codes page or your connector pair's troubleshooting section.
Refer to the platform setup guide for resolution steps.
MediumNo products syncing
- check that the integration has Catalog permissions and that the products are assigned to the correct website/store scope that Junipeer is configured to read from.
See symptoms and resolution for details.
check that the integration has Catalog permissions and that the products are assigned to the correct website/store scope that Junipeer is configured to read from.
Medium"Resource not accessible" errors
- the integration is missing API permissions for the data type you are trying to sync. Go to System → Integrations, edit the integration, and add the missing resource permissions.
See symptoms and resolution for details.
the integration is missing API permissions for the data type you are trying to sync. Go to System → Integrations, edit the integration, and add the missing resource permissions.
5. More guides
Did this page help you?