Repository navigation
PHP, .NET and Java SDKs, spreadsheet functions, n8n, Zapier and Make - #1
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Developers who integrate customs data mostly don't write TypeScript or Python. Shop systems in the EU run on PHP (Shopware, Magento, WooCommerce), ERP and forwarder software on .NET and Java, and brokers and compliance teams work in spreadsheets and no-code tools. This PR adds a client for each of those, all on the same
/api/v1.Note
Nothing here is published. Every package is version 0.1.0 and marked "unreleased" in the root README. Publishing needs the owner's accounts (see "Release steps" below).
What's added
php/hscode/sdk, PHP 8.1+, PSR-18 client (Guzzle in Shopware/Magento works)dotnet/Hscode.Sdk, netstandard2.0 + net8.0, async withCancellationToken,IHttpClientFactory-friendlydotnet pack(Docker)java/info.hscode:hscode-sdk, Java 11+,java.net.http, Jackson only, sync +CompletableFuturesheets/HSCODE,HSCODE_DESCRIPTION,HSCODE_DUTY,HSCODE_VALIDexcel/HSCODE.CODE,.DESCRIPTION,.DUTY,.VALIDoffice-addin-manifest validaten8n/n8n-nodes-hscode: classify, batch classify, look up, search, duty history, validatezapier/zapier-platform validate(2 warnings)make/The three SDKs match the TypeScript and Python surface:
HSCODE_KEYwhen none is passed, and the year defaults tolatest.Retry-AfterandRateLimit-Limit/-Remaining/-Reset, the header namessrc/lib/server/metering.tssends.The spreadsheet functions accept ranges. They send them to the batch endpoint in groups of 25 and cache results for 6 hours, so recalculating a sheet does not use quota again.
CI
The new jobs in
.github/workflows/ci.yml:All jobs pass on this PR. The existing
spec-driftjob failed at first because the live API gained acontextfield after the lastmainrun. Commit8bf35b8syncsopenapi.jsonandjs/src/schema.ts, andmainwould have failed the same way on its next nightly run.Not verified
Warning
openapi.json.OPTIONS /api/v1/*returns 401. The site PR adding CORS (simulieren/hscode-sveltekit,feat/watch-webhooks) has to ship first unless the add-in is hosted on hscode.info itself.excel/assets/icon-*.pngare placeholder blue squares.Release steps (owner)
composer.jsonat a repo root. Either splitphp/into its own repo (for example with a subtree-split Action) or register a path-based package. After that, tag a release.dotnet packthendotnet nuget pushwith a NuGet API key.info.hscode, plus the signing, sources and javadoc plugins inpom.xml.clasp pushto an Apps Script project, then a Workspace Marketplace listing.https://hscode.info/excel/(steps inexcel/README.md).npm publishforn8n-nodes-hscode. Runnpx @n8n/scan-community-package n8n-nodes-hscodeafter publishing.zapier-platform login,registerandpush. It also needs a 256px icon.