Slyce Receipt API
0.0.1-mock
Create, modify or delete receipt records Slyce transactions. This is considered a mock subversion because data doesn't persist past a single running instance.
Usage
Build
npm installServe Content
Currently this version only saves to the current running instance in memory. If the service exits it will loose any receipt data.
Create a dot .env and update with your parameters:
cp sample.env .env
nano .envStart:
npm startAPI
POST /receipt
Content-Type: application/json
Accept: application/json
Request:
{
"data": {
"attributes": {
"creator": "user_id",
"receiptImage": "s3://bucket/path/to/image.jpg"
}
}
}Response:
- Success:
201
{
"data": {
"attributes": {
"receiptImage": "s3://bucket/path/to/image.jpg",
"id": 1,
"receiptLineItems": [
{
"id": "1-1",
"label": "Item Label",
"paid": false,
"price": 14.50,
"tax": 1.00,
"additionalCostPercentage": 0
}
]
}
}
}GET /receipt/:receiptId
Accept: application/json
Response:
- Success:
200
{
"data": {
"attributes": {
"receiptImage": "s3://bucket/path/to/image.jpg",
"id": 1,
"receiptLineItems": [
{
"id": "1-1",
"label": "Item Label",
"paid": false,
"price": 14.50,
"tax": 1.00,
"additionalCostPercentage": 0
}
]
}
}
}DELETE /receipt/:receiptId
Response:
- Success:
202 - Failure:
304
PUT /receipt/claim/:receiptId/:itemId/:userId
Accept: application/json
Response:
- Success:
202
{
"data": {
"attributes": {
"receiptImage": "s3://bucket/path/to/image.jpg",
"id": 1,
"receiptLineItems": [
{
"id": "1-1",
"label": "Item Label",
"paid": false,
"price": 14.50,
"tax": 1.00,
"additionalCostPercentage": 0
}
]
}
}
}GET /receipt/storage/:userId/:filename
Request
Accept: application/json
Response:
- Success:
200
{
"data": {
"attributes": {
"destination": "https://bucket.s3.amazonaws.com/path/to/image.jpg?AWSAccessKeyId=<awsaccesskey>&Expires=1579055186&Signature=<awsaccesssignature>",
"s3path": "s3://bucket/path/to/image.jpg"
}
}
}
---GET /receipt/pay/:receiptId/:userId
Accept: application/json
Response:
- Success:
202
{
"data": {
"attributes": {
"cost": {
"tax": 1.00,
"sub_total": 14.50,
"total": 15.50
}
}
}
}PUT /receipt/pay/:receiptId/:userId/:paymentMethod
Accept: application/json
Response:
- Success:
202
{
"data": {
"attributes": {
"cost": {
"tax": 1.00,
"sub_total": 14.50,
"total": 15.50
},
"transactionMethod": "apple"
}
}
}GET /history/:userId
Accept: application/json
Response:
- Success:
200
{
"data": {
"attributes": {
"active": [
{
"receiptImage": "s3://bucket/path/to/image.jpg",
"id": 1,
"receiptLineItems": [
{
"id": "1-1",
"label": "Item Label",
"paid": false,
"price": 14.50,
"tax": 1.00,
"additionalCostPercentage": 0
}
]
}
],
"completed": []
}
}
}On this page
Languages
JavaScript92.0%Makefile7.1%Dockerfile0.9%
Contributors
MIT License
Created January 14, 2020
Updated January 26, 2020