### Developer Guide - Onboarding Process Source: https://apidocs.abcsupply.com/for-individuals-and-businesses Details the steps for developers to get started with the ABC Supply APIs, including prerequisites, enrollment, and obtaining API credentials. Covers account setup, enrollment form submission, and requesting API access. ```APIDOC Prerequisites: - Set up a customer account with ABC Supply Customer Financial Services. - Create a myABCSupply account. Step One: Enrollment - Complete the ABC API Enrollment Form. - Accept the Terms and Conditions. Step Two: Credential Setup - Log into the Developer Portal. - Request access to APIs (e.g., "ABC Connect Partner APIs"). - Configure API connection (Sandbox environment). Step Three: Application Connection - Select "ABC Connect Partner APIs" asset. - Click "Request Access". - Choose "Sandbox" instance and "Create a new application". - Enter application name (include company name). - Select "Connect User" SLA Tier. - Accept ABC API terms and conditions. - Click "Request Access". Step Four: Access Approval - Application appears in "My Applications" with client ID and secret. Step Five: Production Deployment - Repeat Step Two for the "Production" environment. - Obtain production access credentials. Contact for Changes: - Email apisupport@abcsupply.com for settings changes (e.g., redirect URL). ``` -------------------------------- ### Developer Guide - API Overview Source: https://apidocs.abcsupply.com/2025/05/22/2025-05-22-update Provides a general overview of the ABC Supply API, its capabilities, and how to get started with integration. ```APIDOC API Overview: This section provides a high-level introduction to the ABC Supply API. It covers: - Authentication methods (e.g., OAuth 2.0). - Data formats (e.g., JSON). - Rate limiting policies. - Best practices for API usage. - Links to specific API documentation sections. ``` -------------------------------- ### Get All Items API Reference Source: https://apidocs.abcsupply.com/get-all-items Provides links to detailed documentation for the 'Get All Items' API endpoint. This includes sections on authorization, request and response formats, HTTP status codes, and additional examples. ```APIDOC [Authorization](https://apidocs.abcsupply.com/get-all-items/#apiAuthorization) [Request](https://apidocs.abcsupply.com/get-all-items/#apiRequest) [Response](https://apidocs.abcsupply.com/get-all-items/#apiResponse) [HTTP Status Codes](https://apidocs.abcsupply.com/get-all-items/#apiStatus) [Additional Examples](https://apidocs.abcsupply.com/get-all-items/#apiAdditional) ``` -------------------------------- ### Developer Guide Links Source: https://apidocs.abcsupply.com/place-orders Links to various sections of the developer guide, covering API overview, authorization, endpoints, and release notes. ```APIDOC API Overview: https://apidocs.abcsupply.com/api-overview/ For Individuals and Businesses: https://apidocs.abcsupply.com/for-individuals-and-businesses/ For Third-Party Aggregators: https://apidocs.abcsupply.com/for-third-party-aggregators/ Authorization Methods: https://apidocs.abcsupply.com/authorization-methods/ API Endpoints: https://apidocs.abcsupply.com/api-endpoints/ Release Notes: https://apidocs.abcsupply.com/release-notes/ ``` -------------------------------- ### Developer Guide and API Overview Source: https://apidocs.abcsupply.com/index Provides essential information for developers, including an API overview, guides for different user types (individuals, businesses, aggregators), authorization methods, and release notes. ```APIDOC API Overview: https://apidocs.abcsupply.com/api-overview/ For Individuals and Businesses: https://apidocs.abcsupply.com/for-individuals-and-businesses/ For Third-Party Aggregators: https://apidocs.abcsupply.com/for-third-party-aggregators/ Authorization Methods: https://apidocs.abcsupply.com/authorization-methods/ API Endpoints: https://apidocs.abcsupply.com/api-endpoints/ Release Notes: https://apidocs.abcsupply.com/release-notes/ ``` -------------------------------- ### Authorization Code Flow - Example Authorization Request (Production) Source: https://apidocs.abcsupply.com/authorization-methods Provides an example of an authorization request using the Authorization Code Flow for the ABC Supply production environment. ```http https://auth.partners.abcsupply.com/oauth2/ausvvp0xuwGKLenYy357/v1/authorize?client_id={client_id}&response_type=code&redirect_uri={app_redirect_uri}&state={random_string}&scope=pricing.read%20order.read%20order.write%20product.read%20account.read%20location.read%20offline_access ``` -------------------------------- ### Authorization Code Flow - Example Token Request (Production) Source: https://apidocs.abcsupply.com/authorization-methods Provides an example of a token request using cURL for the Authorization Code Flow in the ABC Supply production environment. ```bash curl -X POST \ 'https://auth.partners.abcsupply.com/oauth2/ausvvp0xuwGKLenYy357/v1/token' \ -H 'Authorization: Basic {Base64(clientId:clientSecret)}' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'grant_type=authorization_code&redirect_uri={app_redirect_uri}&code={authorization_code_from_redirect}' ``` -------------------------------- ### Example Response Payload Source: https://apidocs.abcsupply.com/get-favorite-items This JSON payload represents an example response from the ABC Supply API, detailing item information including availability, dimensions, and Prop 65 warnings. ```JSON { "pagination": { "itemsPerPage": 20, "pageNumber": 1, "totalPages": 1, "totalItems": 1 }, "items": [ { "itemNumber": "08CS303436", "branchNumber": 409, "familyId": "PFam_3357501", "isAvailableForBranch": true, "itemDescription": "CSI TPO Cut Edge Sealant Clear 16OZ", "uom": "BO - Bottle", "dimensions": [ { "width": { "value": 0, "uom": null, "description": "Width" }, "thickness": { "value": 0, "uom": null, "description": "Thickness" } } ], "prop65Warnings": [ { "label": "WARNING: This product can expose you to Titanium dioxide (airborne, unbound particles of respirable size), which is known to the State of California to cause cancer. For more information go to www.P65Warnings.ca.gov.", "display": true, "type": "chemical", "locale": "English" } ] } ] } ``` -------------------------------- ### Authorization Code Flow - Example Refresh Token Request (Production) Source: https://apidocs.abcsupply.com/authorization-methods Provides an example of a refresh token request using cURL for the Authorization Code Flow in the ABC Supply production environment. ```bash curl -X POST \ 'https://auth.partners.abcsupply.com/oauth2/ausvvp0xuwGKLenYy357/v1/token' \ -H 'Authorization: Basic {Base64(clientId:clientSecret)}' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'grant_type=refresh_token&refresh_token={your_previously_obtained_refresh_token}&scope=pricing.read%20order.read%20order.write%20product.read%20account.read%20location.read%20offline_access' ``` -------------------------------- ### Product API - Get All Items Marketing Description Source: https://apidocs.abcsupply.com/release-notes The Get All Items endpoint now includes an extended 'marketingDescription' field for items. ```APIDOC GET /products/items Description: Retrieves product catalog. Includes the new 'marketingDescription' field, which may be null if no description is available. ``` -------------------------------- ### Product API Get All Items - Improved Ordering Source: https://apidocs.abcsupply.com/2025/05/13/2025-05-12-release The 'Get All Items' endpoint now orders responses by a new key, improving reliability and performance for item ordering. ```APIDOC Product API - Get All Items: - Response Ordering: Improved by a new key for more reliable item ordering and better performance. ``` -------------------------------- ### Developer Guide Navigation Source: https://apidocs.abcsupply.com/terms-and-conditions Provides links to key sections within the developer documentation, including API overview, authorization methods, and release notes. ```APIDOC API Overview: URL: /api-overview/ Description: General overview of the ABC Supply API. For Individuals and Businesses: URL: /for-individuals-and-businesses/ Description: Information tailored for individual and business users. For Third-Party Aggregators: URL: /for-third-party-aggregators/ Description: Information specific to third-party aggregators. Authorization Methods: URL: /authorization-methods/ Description: Details on how to authenticate and authorize API requests. API Endpoints: URL: /api-endpoints/ Description: A comprehensive list of all available API endpoints. Release Notes: URL: /release-notes/ Description: Information about API updates and changes. ``` -------------------------------- ### Example Price Items Response Payload Source: https://apidocs.abcsupply.com/price-items This JSON structure represents an example response payload for the 'Price Items' API, illustrating a successful pricing for one item and an error for another. ```JSON { "requestId": "Quote: 312346", "shipToNumber": "1008710", "branchNumber": "441", "purpose": "ordering", "lines": [ { "id":"1", "itemNumber":"02GASTZ3WW", "quantity":1, "uom":"SQ", "unitPrice":135.36, "currency": { "code":"USD", "symbol":"$" }, "length": { "value":4, "uom":"in" }, "status": { "code":"OK", "message":"Priced Successfully" } }, { "id":"2", "itemNumber":"AAE23AL?", "quantity":1, "uom":"PC", "unitPrice":0.00, "currency": { "code":"USD", "symbol":"$" }, "status": { "code":"Error", "message":"Cannot price item AAE23AL?. Call for pricing." } } ] } ``` -------------------------------- ### Authorization Code Flow with PKCE - Example Authorization Request Source: https://apidocs.abcsupply.com/authorization-methods This snippet shows an example of an authorization request URL used in the Authorization Code Flow with PKCE. It includes parameters like client_id, response_type, redirect_uri, state, code_challenge, code_challenge_method, and scopes. ```APIDOC https://auth.partners.abcsupply.com/oauth2/ausvvp0xuwGKLenYy357/v1/authorize?client_id={client_id}&response_type=code&redirect_uri={app_redirect_uri}&state={random_string}&code_challenge={base_64_encoded_sha_256_of_code_verifier}&code_challenge_method=S256&scope=pricing.read%20order.read%20order.write%20product.read%20account.read%20location.read%20offline_access ``` -------------------------------- ### Developer Onboarding and Authentication Source: https://apidocs.abcsupply.com/for-third-party-aggregators Guides third-party aggregators through the process of integrating with the ABC Supply APIs. Covers enrollment, OAuth 2.0 authentication, and obtaining API credentials. ```APIDOC Developer Onboarding Process: 1. Enrollment: - Complete the ABC API Enrollment Form: https://apidocs.abcsupply.com/get-started/ - Accept the Terms and Conditions: https://apidocs.abcsupply.com/terms-and-conditions/ - ABC API team will review and approve the request. 2. Credential Setup: - Upon approval, set up credentials via the Developer Portal: https://anypoint.mulesoft.com/exchange/portals/abc-supply/ - Log in using ABC Supply SSO. - Request access to 'ABC Connect Partner APIs'. - Configure API connection by creating a new application (e.g., 'Sandbox' instance). - Include company name in the Application Name. - Select 'Connect User' SLA Tier and accept terms. - Request Access. 3. Integration Development: - Approved applications will display client ID and secret in 'My Applications'. Authentication: - Third-Party Aggregators must implement an OAuth 2.0 flow: https://apidocs.abcsupply.com/authorization-methods/ - Users must have both ABC Supply and myABCSupply accounts. - Customers link their ABC Supply account via redirection to myABCSupply.com. - Customers can deactivate third-party connections via their myABCSupply account. ``` -------------------------------- ### Search by Item Description Request Source: https://apidocs.abcsupply.com/search-items Example of a POST request to search for items using an item description. Includes the endpoint, headers, and a sample JSON payload. ```HTTP POST /api/product/v1/search/items?familyItems=false HTTP/1.1 Host: partner.abcsupply.com Authorization: Bearer { "filters": [ { "key":"itemDescription", "condition":"contains", "values": ["Roofing"], "joinCondition":null } ], "pagination": { "itemsPerPage":20, "pageNumber":1 } } ``` -------------------------------- ### Product API Get All Items - Enhanced Delta Load Functionality Source: https://apidocs.abcsupply.com/2025/05/13/2025-05-12-release Upcoming enhancement for 'Get All Items' to support delta loads. It will allow retrieval of items updated since a specified datetime using an optional query parameter. ```APIDOC Product API - Get All Items (Upcoming - 2025.05.19): - Optional Query Parameter: sinceLastModifiedDateTime - Format: ISO 8601 (YYYY-MM-DDThh:mm:ssZ) - Functionality: Returns only items updated since the provided datetime. - Note: Returns all updated items regardless of 'status' ('Active' or 'Inactive'). Integrators must filter 'Inactive' items for customer display. ``` -------------------------------- ### Item and Product APIs Source: https://apidocs.abcsupply.com/search-accounts Provides endpoints for retrieving item and product information. Includes methods for getting item availability, product hierarchy, and item images. ```APIDOC ## Item and Product APIs * **Get Item Availability:** * **Method:** GET * **Endpoint:** `/get-item-availability/` * **Description:** Retrieves the availability status for a specific item. * **Get Product Hierarchy:** * **Method:** GET * **Endpoint:** `/get-product-hierarchy/` * **Description:** Retrieves the hierarchical structure of products. * **Get Item Image:** * **Method:** GET * **Endpoint:** `/get-item-image/` * **Description:** Retrieves the image associated with a specific item. ``` -------------------------------- ### Developer Guide - Release Notes Source: https://apidocs.abcsupply.com/2025/05/22/2025-05-22-update Provides a history of API updates, new features, bug fixes, and deprecation notices. ```APIDOC Release Notes: This section documents changes made to the ABC Supply API over time. Entries typically include: - Version number or date of release. - New endpoints or features added. - Modifications to existing endpoints. - Bug fixes implemented. - Deprecated endpoints or features and their planned removal dates. - Example: 2025.05.22 Update - No new features released. Next planned release: 2025.05.27. ``` -------------------------------- ### Get All Items - Marketing Description Source: https://apidocs.abcsupply.com/2025/05/28/2025-05-27-release Retrieves product catalog items, now including an extended 'marketingDescription' field for select items. If a marketing description is not available, the field will be null. ```APIDOC GET /items Response Fields: marketingDescription: string | null - An extended description of the item, or null if not available. status: string - Indicates if the item is 'Active' or 'Inactive'. ``` -------------------------------- ### Product API - Item Information Source: https://apidocs.abcsupply.com/add-favorite-item Provides access to product catalog information, including item availability and hierarchy details. Uses GET requests. ```APIDOC Product API: Get Item Availability Endpoint: GET /items/{itemId}/availability Description: Retrieves the availability status for a specific item. Get Product Hierarchy Endpoint: GET /products/hierarchy Description: Retrieves the product hierarchy information. Get Item Image Endpoint: GET /items/{itemId}/image Description: Retrieves the image for a specific item. ``` -------------------------------- ### Integration Process Steps Source: https://apidocs.abcsupply.com/api-overview Outlines the key stages involved in a successful integration with ABC Supply, from initial planning and environment setup to testing, certification, deployment, and ongoing maintenance. ```APIDOC Integration Process: 1. Planning: Define integration requirements. 2. Development Environment Setup: Register for API access and set up sandbox. 3. Core Integration: Implement authentication, data retrieval, and workflows. 4. Testing: Validate integration in the sandbox environment. 5. Certification: Verify integration with ABC Supply team. 6. Production Deployment: Move integration to production. 7. Monitoring and Maintenance: Establish ongoing support. ``` -------------------------------- ### Get Item Response Payload Source: https://apidocs.abcsupply.com/get-item Example JSON response for a Get Item request, illustrating embedded branches, variations, and Product Family items. This payload details various attributes of an item, including its family, description, status, colors, weights, units of measure, dimensions, specifications, warnings, images, and hierarchy. ```JSON { "itemNumber": "02GASTZ3WW", "familyId": "PFam_3346590", "familyName": "GAF Timberline High Definition HDZ Architectural Shingles", "itemDescription": "GAF StainGuard Timberline HDZ with StrikeZone Shingles Weathered Wood 3 Bundles per Square", "isDimensional": true, "status": "Active", "familyItems": [ { "itemNumber":"02GASTZ3PG", "itemDescription":"GAF StainGuard Timberline HDZ with StrikeZone Shingles Pewter Gray 3 Bundles per Square", "color":"Pewter Grey" }, { "itemNumber":"02GATZ3CD", "itemDescription":"GAF Timberline HDZ with StrikeZone Shingles Canadian Driftwood 3 Bundles per Square", "color":"Canadian Driftw" } ], "color": { "description":"Product Color", "code":"384", "name":"Weatherwood" }, "finish": { "description":null, "code":null, "name":null }, "weights": [ { "value":"0.00010", "uom":"BD", "description":"Weight (BD)" } ], "uoms": [ { "name":"Square", "code":"SQ", "description":"costing" }, { "name":"Bundle", "code":"BD", "description":"stocking" } ], "dimensions": { "width": { "value":"", "uom":"", "description":"Width ()" }, "thickness": { "value":"", "uom":"", "description":"Thickness ()" }, "height": {}, "variations": [ { "size":"1.5' X 4.5' X 4.9'", "conversionFactor":1, "type":"standard", "length": { "value":"10", "uom":"feet", "uomCode":"ft", "description":"Length (ft.)" } } ] }, "specifications": [ { "name":"Spec Warranty", "code":"143", "description":"Dimensional Shingles - 143" }, { "name":"Special Attributes", "code":"24", "description":"Standard Colors" }, { "name":"Size Profile", "code":"610", "description":"Metric" } ], "prop65Warnings": [ { "label":"WARNING: This product can expose you to chemicals including Silica, crystalline (airborne particles of respirable size),Titanium dioxide (airborne, unbound particles of respirable size), which are known to the State of California to cause cancer. For more information go to www.P65Warnings.ca.gov.", "display":true, "type":"chemical", "locale":"English" } ], "images": [ { "assetId":"02gatz3ww-product", "type":"RepresentativeProductImageReference", "href":"https://partners.abcsupply.com/product/v1/items/02GASTZ3WW/images/02gatz3ww-product" } ], "hierarchy": { "productGroup": { "name":"1000", "code":"1000", "label":"Steep Slope Products", "description":"Steep Slope Products", "category": { "name":"000013 - Steep Slope Roofing (2:12 Pitch)", "code":"13", "label":"Steep Slope Roofing (2:12 Pitch)", "description":"Steep Slope Roofing (2:12 Pitch)", "productType": { "name":"000070 - Fiberglass Laminated Shingles", "code":"70", "label":"Fiberglass Laminated Shingles", "description":"Fiberglass Laminated Shingles", "materialComposition": { "name":"000062 - Asphalt Composition Shingles and Hip & Ridge", "code":"62", "label":"Asphalt Composition Shingles and Hip & Ridge", "description":"Asphalt Composition Shingles and Hip & Ridge", "warranty": { "name":"000143 - Dimensional Shingles", "code":"143", "label":"Dimensional Shingles", "description":"Dimensional Shingles", "brandLine": { "name":"GAF Timberline HD - 003232", "code":"3232", "label":"GAF Timberline HD", "description":"GAF Timberline HD" } } } } } } }, "branches": [ { "number":"118", "links": { "self":"https://partners.abcsupply.com/api/location/v1/branches/118" } }, { "number":"89", "links": { "self":"https://partners.abcsupply.com/api/location/v1/branches/89" } } ] } ``` -------------------------------- ### Get Order Template By ID Source: https://apidocs.abcsupply.com/get-order-template-by-id This API endpoint retrieves a specific order template by its unique identifier. It includes links to authorization, request/response details, status codes, and additional examples. ```APIDOC Get Order Template By ID [Authorization](https://apidocs.abcsupply.com/get-order-template-by-id/#apiAuthorization) [Request](https://apidocs.abcsupply.com/get-order-template-by-id/#apiRequest) [Response](https://apidocs.abcsupply.com/get-order-template-by-id/#apiResponse) [HTTP Status Codes](https://apidocs.abcsupply.com/get-order-template-by-id/#apiStatus) [Additional Examples](https://apidocs.abcsupply.com/get-order-template-by-id/#apiAdditional) ``` -------------------------------- ### Account API - Get Bill-To Source: https://apidocs.abcsupply.com/get-bill-to Retrieves bill-to account information by account number. Requires OAuth 2.0 authorization with the 'account.read' scope. Includes example request and response details. ```APIDOC Account API: Get Bill-To: GET /api/account/v1/billtos/{billToNumber} Description: Get bill-to account details by bill-to account number. Parameters: - billToNumber (path parameter): The bill-to account number. Authorization: - OAuth 2.0 server or user token with the 'account.read' scope. Example Request: GET /api/account/v1/billtos/298462 HTTP/1.1 Host: partners.abcsupply.com Authorization: Bearer Sandbox Resource: GET https://partners-sb.abcsupply.com/api/account/v1/billtos/{billToNumber} Production Resource: GET https://partners.abcsupply.com/api/account/v1/billtos/{billToNumber} ``` -------------------------------- ### Get Sold-To Endpoint Source: https://apidocs.abcsupply.com/get-sold-to Information regarding the 'Get Sold-To' endpoint, including links to authorization, request, and response details. ```APIDOC Get Sold-To Endpoint: Authorization: https://apidocs.abcsupply.com/get-sold-to/#apiAuthorization Request: https://apidocs.abcsupply.com/get-sold-to/#apiRequest Response: https://apidocs.abcsupply.com/get-sold-to/#apiResponse HTTP Status Codes: https://apidocs.abcsupply.com/get-sold-to/#apiStatus ``` -------------------------------- ### API Overview and Access Source: https://apidocs.abcsupply.com/get-started Information regarding API access, authorization methods, and general overview of the ABC Supply APIs. ```APIDOC API Overview: Endpoint: /api-overview/ Description: Provides a general overview of the ABC Supply APIs. Authorization Methods: Endpoint: /authorization-methods/ Description: Details the methods available for authenticating and authorizing API requests. For Individuals and Businesses: Endpoint: /for-individuals-and-businesses/ Description: Information specific to individuals and businesses using the API. For Third-Party Aggregators: Endpoint: /for-third-party-aggregators/ Description: Information specific to third-party aggregators using the API. ``` -------------------------------- ### Basic Ordering Workflow Source: https://apidocs.abcsupply.com/api-overview Provides a step-by-step guide for the basic ordering process, emphasizing the selection of Ship-To accounts and branches, product retrieval, pricing, order placement, and status updates via webhooks. ```APIDOC Basic Ordering Workflow: 1. Authenticate and Search Accounts by Ship-To account type. - Receive a list of branches for the selected Ship-To account. 2. Select a branch from the list. 3. Browse, search, or retrieve items using Product API endpoints. - Check item availability at accessible branches. 4. Call Price Items endpoint with Ship-To account, branch, and item numbers. 5. Add items to an order and place the order. 6. Use Order API Get Order by Order Number or Confirmation Number to view details. 7. Receive order status updates via registered webhooks. ``` -------------------------------- ### Account API - Get Ship-To Branch Home Flag Source: https://apidocs.abcsupply.com/release-notes The Get Ship-To endpoint now includes a 'homeBranch' boolean flag for each branch in the 'branches' array. ```APIDOC GET /accounts/ship-to/{shipToId} Description: Retrieves ship-to account details, including a 'homeBranch' flag for each associated branch. Response Snippet: "branches": [ { "homeBranch": false, "number": "300", "name": "ABC Supply - Bryan, TX", "storefront": "abc", "status": "active", "type": "Branch", "links": { "self": "https://api3-sb.abcsupply.com/int-partners-location/api/location/v1/branches/300" } }, ... ] ``` -------------------------------- ### Get Ship-To API Reference Source: https://apidocs.abcsupply.com/get-ship-to Provides links to the Authorization, Request, Response, and HTTP Status Codes sections for the 'Get Ship-To' API endpoint. ```APIDOC Get Ship-To: Authorization: https://apidocs.abcsupply.com/get-ship-to/#apiAuthorization Request: https://apidocs.abcsupply.com/get-ship-to/#apiRequest Response: https://apidocs.abcsupply.com/get-ship-to/#apiResponse HTTP Status Codes: https://apidocs.abcsupply.com/get-ship-to/#apiStatus ``` -------------------------------- ### Location API Endpoints Source: https://apidocs.abcsupply.com/get-order-templates Provides endpoints for retrieving location information, including searching for branches and getting details of a specific branch. Supports GET methods. ```APIDOC Search Branches: GET /search-branches/ Description: Searches for branches based on provided criteria. Get Branch: GET /get-branch/ Description: Retrieves details for a specific branch. ``` -------------------------------- ### Available Resources for Integration Source: https://apidocs.abcsupply.com/api-overview Lists the resources provided by ABC Supply to assist developers with their integration efforts, including detailed API documentation, a Postman collection, a sandbox environment, and technical support. ```APIDOC Available Resources: - API Documentation: Detailed reference material. - Postman Collection: Updated collection of endpoints. - Sandbox Environment: Testing platform with sample data. - Support Email: apisupport@abcsupply.com for technical assistance. ``` -------------------------------- ### Get Favorite Items API Endpoint Source: https://apidocs.abcsupply.com/get-favorite-items Documentation for the 'Get Favorite Items' API endpoint, including links to authorization, request, response, and status code information. ```APIDOC Get Favorite Items [Authorization](https://apidocs.abcsupply.com/get-favorite-items/#apiAuthorization) [Request](https://apidocs.abcsupply.com/get-favorite-items/#apiRequest) [Response](https://apidocs.abcsupply.com/get-favorite-items/#apiResponse) [HTTP Status Codes](https://apidocs.abcsupply.com/get-favorite-items/#apiStatus) ``` -------------------------------- ### Example Request: Price Items for Single Dimensional Item Source: https://apidocs.abcsupply.com/price-items Demonstrates a sample POST request to the Pricing API for a single dimensional item, including all necessary fields in the request body. ```HTTP POST /api/pricing/v2/prices HTTP/1.1 Host: partner.abcsupply.com Authorization: Bearer { "requestId": "Quote: 312345", "shipToNumber": "1008710", "branchNumber": "441", "purpose": "ordering", "lines": [ { "id": "1", "itemNumber": "02GAFSL3AS", "quantity": 10, "uom": "BD", "unitPrice": 81.25, "currency": { "code": "USD", "symbol": "$" }, "length": { "value": 4, "uom": "in" }, "status": { "code": "OK", "message": "Priced Successfully" } } ] } ``` -------------------------------- ### ABC Supply Product API Reference Source: https://apidocs.abcsupply.com/get-all-items This section details the structure and fields for product information retrieved from the ABC Supply API. It covers pagination, item details, product families, colors, finishes, weights, and hierarchical product categorization. ```APIDOC Product Information API: Endpoint: /product/v1/items GET /product/v1/items Retrieves a list of products with various details. Parameters: familyItems (boolean, optional): If true, includes items within product families. Response Structure: pagination (object): Information about the pagination of the results. itemsPerPage (integer): Number of items per page. pageNumber (integer): Current page number. totalPages (integer): Total number of pages. totalItems (integer): Total number of items. items (array): An array of product items. itemNumber (string): The ABC Supply item number. familyid (string): Unique ID for the product family. familyName (object): Name of the product family. description (string): Description of the product family name. isDimensional (boolean): Indicates if the item is dimensional (has length variations). itemDescription (string): Description of the item. status (string): Status of the item (e.g., "Active", "Inactive"). familyItems (array | null): List of items in the product family if requested. itemNumber (object): Item number within the family. itemDescription (string): Description of the item in the family. color (string): Color of the item in the family. color (object): Details about the item's color. description (string): Description of the color. code (string): Code for the color. name (string): Name of the color. finish (object): Details about the item's finish. description (string): Description of the finish. code (string): Code for the finish. name (string): Name of the finish. weights (array): List of available weights for the item. value (string): The weight value. uom (string): Unit of measure for the weight (e.g., "lbs"). description (string): Description of the weight. Product Hierarchy: hierarchy (object): Contains information about the product's categorization. productGroup (object): Top-level product group. name (string): Name of the product group. code (string): Code of the product group. label (string): Label for the product group. description (string): Description of the product group. category (object): Product category. name (string): Name of the category. code (string): Code of the category. label (string): Label for the category. description (string): Description of the category. productType (object): Product type within the category. name (string): Name of the product type. code (string): Code of the product type. label (string): Label for the product type. description (string): Description of the product type. materialComposition (object): Material composition of the product. name (string): Name of the material composition. code (string): Code of the material composition. label (string): Label for the material composition. description (string): Description of the material composition. warranty (object): Warranty information for the material. name (string): Name of the warranty. code (string): Code of the warranty. label (string): Label for the warranty. description (string): Description of the warranty. brandLine (object): Brand line information. name (string): Name of the brand line. code (string): Code of the brand line. label (string): Label for the brand line. description (string): Description of the brand line. Branch Information: branches (array): List of associated branch numbers. number (string): The branch number. links (object): Links related to the branch. self (string): URL for the branch details. ``` -------------------------------- ### Client Credentials Flow - Example Token Request Source: https://apidocs.abcsupply.com/authorization-methods This snippet illustrates how to obtain an access token using the Client Credentials flow. It's a POST request to the token endpoint, authenticating with client credentials and specifying the desired scopes for the application. ```curl curl -X POST \ 'https://auth.partners.abcsupply.com/oauth2/ausvvp0xuwGKLenYy357/v1/token' \ -H 'Authorization: Basic {Base64(clientId:clientSecret)}' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'grant_type=client_credentials&scope=location.read product.read notification.read notification.write' ``` -------------------------------- ### Get Recent Items API Endpoint Details Source: https://apidocs.abcsupply.com/get-recent-items Provides links and information related to the 'Get Recent Items' API endpoint, including authorization, request, response, and status code documentation. ```APIDOC Get Recent Items: Authorization: https://apidocs.abcsupply.com/get-recent-items/#apiAuthorization Request: https://apidocs.abcsupply.com/get-recent-items/#apiRequest Response: https://apidocs.abcsupply.com/get-recent-items/#apiResponse HTTP Status Codes: https://apidocs.abcsupply.com/get-recent-items/#apiStatus ``` -------------------------------- ### Example Response: Price Items for Single Dimensional Item Source: https://apidocs.abcsupply.com/price-items Illustrates a sample response payload from the Pricing API for a single dimensional item, showing the structure and fields returned upon successful pricing. ```JSON { "requestId": "Quote: 312345", "shipToNumber": "1008710", "branchNumber": "441", "purpose": "ordering", "lines": [ { "id": "1", "itemNumber": "02GAFSL3AS", "quantity": 10, "uom": "BD", "unitPrice": 81.25, "currency": { "code": "USD", "symbol": "$" }, "length": { "value": 4, "uom": "in" }, "status": { "code": "OK", "message": "Priced Successfully" } } ] } ``` -------------------------------- ### Product API Endpoints Source: https://apidocs.abcsupply.com/get-sold-to Provides endpoints for retrieving and managing product information, including item details, availability, favorites, and product hierarchy. ```APIDOC Get Item: GET /get-item/ Description: Retrieves details for a specific item. Get All Items: GET /get-all-items/ Description: Retrieves a list of all available items. Get Favorite Items: GET /get-favorite-items/ Description: Retrieves a list of the user's favorite items. Get Recent Items: GET /get-recent-items/ Description: Retrieves a list of recently viewed items. Get Frequent Items: GET /get-frequent-items/ Description: Retrieves a list of frequently purchased items. Add Favorite Item: PUT /add-favorite-item/ Description: Adds an item to the user's favorites. Search Item Availability: POST /search-item-availability/ Description: Searches for the availability of items. Search Items: POST /search-items/ Description: Searches for items based on specified criteria. Get Product Hierarchy: GET /get-product-hierarchy/ Description: Retrieves the product hierarchy. Get Item Image: GET /get-item-image/ Description: Retrieves the image for a specific item. ``` -------------------------------- ### Example Order Update Event Payload (JSON) Source: https://apidocs.abcsupply.com/order-update-event A concrete example of the JSON payload received for an Order Update Event. This illustrates the structure and data types for each field as defined in the API documentation. ```JSON { "salesOrder": { "trackingId": "515151", "confirmationNumber": "C7-3838333", "orderNumber": "10000828", "purchaseOrder": "0136-21", "createdDate": "2024-10-01", "orderType": "SO", "deliveryService": "OTR", "referenceOrderNumber": "0", "referenceShipmentNumber": "0", "status": "Delivered", "currency": "USD" }, "dates": { "deliveryRequestedFor": "2024-10-06", "orderedOn": "2024-10-01" }, "deliveryAppointment": { "instructionsTypeCode": "AT", "instructions": "", "fromTime": "00:00:00", "toTime": "00:00:00", "timeZoneCode": "" }, "orderAmounts": { "subTotal": 79.79, "tax": 3.27, "total": 82.06 }, "charges": [ { "code": "H550", "description": "Surcharge", "amount": 0 } ], "soldTo": { "number": "95042101", "name": "C DUNCAN CONSTRUCTION LLC", "links": { "href": "https://partners.abcsupply.com/account/v1/soldtos/95042100" } }, "billTo": { "number": "95042400", "name": "C DUNCAN CONSTRUCTION LLC", "links": { "href": "https://partners.abcsupply.com/account/v1/billtos/95042400" } }, "shipTo": { "number": "95042400", "name": "C DUNCAN CONSTRUCTION LLC", "links": { "href": "https://partners.abcsupply.com/account/v1/shiptos/95042400" } }, "branch": { "number": "22", "name": "ABC Supply Company – Hartland, WI", "storefront": "ABC", "links": { "href": "https://partners.abcsupply.com/api/locations/v1/branches/22" } }, "lines": [ { "id": "1", "itemNumber": "9577600200", "links": { "href": "https://partners.abcsupply.com/api/product/v1/items/9577600200" }, "dimensions": { "length": { "value": 1.5, "uomCode": "in", "uom": "Inches" } }, "orderedQty": { "value": 1, "uomCode": "EA", "uom": "EA" }, "unitPrice": { "value": 78.79, "uomCode": "EA", "uom": "EA" }, "amount": 78.79 } ], "shipments": [ { "shipmentNumber": "10000828-1", "status": "Delivered", "total": 82.06, "dates": { "deliveryRequestedOn": "2024-10-06", "deliveredOn": "2024-10-06", "invoicedOn": "2022-10-10" }, "shipment": { "instructionTypeCode": "", "latitude": "37.226806640625", "longitude": "-87.160919189453125", "proofOfDeliveryURL": "https://velocitypodportalweb2156.azurewebsites.net/?orderId=e04341-ff0-4fc-8dc77559489&source=ABC+Supply" }, "address": { "line1": "123 Main St", "line2": "Building 15", "line3": "Bay 2", "city": "Powderly", "state": "KY", "postal": "12345", "country": "USA" }, "comments": [ { "code": "H", "description": "please deliver to bay 2" } ], "amounts": { "subTotal": 78.79, "tax": 3.27, "total": 82.06 }, "charges": [ { "code": "H550", "amount": 0 } ], "deliveryHistory": [ { "name": "Arrived at Delivery Location", "code": "X1", "localTime": "2024-10-06T15:22", "utcTime": "2024-10-06T21:22:04.612Z" }, { "name": "Delivery Complete", "code": "CD", "notes": "", "localTime": "2024-10-06T15:52", "utcTime": "2024-10-06T21:52:52.514Z" } ], "lines": [ { "id": "1", "itemNumber": "9577600200", "links": { "href": "https://partners.abcsupply.com/api/product/v1/items/9577600200" }, "dimensions": { "length": { "value": 1.5, "uomCode": "in", "uom": "Inches" } }, "orderedQty": { "value": 1, "uomCode": "EA", "uom": "EA" }, "unitPrice": { "value": 78.79, "uomCode": "EA", "uom": "EA" }, "amount": 78.79 } ] } ] } ``` -------------------------------- ### Product API Endpoints Source: https://apidocs.abcsupply.com/register-webhook Provides endpoints for retrieving and managing product information, including item details, availability, and user preferences. ```APIDOC Get Item: GET /products/items/{itemId} Description: Retrieves details for a specific item. Parameters: itemId (string): The ID of the item. Get All Items: GET /products/items Description: Retrieves a list of all available items. Get Favorite Items: GET /products/items/favorites Description: Retrieves a list of the user's favorite items. Get Recent Items: GET /products/items/recent Description: Retrieves a list of recently viewed items. Get Frequent Items: GET /products/items/frequent Description: Retrieves a list of frequently purchased items. Add Favorite Item: PUT /products/items/{itemId}/favorite Description: Adds an item to the user's favorites. Parameters: itemId (string): The ID of the item to add as a favorite. Search Item Availability: POST /products/items/availability/search Description: Searches for item availability based on specified criteria. Search Items: POST /products/items/search Description: Searches for items based on specified criteria. Get Item Availability: GET /products/items/{itemId}/availability Description: Retrieves availability information for a specific item. Parameters: itemId (string): The ID of the item. Get Product Hierarchy: GET /products/hierarchy Description: Retrieves the product hierarchy structure. Get Item Image: GET /products/items/{itemId}/image Description: Retrieves the image for a specific item. Parameters: itemId (string): The ID of the item. ``` -------------------------------- ### Get Recent Items API HTTP Status Codes Source: https://apidocs.abcsupply.com/get-recent-items This snippet outlines the common HTTP status codes returned by the 'Get Recent Items' API endpoint, along with their descriptions and potential causes for errors. ```APIDOC HTTP Status Codes: 200 OK: Description: The request and response were sent successfully. 400 Bad Request: Description: Ensure the query parameters and values provided are valid. 401 Unauthorized: Description: The provided account does not have access to the requested date. Ensure the provided account is a valid Bill-To account for the user. 500 Internal Server Error: Description: The server was unable to process the request. ```