The Feed Manager data share provides Dealer Part Price Information to Caterpillar. Caterpillar then uses this data by leveraging an online platform called a Feed Manager, who helps list parts for sale on 3rd party shopping channels.
Audience
The Feed Manager data share is intended for Caterpillar dealers. This guide provides the information for dealers to integrate with Caterpillar using Snowflake for data sharing.
Terms of Use
The Dealer Advertising Addendum must be signed prior to accessing the Feed Manager data share.
Use Case Details
The purpose of the data share is to drive traffic directly to dealer eSites by using 3rd party shopping platforms such as Google Shopping.
Before You Begin
Dealers who have not already been onboarded to Data Sharing must contact their District office representative to initiate a project to configure the dealer with Caterpillar Dealer Data Sharing.
There is an estimated 6 weeks timeline and 10 hours of effort to complete the onboarding process.
High-Level Overview of onboarding steps:
- Procure Snowflake environment – Contact Snowflake directly or through a 3rd party vendor. Ensure that the CAT Dealer Snowflake Access Program(SNAP) is mentioned in these negotiations. This is a program for the dealers to gain some of the same benefit that Caterpillar has by the business relationship Caterpillar has with Snowflake.
- Configure Caterpillar Snowflake to share with Cat dealership
- Configure dealership Snowflake to share with Caterpillar
- Sign Dealer Data Sharing Agreement
Security
Detailed instructions will be provided on how to create shares, grant access to shares, schemas and views during the onboarding process
Snowflake Details
Region
A dealership can be on any AWS, AZURE or Google Snowflake region and share with Caterpillar. Caterpillar uses AWS us-east-2: US East (Ohio) region.
Share Name
Inbound Share (from Dealer to Caterpillar):
- DEALER_CODE PRD_DATASHARE_TO_CAT
- ie. D100PRD_DATASHARE_TO_CAT
Database Name
Inbound Share (from Dealer to Caterpillar)
- CATPROGRAMS
Schema Name
Inbound Share (from Dealer to Caterpillar)
- FEEDMAN
View Name
Inbound Share (from Dealer to Caterpillar)
- FEED_MANAGER_DEALER_PART_PRICE_DETAIL_VW
Data Transmission Frequency
Caterpillar's recommendation is for the Dealer to update the in-stock parts and prices daily. Changes to the Dealer Store Part IA Price must be provided from the Dealer to Caterpillar within 24 hours of a change on Dealer ERP.
Workflow
Snowflake Data Sharing between the Dealer and Caterpillar will be utilized to receive data from each Dealer.
Each Dealer will provide their “instant access”/default price and currency for each of their in-stock parts to be included in the feed to the shopping channel.
Caterpillar will utilize an Inbound Share (from Dealer to Caterpillar) for dealers to provide parts in the feed that are in stock (can be fulfilled within 3-5 days with the standard guest shipping option) with an Add to Cart button on the default dealer store on Parts.cat.com product detail page (no contact dealer, no indirect replacements). Caterpillar will filter out any parts that are not A/B parts classification prior to listing them on 3rd party shopping platforms.
Inbound Share (from Dealer to Caterpillar)
The inbound view for Feed Manager is called FEED_MANAGER_DEALER_PART_PRICE_DETAIL_VW and it will contain the list of in-stock parts. In addition, the dealer will include the “instant access”/default price and price currency as well as additional data population metadata for each part. The Dealer will need to build a snowflake table to collect this information and provide daily updates to this table from their ERP as they make Part Price changes. Once they have a table and are maintaining it at least daily, they would provide a shared view for Caterpillar Feed Manager solution to consume.
FEED_MANAGER_DEALER_PART_PRICE_DETAIL_VW
Feed Manager Dealer Part Price Detail object contains the IA (Instant Access) Price details of the parts.
Attribute Name | Data Type | Required? | Definition | Sample Value |
---|---|---|---|---|
DEALER_CODE (PK) | STRING | Y | The Dealer Code is a unique four digit alphanumeric identifier assigned to a Cat Dealer location. The first character is an alpha value, the second and third are numeric values, and the last character is alphanumeric, excluding A, C, F, I, O, S and Y. | D100 |
PART_NUMBER (PK) | STRING | Y | A part number is a unique alphanumeric sequence assigned to a particular part. | 3D3716 1234567 10R1234 |
PART_PRICE | DECIMAL(10,2) | Y | The part price represents the IA (Instant Access) Price of the part for the dealer default store of a single quantity of the part. | 1898.89 |
PART_PRICE_CURRENCY_CODE | STRING | Y | The part price currency code is the ISO 4217 currency code denominating the of IA (Instant Access) price for the dealer default store | USD |
CREATE_DATETIME | TIMESTAMP | Y | The create datetime represents the timestamp when a record was first created and persisted in the data store. The create datetime conforms to the system standard, which is Coordinated Universal Time (UTC). | 2024-05-22 15:41:04.425 |
UPDATE_DATETIME | TIMESTAMP | C | Conditionally required when an existing part price is updated. The update datetime represents the timestamp when a record was last updated in the data store. The update datetime conforms to the system standard, which is Coordinated Universal Time (UTC). Note: This field can be used for optimistic locking. |
2024-05-24 15:41:04.425 |
RECORD_ACTIVE_INDICATOR | STRING | Y | The record active indicator indicates whether the record is still active or not. Valid Value: TRUE or FALSE |
TRUE FALSE |
As the dealer determines new parts to be INSERTED, they would set the DEALER_CODE value, set the PART_NUMBER value, set the PART_PRICE value, set the PART_PRICE_CURRENCY value, set the CREATE_DATETIME with the current timestamp with timezone offset to UTC, and set the RECORD_ACTIVE_INDICATOR to ‘TRUE’.
If a part has a price change the dealer would UPDATE an existing PART_NUMBER by setting the new PART_PRICE value, and set the UPDATE_DATETIME with the current timestamp with timezone offset to UTC.
If the dealer wants to remove a part from their list, they would UPDATE an existing PART_NUMBER by setting the UPDATE_DATETIME with the current timestamp with timezone offset to UTC, and set the RECORD_ACTIVE_INDICATOR to ‘FALSE’.
Currency Considerations
Currency is specified in FEED_MANAGER_DEALER_PART_PRICE_DETAIL_VW
Regional Considerations
N/A
Testing Procedures
Dealer to Caterpillar test scenarios (FEED_MANAGER_DEALER_PART_PRICE_DETAIL_VW):
To get the latest FULL list of parts for a Dealer, Caterpillar would consume from this view where RECORD_ACTIVE_INDICATOR = ‘TRUE’.
To get INSERTed parts for a Dealer, Caterpillar would consume based on the RECORD_ACTIVE_INDICATOR = ‘TRUE’ and the CREATE_DATETIME within the time period being inquired.
To get UPDATEd parts for a Dealer, Caterpillar would consumer based on the RECORD_ACTIVE_INDICATOR = ‘TRUE’ and the UPDATE_DATETIME within the time period being inquired.
To get DELETEd parts for a Dealer, Caterpillar would consume based on the RECORD_ACTIVE_INDICATOR = ‘FALSE’ and to determine when the DELETE occurred inspect the UPDATE_DATETIME.
Getting Help
Contact DDCS_DealerDataSharing@cat.com with questions about the data share.
Additional Documentation
An alternative mailbox interface exists for dealers unable to share via Snowflake.
- PS-0032 - Feed Manager Mailbox Interface
Definitions
Snowflake: A cloud-based data platform that enables storing, managing, and analyzing data from various sources.
Feed Manager: An online platform that helps businesses list and optimize their products for online marketplaces and advertising channels.
Revisions History
The following table present the revisions history for this guide.
Date | Description of Change |
---|---|
09-06-2024 | Initial version Feed Manager Data Sharing Developer Guide. |