4WS Suite
Home
API Reference
  • Data mangement API
  • Documents API
Home
API Reference
  • Data mangement API
  • Documents API
Fourwayshop
  1. Documents (deprecated)
  • Four Way Shop API
  • Before start develop
  • Why we use Resource-oriented design
  • Technical Prerequisites
  • Concepts
    • Date Handling
    • Managing Languages
    • Handling Field Updates and Null Values in Service Requests
    • ISO Code
    • Vat rates
    • Product structure
    • Product Images
    • Product dimensions
    • Product pricing
    • Dimension group vs Dimension grouping
    • Subjects overview
    • Documents structure
  • Best Practices
    • Best Practices for Error Handling in External System
    • How Testing callback response
    • Best Practices for delopers
  • Data management
    • Authentication
    • Rate Limits
    • Paginated Responses
    • Getting Started
    • API Changelog
    • Use cases
      • Cataloging a Dimension
      • Creating a New Product
      • Retriving a product details
      • Defining Product Pricing
      • Updating External System Product Catalog
      • Activate product variants and add barcodes to SKUs
      • Move a Barcode from One Product to Another
    • API
      • Login
        • login
      • Product
        • Brand
          • Get All Brands
          • Get A Brand
          • Insert brand
          • Update brand
        • Season
          • Get All Seasons
          • Get A Season
          • Insert season
          • Update season
        • Attribute
          • Get All Attribute Types
          • Get Attribute Type
          • Get Attribute
          • Insert attribute
          • Update attribute
        • Hierarchy
          • Insert hierarchy
          • Update hierarchy
        • Dimension groups
          • Insert dimension group
          • Update dimension group
        • Dimension
          • Insert dimension
          • Update dimension
          • Delete dimension
        • Product
          • Get products
          • Get product
          • Get product grouping
          • Get SKU's barcodes
          • Get product stock
          • Insert product
          • Update product
        • Activate dimensions on products
          • Insert active dimensions
          • Delete active dimensions
        • Barcode
          • Get SKU from barcode
          • Generate missing barcodes
          • Generate missing barcode for SKU
          • Insert barcode
          • Delete barcode
        • Prices
          • Get product prices
        • Price dimension groupings
          • Get Dimension Price Grouping
          • Get All Dimension Price Grouping
          • Insert dimension grouping
          • Update dimension grouping
          • Delete dimension grouping
        • Assortment
          • insert product assortment
          • delete product assortment
        • Image
          • Get images
          • Add image
          • Replace image
          • Delete image
        • Supplier
          • Get Item suppliers
          • Insert item supplier
          • Delete item supplier
          • Update item supplier
        • Custom category
          • Get Custom code
          • Insert Custom code
          • Update Custom code
        • Vat
          • Vat types
            • Get VAT type
            • Get VAT types
          • VATs
            • Get VATs
            • Get VATs by type
            • Get VAT
          • Vat rates
            • Get VAT rates
            • Get single VAT rates
        • Stock
          • Insert stock
          • Get stock
      • Price lists
        • Get price lists
        • Get price lists by type
        • Get price list
        • Get prices from price list
        • Get entities from price lists
        • Insert Price List
        • Insert Product Price
        • Insert Entity On Price Lists
        • Update price list
        • Delete all product prices
        • Delete single product price
        • Delete entity from a price lists
      • Supplier
        • Supplier contacts
        • Supplier addresses
        • Get Suppliers
        • Get A Specific Supplier
        • Insert supplier
        • Update supplier
      • Entities
        • Get entities
        • Get entity
        • Insert entity
        • Update entity
      • Miscellaneous
        • Get requests rate limits
      • Catalog
        • Get Catalogs details
        • Get Catalog details by Code
        • Get products by Catalog Code
      • Export
        • Get bulk CSV Export
  • Documents
    • Authentication
    • Paginated responses
    • Managing API Callbacks
    • Document notifications
    • Customer promo data notifications
    • Use cases
      • Updating External System Stock
      • E-commerce Recipt Processing
      • E-commerce Return Receipt Processing
      • E-commerce Order sale Processing
      • E-commerce Return Order Processing
      • E-commerce Order Handling and Internal Stock Transfer
      • E-commerce & Gift Card
      • Creating a free entry
      • Retrieving a Document by Identifier
      • Cart Validation Service
      • Sale and Shipping costs
      • Handling Line Item Discounts
      • Managing Price Forcing in Cart Items
      • Purchase Order Registration
      • Supplier Goods Entry From Purchase Order
      • Update an Orchestrated Order
      • New Orchestrated Return Orders
    • API
      • Document Manager
        • Orders
          • Save Sale Order
          • Save Return Order
        • Orchestrated Orders
          • Orchestrated Order
          • Orchestrated Return order
          • Orchestrated Update order
        • Cart
          • Cart Validation
          • Cart Full Validation
        • Sales
          • Save receipt
          • Salve only Order
          • Replace or update sale
          • Get last digital order
        • Warehouse
          • Save Entry from supplier
          • Save Transfer document
          • Save Free Entry
        • Purchase
          • Save Purchase
        • Get Document
        • Update Document external references
      • Customer
        • Get Customer
        • Set Customer Opt-in
      • Loyalty vouchers
        • Get customer loyalty vouchers
        • Get loyalty vouchers at a time interval
        • Get last loyalty vouchers
      • Giftcard
        • Get Giftcard
        • Update Giftcard
        • Generate Gift Card Barcode
        • Gift Card PDF Generation
      • Stock
        • Get Stock
        • Get last stock
        • Insert Stock
  • 🚫 KeepIT
    • Authentication
    • Use cases
    • Articles (deprecated)
      • Get Articles
      • Insert/Update dimensional groups
      • Insert/Update price groupings
      • Insert/Update dimensions
      • Insert/Update attributes
      • Insert/Update hieararchies
      • Insert/Update seasons
      • Insert/Update articles
      • Insert/Update Articles Master data
      • Insert/Update Lists
      • Insert/Update Dimensions Groups
      • Create EAN13 barcode
      • Insert/Update Barcode
      • Assign dimensions to groupings
    • Price Lists (deprecated)
      • Insert price list
      • Add entity to price list
      • Add item price to price list
      • Insert sale profile
      • Insert sale period
      • Add item price to sale period
    • Stock (deprecated)
      • Get Stock
      • Get Stock Date
      • Get Stock CSV
      • Insert/Update Stock
    • Sales (deprecated)
      • Insert/Update sales
      • Delete sales
      • Upload printer sales archive
    • Deposit (deprecated)
      • Insert/Update deposits
    • Services
      • Insert/Update services
      • Delete services
    • Points
      • Insert/Update points
      • Calculate and Insert/Update Points
      • Delete points
    • Subjects
      • Check customers
      • Anonymize customers
      • Get subject data
      • Get customer discount
      • Insert/Update customer
      • Insert/Update billing customers
      • Insert/Update CRM customer
      • Insert/Update children
      • Change/Replacement card
      • Insert CRM user
    • Giftcards & Vouchers
      • Get giftcard
      • Insert/Update giftcards
      • Insert/Update Vouchers
    • Missed Opportunity
      • Get Lost Opportunities
      • Insert/Update missed opportunities
      • Delete missed opportunity
    • Documents (deprecated)
      • Insert documents
        POST
      • Get document
        POST
    • Catalogs
      • Get Catalog
      • Insert/update catalog
      • Insert/Update hierarchies item catalog
      • Insert/Update entity clusters
    • Suppliers (deprecated)
      • Insert/Update tailor
      • Insert/Update supplier
    • Export (deprecated)
      • Get Items Export
      • Get Barcodes Export
      • Get Prices Export
      • Get Customers Export
      • Get Suppliers Export
      • Get Sales Export
      • Get Movements Export
      • Get Vouchers Export
    • Configuration Mobile Shop (deprecated)
      • Insert/Update Entities
      • Insert Seller
    • Mappings
      • Insert Mappings
      • Get Mappings
  1. Documents (deprecated)

Get document

Deprecated
POST
/api
Last modified:2025-10-22 14:53:02
To get one or more document, it's necessary to make a POST call, passing a JSON body as specified below.
The web service response will be composed of:
* success: Boolean that indicated wether the request was successful or not
* code : HTTP Code for the response
* 200 means the request was correctly processed
* 204 means a duplicate record was found in KeepIT, and that no insertion was performed
* 206 means that not all records were inserted or processed
* 400 means that the request body is invalid or contains syntax errors
* 500 means a server error has happened
* message: response message for the request (e.g. "Insertion successful" or "Missing required parameter")
* documents: Array that contains the documents
This is the list of fields that can be passed in the request body:
FieldDescriptionTypeMandatory
documentRef
Reference to the document that has to be extracted
String
entityCode
Extracts the documents of the given shop
String
Mandatory when documentRef is set
documentDate
Extracts the documents with the given date
Date (format 'YYYY-MM-DD')
Mandatory when documentRef is set
system
Code of the system to be used to filter the recent documents when no other parameter is set
String
Mandatory when no other parameter is set
completeExtraction
If set to T, extracts ALL the documents (even the ones before the last request)
Char(1)
languageId
Language code used to extract descriptions for the document codes (e.g. docType, currency, causal etc). Defaults to 'IT' if not specified
Char(2)
* In case documentRef, entityCode, documentDate and completeExtraction are not specified, the web service will retrieve all the documents since the last request.
* The web service is paginated, and will return a chunk of 10 elements at most.
This is the list of fields that can be passed in the request parameters:
FieldDescriptionTypeMandatory
start
Pagination offset parameter.

The WS will retrieve the elements starting from the one with the index specified here.


For example, if 'start' is set to 23, the documents from the 23rd to the 33rd will be returned.
Number
!! IMPORTANT NOTE !!
With completeExtraction = 'F' you should ALWAYS set the start header to 0.
This is because you're extracting 10 documents at a time since the last request and marking them as read, with a process similar to popping data from a list.
The set of data you're reading will shrink at each request.
Even with the start header always set to 0 you'll eventually exhaust the documents that need to be extracted (once moreRows is false).
With completeExtraction = 'T' , instead, you have to increase the start header by 10 at each request, because you're reading a set of data that won't shrink. Once a requests has moreRows equals to false, then the end of the set has been reached.
The response is composed as follows
Document Header section
FieldDescriptionType
docType
Document type
Char(20)
docTypeDescription
Description for the docType
Varchar(250)
currency
Currency used in the document values
Varchar(250)
currencyDescription
Description for the currency
Varchar(250)
causal
Document causal
Varchar(250)
causalDescription
Description for the causal
Varchar(250)
year
Document year
Decimal(4, 0)
documentDate
Document date
Datetime
movementDate
Movement date
Datetime
refDocument
Reference code for the document
Varchar(250)
entityCode
Code of the shop
Varchar(250)
entityCodeDescription
Description for the entityCode
Varchar(250)
transportDocument
Code of the transport document
Varchar(250)
supplierDocument
Code of the supplier document
Varchar(250)
supplierCode
Supplier code
Varchar(250)
supplierDenomination
Denomination of the supplier
Varchar(250)
customerCode
Customer code
Varchar(250)
customerDenomination
Denomination of the customer
Varchar(500)
consolidated
Indicates wether the document is consolidated ('T') or not ('F')
Char(1)
entityCodeDest
Code of the destination shop
Varchar(250)
entityCodeDestDescription
Description for the entityCodeDest
Varchar(250)
deliveryDate
Delivery date
Datetime
note
Document notes
Varchar(1024)
totalQuantity
Total packages quantity
Decimal(7, 2)
Document Details section
FieldDescriptionType
rowNumber
The number row
Int(11)
barcode
Barcode for the SKU
Varchar(50)
quantity
Article quantity
Decimal(10, 2)
orderRow
Order row number
Decimal(15, 0)
cessionPrice
Article cession price
Decimal(7, 2)
note
Notes for the row
Varchar(1024)
Document Packages section
FieldDescriptionType
packageNumber
Package number
Varchar(250)
packageBarcode
Barcode for the package
Varchar(250)
externalPackage
Barcode for the external package
Varchar(250)
consolidated
Indicates wether the package is consolidated ('T') or not ('F')
Char(1)
movementDate
Package movement date
Datetime
Package Details section
FieldDescriptionType
packageNumber
Package number
Varchar(250)
rowNumber
Row number
Int(11)
quantity
Package quantity
Decimal(7, 2)
Response example
{
    "success": true,
    "code": 200,
    "message": "Insert/update successful",
    "errorObjects": [],
    "documents": [{
        "documentHeaders": {
            "progId": "identifier",
            "fk_ini06": "document type",
            "fk_ini15": "document causal",
            "year": "document year",
            "document_date": "document date",
            "movement_date": "movement date",
            "fk_ini14": "document currency",
            "ref_document": "document number",
            "fk_ent03": "shop/store",
            "transport_document": "delivery note number",
            "supplier_document": "supplier document number",
            "fk_doc04_master": "linked document identifier",
            "fk_crm01_supplier": "supplier identifier",
            "fk_crm01_customer": "billing customer identifier",
            "consolidated": "indicates wether the document is consolidated or not ('T' for consolidated or 'F' for not consolidated)",
            "fk_ent03_dest": "recipient shop/store",
            "delivery_date": "delivery date",
            "note": "notes",
            "packages_number": "packages number",
            "total_quantity": "total pieces amount"
        },
        "documentDetails": [{
            "progId": "identifier",
            "row_number": "row number",
            "fk_art02": "movement SKU",
            "quantity": "quantity",
            "fk_doc05_order": "order row reference",
            "cession_price": "cession price",
            "note": "row notes"
        }],
        "documentPackages": [{
            "progId": "identifier",
            "package_number": "package number",
            "pakcage_barcode": "package barcode",
            "external_package": "external package code",
            "consolidated": "indicates wether the package is consolidated ('T') or not ('F')",
            "movement_date": "package movement date"
        }],
        "packageDetails": [{
            "progId": "identifier",
            "fk_doc06": "package reference",
            "fk_doc05": "document row reference",
            "quantity": "quantity"
        }]
    }]
}
Notes
There's a limit of 100 calls for this API.

Request

Query Params

Header Params

Body Params application/json

Example
{
	"completeExtraction": "T",
	"dateFrom": "2019-01-19",
	"languageId": "EN"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/api?cmd=getDocuments_v3&appId=KEEPIT&applicationId=KEEPIT&start=1' \
--header 'username: {{USERNAME}}' \
--header 'password: {{PASSWORD}}' \
--header 'companyId: {{COMPANY_ID}}' \
--header 'siteId: {{SITE_ID}}' \
--header 'Content-Type: application/json' \
--data-raw '{
	"completeExtraction": "T",
	"dateFrom": "2019-01-19",
	"languageId": "EN"
}'

Responses

🟢200Success
application/json
Body

Example
{}
Modified at 2025-10-22 14:53:02
Previous
Insert documents
Next
Get Catalog
Built with