channelape / channelape-typescript-sdk Goto Github PK
View Code? Open in Web Editor NEWTypeScript and JavaScript SDK for the ChannelApe REST API
License: Apache License 2.0
TypeScript and JavaScript SDK for the ChannelApe REST API
License: Apache License 2.0
The LineItem.giftCardCode field is currently readonly, but should be editable.
When creating fulfillments, we currently have to use // @ts-ignore
to ignore the typescript error.
Add new calls to support the new adjustment and quantity retrieval endpoints:
https://docs.channelape.io/?version=latest#2312dd36-bac9-4dbc-93c8-2a59edd57c49
The new functionality should include support for the following methods:
Should be able to create a new business in ChannelApe.
This API call does not include any kind of subscription related functionality. That has to to be done through the app.
If the duration of a request takes longer than the maximumRequestRetryTimeout on the first attempt, an error is being thrown even though the request is completing successfully. Since the request isn't failing, no error should be thrown.
"reason": {
"errorType": "Error",
"errorMessage": "put /v1/actions/9a68d240-bb6d-4a51-a1f4-80393074ed55/complete\n Status: 200 \n Response Body:\n A problem with the ChannelApe API has been encountered.\n Your request was tried a total of 0 times over the course of 18499 milliseconds",
"apiErrors": [],
"responseStatusCode": 200,
"responseStatusMessage": "",
"stack": [
"Error: put /v1/actions/9a68d240-bb6d-4a51-a1f4-80393074ed55/complete",
" Status: 200 ",
" Response Body:",
" A problem with the ChannelApe API has been encountered.",
" Your request was tried a total of 0 times over the course of 18499 milliseconds",
" at RequestClientWrapper.handleResponse (/var/task/node_modules/channelape-sdk/dist/RequestClientWrapper.js:139:26)",
" at requestPromise.then (/var/task/node_modules/channelape-sdk/dist/RequestClientWrapper.js:99:22)",
" at process._tickCallback (internal/process/next_tick.js:68:7)"
]
},
When making a PUT, PATCH, and POST request, the data being passed in on the body of the request is also being added to a "body" property, which is sending duplicate, unnecessary data.
For example, here is what is sent in the body of the request by the SDK to the API for a PATCH request which updates the order status:
{
"id": "900b9551-1689-473a-b59e-948d9f085810",
"status": "HOLD",
"body": {
"id": "900b9551-1689-473a-b59e-948d9f085810",
"status": "HOLD"
}
}
I believe the problem is occurring here. The data is being put onto the "options.data" property, and is also being added to a "body" property on the data property for the call to the axios method.
Removing the { body: postData }
method parameter should resolve this.
The OrdersQueryRequest.status field should only accept an array of statuses, instead of both a single status or an array.
This would be a breaking change.
When we were using Tracis CI we maintained a latest tag and a develop tag. latest
tag was always stable while develop
had new features in the works. GitFlow is always publishing to latest no matter what branch we are publishing from.
It looks like GitHub Actions support tags so we should try to implement this so new pushes of master go to latest
and new pushes off of develop branch go to develop
tag.
Here is how it was working with Travis for reference:
https://github.com/ChannelApe/channelape-typescript-sdk/blob/1.28.1/.travis.yml#L30
Master branch is failing due to changes to the ChannelApe business that the integration tests are run against. Tests should be made less brittle by querying a specific time frame instead of just most recent orders.
https://travis-ci.org/ChannelApe/channelape-typescript-sdk/builds/410622818
Add new calls to support the new locations endpoints:
https://docs.channelape.io/?version=latest#47d0bc9b-dcf0-429b-a310-45813abaec90
The new functionality should include support for the following methods:
Add new calls to support the new inventories endpoints:
https://docs.channelape.io/?version=latest#ebdff427-2970-473d-9425-b997ef450fc9
The new functionality should include support for the following methods:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.