API Documentation

Headers

Required Headers
{
    "Accept": "application/json",
    "Content-Type": "application/json"
}

1. Login

POST /login

Description: Authenticates a user and provides an API access token for subsequent requests.

Request Parameters

Parameter Type Required Description
email string Yes The user's email address.
password string Yes The user's password.

Sample Request

Request
{
    "email": "user@example.com",
    "password": "your_password"
}

Response

Status Code: 200 OK

{
    "message": "Logged in successfully",
    "token": "string"
}

Error Responses

Status Code: 422 Unprocessable Entity

{
    "message": "The provided credentials are incorrect."
}

2. Logout

POST /logout

Description: Logs out the authenticated user by revoking their API tokens and invalidating the session.

Response

Status Code: 200 OK

{
    "message": "Logged out successfully"
}

3. Create Print Jobs

POST /printjobs

Description: Creates a new print job associated with a transaction. Each print job can include multiple print files with specified parameters.

API Limits

Limit Value
Max Single File Size 100 MB
Max Pages in a Single Document 250
Max Files in an Order 10
Max Pages in an Order 350

Request Parameters

Parameter Type Required Description
phone string No User's phone number (optional).
totalPrice numeric Yes Total price for the print jobs.
delivery_address string Yes Full delivery address.
delivery_price numeric Yes Delivery charges.
customer_name string Yes Customer's name (max 25 characters).
print_files array Yes Array of print files to be processed.
print_files.*.filename string Yes URL to the print file (must be PDF, JPG, PNG, DOC, DOCX, etc.).
print_files.*.color boolean Yes Indicates if the print is color (true) or black-and-white (false).
print_files.*.double_sided boolean Yes Indicates if the print is double-sided.
print_files.*.pages_start integer Yes Starting page number.
print_files.*.page_end integer Yes Ending page number (must be greater than or equal to pages_start).
print_files.*.page_size string Yes Page size, allowed values: A4, A3, Letter.
print_files.*.copies integer Yes Number of copies (1–100).
print_files.*.page_orientation string Yes Page orientation: auto, portrait, landscape.
print_files.*.unit_price numeric Yes Price per unit of print file.

Sample Request

Request
{
                    "phone": "+1234567890",
                    "totalPrice": 25.50,
                    "delivery_address": "123 Main Street, City, Country",
                    "delivery_price": 5.00,
                    "customer_name": "John Doe",
                    "print_files": [
                        {
                        "filename": "https://example.com/document.pdf",
                        "color": true,
                        "double_sided": false,
                        "pages_start": 1,
                        "page_end": 10,
                        "page_size": "A4",
                        "copies": 2,
                        "page_orientation": "portrait",
                        "unit_price": 0.50
                        }
                    ]
                    }

Response

Status Code: 200 OK

{
                    "message": "Print jobs created successfully",
                    "transaction_id": 12345,
                    "code": 6789
                    }

Response

Status Code: 200 OK

{
    "message": "Print jobs created successfully",
    "transaction_id": 12345,
    "code": 6789
}

4. Retrieve Print Jobs by Transaction ID

GET /printjobs/{transactionId}

Description: Retrieves all print jobs associated with a specified transaction ID.

Path Parameters

Parameter Type Required Description
transactionId integer Yes The transaction ID to retrieve associated print jobs.

Response

Status Code: 200 OK

[
    {
        "id": 101,
        "transaction_id": 12345,
        "filename": "https://example.com/printfile.pdf",
        "color": true,
        "double_sided": false,
        "pages_start": 1,
        "page_end": 5,
        "page_size": "A4",
        "copies": 2,
        "page_orientation": "portrait",
        "status": "Received",
        "phone": "+123456789",
        "total_pages": 5,
        "code": 6789
    }
]

Error Responses

Status Code: 404 Not Found

{
    "message": "No print jobs found"
}