Fix Magento Attributes That Are Not Included in Requests
Resolve issues with missing Magento attributes in shipping requests for proper order processing
Table of Contents
- Overview
- Steps
- 1. Check Website Configuration
- 2. Refresh Indexes
- 3. Check All Configuration Scopes
- 4. Check for Attribute Values in Multiple Tables
- 5. If You Still Have This Issue
Overview
This guide provides steps to resolve issues when attributes are not included in requests from Magento. If your Magento attributes, such as shipperhq_shipping_group
, ship_length
, ship_width
, ship_height
, etc., aren't being included in the ShipperHQ request, please try the following steps one at a time until your issue is resolved.
Steps
1. Check Website Configuration
If you have a configurable or bundled product where the child item has the desired attributes not being picked up, you'll need to deselect "Use Parent" in the website configuration section. This change will ensure Magento submits the child product's attributes, rather than the parent's.
2. Refresh Indexes
If your indexes are outdated, the attribute value may not be correctly picked up or appear incorrectly. Try one of the following methods based on your Magento version:
- For Magento 1: Refresh indexes under System -> Index Management
For Magento 2: Use the command line from the Magento root directory:
php bin/magento indexer:reindex
3. Check All Configuration Scopes
Ensure the attribute isn't set incorrectly in a different configuration scope (e.g., it is set correctly at Default Configuration Scope/All Store Views but incorrectly elsewhere). You can choose the configuration scope using the dropdown at the top left of your admin panel.
4. Check for Attribute Values in Multiple Tables
Sometimes, attributes are left out of requests after a product import or when migrating from Magento 1 to 2. This can happen if values are stored in the wrong table, causing Magento to silently error with no attribute values returned. You'll need to move attribute values to the correct table. For instance, shipperhq_shipping_group
values should be in catalog_product_entity_varchar
on Magento 1 or catalog_product_entity_text
on Magento 2. Also check other catalog_product_entity
tables. Make sure to back up your database before proceeding. If unsure, seek help. Proceed with caution.
Magento 1
```sql
SELECT @attributeid:=attributeid FROM eavattribute WHERE attributecode='shipperhqshippinggroup';
INSERT into catalogproductentityvarchar (entitytypeid, attributeid, storeid, entityid, value)
SELECT entitytypeid, attributeid, storeid, entityid, value
FROM catalogproductentitytext
WHERE attributeid = @attributeid;
DELETE FROM catalogproductentitytext WHERE attributeid = @attribute_id;
For dimensional shipping attributes (ship_height
, ship_width
, ship_length
), ensure values are in the decimal table, not varchar.
```sql
INSERT INTO catalogproductentitydecimal (entitytypeid,attributeid,storeid,entityid,value)
SELECT entitytypeid,attributeid,storeid,entityid,CAST(value as DECIMAL(12,4))
FROM catalogproductentityvarchar
WHERE attributeid in (SELECT attributeid FROM eavattribute WHERE attributecode IN ('shipheight','shipwidth','ship_length'));
DELETE FROM catalogproductentityvarchar WHERE attributeid in (SELECT attributeid FROM eavattribute WHERE attributecode IN ('shipheight','shipwidth','shiplength'));
Magento 2 Open Source
Ensure shipperhq_shipping_group
and shipperhq_warehouse
are of type "text".
```sql
SELECT @attributeid:=attributeid FROM eavattribute WHERE attributecode='shipperhqshippinggroup';
INSERT into catalogproductentitytext (attributeid, storeid, entityid, value)
SELECT attributeid, storeid, entityid, value
FROM catalogproductentityvarchar
WHERE attributeid = @attributeid;
DELETE FROM catalogproductentityvarchar WHERE attributeid = @attribute_id;
Magento 2 Commerce
Ensure shipperhq_shipping_group
and shipperhq_warehouse
are of type "text".
```sql
SELECT @attributeid:=attributeid FROM eavattribute WHERE attributecode='shipperhqshippinggroup';
INSERT into catalogproductentitytext (attributeid, storeid, rowid, value)
SELECT attributeid, storeid, rowid, value
FROM catalogproductentityvarchar
WHERE attributeid = @attributeid;
DELETE FROM catalogproductentityvarchar WHERE attributeid = @attribute_id;
5. If You Still Have This Issue
If you've tried all of the steps above and your attributes are still not included in Magento's request, please contact ShipperHQ Support at 512.522.4282 or support@shipperhq.com. We'll first check if you've followed the steps described in this document. 😊