Get Many Lines
Endpoint Overview
This API endpoint is designed to retrieve information about multiple order lines from the Juleb ERP system. It allows you to efficiently fetch data for a group of order lines in a single request, rather than making individual requests for each order line.
Endpoint Details
- Method: GET
- URL:
/api/v1/pos/order/{orderId}/line
Parameters
- Path Parameters:
id(string, required): The ID of the order to retrieve its lines.
- Query Parameters:
fields(string, not required): Fields to include in the response separated by comma. If not provided, all fields are returned.filter(string, not required): Apply conditions to filter the data returnedlimit(integer, not required): Limit the number of records returned. Default is 10, Max is 1000.page(integer, not required): Page the records returned. Default is 1.
Response
- 200 OK: The requested resource has been returned.
- 400 Bad Request: Bad request.
- 401 Unauthorized: Unauthorized.
Response Body
{
"data": [
...records
],
"meta": {
"count": integer,
"total": integer
},
"pagination": {
"previousPage": integer | null,
"currentPage": integer,
"nextPage": integer | null,
"totalPages": integer
}
}
Example
Request
- NodeJS
- curl
- python
- java
curl -X GET \
-H "accept: */*" \
-H "Authorization: Bearer $API_KEY" \
"https://$ACCOUNT_NAME.juleb.com/api/v1/pos/order/7152/line?fields=name%2C%20product_id%2C%20price_subtotal_incl%2C%20qty%2C%20is_return&filter=is_return%3Dtrue&page=1&limit=10"
const axios = require('axios');
const accountName = process.env.ACCOUNT_NAME;
const apiKey = process.env.API_KEY;
axios.get(`https://${accountName}.juleb.com/api/v1/pos/order/7152/line`, {
headers: {
'accept': '*/*',
'Authorization': `Bearer ${apiKey}`
},
params: {
fields: 'name,product_id,price_subtotal_incl,qty,is_return',
filter: 'is_return=true',
page: 1,
limit: 10
}
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('Error:', error);
});
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
public class Main {
public static void main(String[] args) throws Exception {
String accountName = System.getenv("ACCOUNT_NAME");
String apiKey = System.getenv("API_KEY");
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(new URI("https://" + accountName + ".juleb.com/api/v1/pos/order/7152/line?fields=name,product_id,price_subtotal_incl,qty,is_return&filter=is_return=true&page=1&limit=10"))
.header("accept", "*/*")
.header("Authorization", "Bearer " + apiKey)
.GET()
.build();
HttpResponse<String> response = client.send(request, BodyHandlers.ofString());
if (response.statusCode() == 200) {
System.out.println(response.body());
} else {
System.out.println("Error: " + response.statusCode() + ", " + response.body());
}
}
}
import os
import requests
account_name = os.getenv('ACCOUNT_NAME')
api_key = os.getenv('API_KEY')
url = f'https://{account_name}.juleb.com/api/v1/pos/order/7152/line'
headers = {
'accept': '*/*',
'Authorization': f'Bearer {api_key}'
}
params = {
'fields': 'name,product_id,price_subtotal_incl,qty,is_return',
'filter': 'is_return=true',
'page': 1,
'limit': 10
}
response = requests.get(url, headers=headers, params=params)
if response.status_code == 200:
print(response.json())
else:
print(f'Error: {response.status_code}', response.text)
Response
{
"data": [
{
"name": "adnan/0254",
"product_id": 35767,
"price_subtotal_incl": -345,
"qty": -1,
"is_return": true
},
{
"name": "adnan/0255",
"product_id": 34967,
"price_subtotal_incl": 0,
"qty": -1,
"is_return": true
},
{
"name": "adnan/0256",
"product_id": 34964,
"price_subtotal_incl": 0,
"qty": -1,
"is_return": true
}
],
"meta": {
"count": 3,
"total": 3
},
"pagination": {
"previousPage": null,
"currentPage": 1,
"nextPage": null,
"totalPages": 1
}
}