Send an SMS to one or many Turkish or international mobile numbers in a single request. Returns an orderId used for delivery reports (get_report) and scheduled-order cancellation (cancel_order).
Destructive and irreversible: dispatches a real SMS, deducts paid credit, and cannot be recalled once the message enters the carrier queue. For pre-approval testing use sender "APITEST"; this forces iys="0" and replaces the message text with a fixed verification string. Once a real sender is approved on the account, "APITEST" returns code 450.
Auth: API key + hash. The panel toggle "Allow API access" (Settings > Security > Access Permissions) must be ON or every call returns 401. IP allowlist applies when configured.
Conditional fields: order.sender must be a panel-approved alphanumeric header, max 11 chars. order.iys is required and chooses the regulatory channel. Use "0" for transactional messages (OTP, password reset, order/delivery/payment notification, appointment reminder, regulatory notice); these are out of scope of commercial-message consent under Turkish Law No. 6563 and IYS rules. Use "1" for commercial messages (campaign, promotion, discount, marketing); with iys="1", order.iysList is also required and must be "BIREYSEL" (individuals) or "TACIR" (businesses). KVKK personal-data obligations remain separate and always apply.
Field naming caveat: the recipient container is order.message.receipents (sic.); this is a backward-compatibility typo and "recipients" returns error 452.
Rate limits: 100 SMS per second per account for transactional sends, counted by recipient count rather than request count, so one request to five numbers consumes five SMS units. Bulk sends accept up to 50,000 recipients per request; chunk larger lists client-side at 50,000.
Scheduling: order.sendDateTime ("dd/MM/yyyy HH:mm", Turkey local time, no seconds) schedules a future dispatch. Cancel before the message leaves the queue via cancel_order with the returned orderId.
Reference: https://www.iletimerkezi.com/en/docs/api/send-sms
The cancel-order endpoint cancels an order created via send-sms with a sendDateTime in the future, before it is dispatched to the carrier. Only orders that have not started sending can be cancelled; once the order enters the send pipeline, the cancel window has closed and the request returns 455.
Reference: https://www.iletimerkezi.com/en/docs/api/cancel-order
The get-report endpoint returns the delivery report for an order created via send-sms. One response carries the overall order status, summary counters (total / delivered / undelivered / waiting), timestamps, sender, order price, and per-recipient delivery status. Large orders paginate via page + rowCount.
Reference: https://www.iletimerkezi.com/en/docs/api/get-report
The get-reports endpoint returns the aggregate summary list of all SMS orders created within a given date range. For each order the response carries counters (total / delivered / undelivered / waiting), timestamps, and sender; per-recipient breakdown is not included. For recipient-level details, call get-report for the specific order. This endpoint backs the Reports > Bulk SMS History screen in the panel. Typical use cases: dashboards, periodic analytics, queries like "list orders from the last week".
Reference: https://www.iletimerkezi.com/en/docs/api/get-reports
The get-balance endpoint returns the TL balance remaining on your account and the number of standard SMS messages that balance can fund. It has no side effects and consumes no credits, making it the safest call for verifying authentication and checking remaining budget before a campaign.
Reference: https://www.iletimerkezi.com/en/docs/api/get-balance
The get-sender endpoint returns the list of sender IDs (headers) registered and approved on your account. The order.sender field of send-sms only accepts values from this list; using anything else is rejected. The call has no side effects and consumes no credits.
Reference: https://www.iletimerkezi.com/en/docs/api/get-sender
The get-blacklist endpoint returns the list of phone numbers that you have blocked on your account. Numbers on this list are skipped during send-sms delivery. The call has no side effects and consumes no credits.
Reference: https://www.iletimerkezi.com/en/docs/api/get-blacklist
The add-blacklist endpoint adds one phone number to your account's blacklist so it is skipped by send-sms. Idempotent: re-adding the same number returns 200 instead of an error. One number per request.
Reference: https://www.iletimerkezi.com/en/docs/api/add-blacklist
The delete-blacklist endpoint removes a phone number from your account's blacklist. After removal, send-sms can deliver to that number again. One number per request; not idempotent, removing a number that is not on the list returns an error.
Reference: https://www.iletimerkezi.com/en/docs/api/delete-blacklist
The iys-register endpoint creates İYS (İleti Yönetim Sistemi) consent records, the legally required Turkish national registry for commercial electronic messaging. Consents (or rejections) collected via web forms, signed contracts, call-center confirmations, etc. are submitted to iletiMerkezi through this endpoint and forwarded to the national İYS registry. Up to 5000 recipients per request. İYS registration is mandatory for any commercial SMS sent in Turkey. Without a valid consent record, the corresponding send-sms call with iys: "1" is rejected with code 468 / 469 / 470.
Reference: https://www.iletimerkezi.com/en/docs/api/iys-register
The iys-check endpoint returns the current İYS (İleti Yönetim Sistemi) consent status for a given recipient. Use it to verify a record submitted via iys-register has been processed, to check ONAY (consent) / RET (rejection) before a commercial send, or to produce audit reports. The call has no side effects and consumes no credits.
Reference: https://www.iletimerkezi.com/en/docs/api/iys-check