API
Türkçe

Getting started

Conventions

Request and response rules, date formats and limits that apply to every endpoint.

Requests

  • URL format: https://out.stockmount.com/api/{Controller}/{Action}, for example https://out.stockmount.com/api/Integration/GetSales.
  • Every endpoint is called with POST. The body must be UTF-8 JSON, sent with a Content-Type: application/json header.
  • Credentials go in the ApiCode field of the body, not in a header (Authentication).
  • Send field names as written in these docs (PascalCase). Unknown fields are ignored; fields set to null count as not sent.
  • Use a dot as the decimal separator (249.90). Amounts are stored with 2 decimal places.

Response envelope

Successful and failed responses share the same shape:

FieldDescription
Resulttrue if the operation succeeded. Always check this first.
ResponseThe data the endpoint returns. Empty for some endpoints.
ErrorCodeThe error code (for example 00003). All codes: Error codes.
ErrorMessageA description of the error or the name of a missing field. The text may change; do not build logic on it.
MessageAn informational message. Some endpoints explain the outcome or the error here.
{
  "Result": true,
  "Response": { "ProductId": 184522 }
}
{
  "Result": false,
  "ErrorCode": "00003",
  "ErrorMessage": "StoreId"
}
  • Empty fields are left out. Fields whose value is null (such as ErrorCode on success) are not written to the JSON at all. Treat a missing field as empty.
  • Business errors return HTTP 200. Check Result, not the HTTP status.
  • Some endpoints return no ErrorCode on failure and only fill ErrorMessage or Message. Check in this order: Result → ErrorCode → ErrorMessage / Message.
  • Some successful responses carry an ErrorCode too. For example, AddProduct returns Result: true with 70004 when a product with the same code already exists.
  • The message language varies by endpoint; most are English, some are Turkish.

HTTP status codes

  • 200: the request was processed; Result holds the outcome.
  • 400: the body is empty or not valid JSON. This response is a standard ProblemDetails object, not ResultInfo.
  • 410: the endpoint was removed (for example DeleteProduct).

Dates and times

  • Send request dates in ISO 8601 format, in Turkey time without an offset: 2026-11-05T14:30:00. A trailing Z is ignored and the value is still read as Turkey time.
  • Do not use local formats such as 05.11.2026; day and month may be swapped.
  • Response formats differ by field. Order dates (OrderDate, CargoDate, InvoiceTime and so on) and message times are UTC with a Z. Fields such as LastModificationTime, CreationTime and PackageEndDate are Turkey time without an offset. Each endpoint page states the format of each field.
  • Some empty date fields return a date before 1900 (1899-12-31T22:03:00Z) instead of null. Treat dates before 1900 as empty.

Limits

TopicLimit
GetSales date rangeAt most 7 days
GetSales page sizeDefault 20, at most 200 orders
GetProducts page sizeDefault and maximum 100 products
Product update endpointsOne product per call (its variants in the same call)
Product imagesAt most 12 per product
API keysAt most 2 per account

On paged endpoints PageIndex starts at 1. Send only the requests you need: pulling orders every few minutes is enough, and stock and price only need sending when they change.

Packages

  • To log in, your account needs a valid package that includes API access; otherwise DoLogin returns 99988.
  • Product endpoints (Product/* and SetProductSourceProducts) also need an active Product package; otherwise they return 70018. Order endpoints do not need it.

Changes

There is no version number in the API URL. Removed endpoints return HTTP 410; changes are announced in the changelog. Details: Versioning policy.

Use ↑ ↓ to move, Enter to open, Esc to close.

Connect to the Out API

DoLogin is called and the returned ApiCode is kept in this tab. Your API password is never sent to this site.