Skip to content

Implement Shopify Admin API connector with cursor-based pagination#136

Draft
Copilot wants to merge 4 commits intomainfrom
copilot/implement-shopify-connector
Draft

Implement Shopify Admin API connector with cursor-based pagination#136
Copilot wants to merge 4 commits intomainfrom
copilot/implement-shopify-connector

Conversation

Copy link
Contributor

Copilot AI commented Nov 6, 2025

Description

Implements Shopify Admin API v1 connector with cursor-based pagination using Link header parsing. Supports products, orders, and customers resources with comprehensive filtering and search capabilities.

Core Implementation:

  • Authentication: Access token via X-Shopify-Access-Token header, configurable API version
  • Pagination: Parses Link headers to extract page_info parameter for cursor-based iteration
  • Resources: Products (list/get/count with filtering), Orders (list/get/count with status filters), Customers (list/get/search/count)
  • Observability: Optional logging and metrics hooks via core library

Usage:

const connector = createConnector()
connector.init({
  shopName: 'my-store',
  accessToken: 'shpat_...',
  apiVersion: '2024-10'
})

for await (const page of connector.products.list({ pageSize: 50, status: 'active' })) {
  // process products
}

Testing Checklist

  • Unit tests for all public methods
  • Integration tests with mock servers
  • Retry logic (backoff, jitter, circuit breaker)
  • Rate limiting behavior
  • Auth flows and expiry/refresh
  • Error classification and propagation
  • Pagination strategies and edge cases
Original prompt

This section details on the original issue you should resolve

<issue_title>Connector: shopify@v1 - 514-labs/typescript/default</issue_title>
<issue_description>Tracking implementation for shopify@v1

Author: 514-labs
Language: typescript
Implementation: default

Paths:

  • Provider: connector-registry/shopify/v1/514-labs
  • Implementation: connector-registry/shopify/v1/514-labs/typescript
  • Filesystem: /Users/georgeanderson/514/registry/connector-registry/shopify/v1/514-labs/typescript</issue_description>

Comments on the Issue (you are @copilot in this section)

Custom agent used: connector-implementer
Use this agent when the user is creating a new connector for the 514 Labs Registry, needs guidance on implementing connector resources, or is working on connector scaffolding, testing, or schema definition.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

@vercel
Copy link

vercel bot commented Nov 6, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
registry Error Error Nov 6, 2025 0:39am

Copilot AI and others added 3 commits November 6, 2025 00:31
Complete implementation includes:
- Connector structure with metadata files
- Shopify Admin API authentication
- Cursor-based pagination with Link header support
- Core resources: products, orders, customers
- Comprehensive TypeScript types
- JSON schemas and documentation
- Working tests with nock
- Example usage

Co-authored-by: georgevanderson <4805522+georgevanderson@users.noreply.github.com>
Move return statement to end of init method to ensure logging and metrics configuration is applied correctly

Co-authored-by: georgevanderson <4805522+georgevanderson@users.noreply.github.com>
Change @connector-factory/core dependency to use workspace:* for consistency with other connectors in the registry

Co-authored-by: georgevanderson <4805522+georgevanderson@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement Shopify connector for shopify@v1 Implement Shopify Admin API connector with cursor-based pagination Nov 6, 2025
Copilot AI requested a review from georgevanderson November 6, 2025 00:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Connector: shopify@v1 - 514-labs/typescript/default

2 participants