Skip to content

Coupons, appointments and callbacks

If a purpose has a coupon rule, the assistant can create a discount coupon for the customer during the call (the kupon_olustur tool). Coupons must be on in your plan and a provider must be set under Settings → Integrations → Coupon provider.

FieldRule
amacsatis (for commercial purposes) or telafi (for service purposes); a rule that doesn’t match the type can’t be saved
tipyuzde (percent) or tutar (amount)
ust_sinir> 0; at most 50% for percentage discounts
min_sepet≥ 0 (default 0)
gecerlilik_saat1–720 hours (default 48)
haric_kategorilercategory ids (numbers) on your site, up to 100

Every coupon request from the assistant is checked in code against the rule; a request outside the rule is refused and the assistant makes no promise. A coupon is always single-use and locked to the customer’s email. Codes start with RZ, use letters that can’t be confused in speech or writing (no I, O, Q, W, X, 0, 1) and are read to the customer letter by letter.

  • WooCommerce coupon: the coupon is created in your store through the WooCommerce REST API. If the store address and write key are empty, the values from the store connection are used.
  • Generic HTTP: Zitena sends POST {kod, tip, deger, eposta, son_gecerlilik, min_sepet, haric_kategoriler} to your URL (optional Authorization: Bearer …).

If your orders include the coupon code (coupons) and cart id (sepet_id), the coupon is marked “used” and the Carts screen calculates recovered revenue. Coupon usage only comes from orders that count as paid; if the order is cancelled or refunded, it is reversed. Compensation coupons don’t count towards recovered revenue. The kupon.olusturuldu webhook event is sent when a coupon is created (it contains no email).

  • Triggerer’s appointment: if en_erken is given in the console, button or API, the request is not called before that time and the time is stored as an appointment (randevu_kaynak: "tetikleyen"). If it is outside calling hours it moves to the next opening.
  • Assistant’s appointment: if during a call the customer names a time such as “tomorrow afternoon”, “around six in the evening” or “in half an hour”, the assistant resolves it; outside calling hours it asks with a suggestion, offers a busy customer two concrete times, and confirms out loud. The new request opens with randevu_kaynak: "asistan".
  • Confirmation: an email/SMS confirmation can be sent for the appointment (notification template “call appointment”, variable {randevu}).
  • The Outbound calls list has a with appointment filter and an appointment column; the detail shows who took the appointment.

Call back lets you return an inbound call or a request from the console:

  • The Call back button on the call or request detail; in the call list, the “pending inbound calls” filter (inbound calls that ended unresolved or were dropped, with no callback request yet).
  • The number is resolved on the server from the source; the browser only sees it masked.
  • The previous call’s summary, topics and related order/request number are added to the assistant’s instructions as data (not as instructions), and the greeting says it is a callback.
  • The request takes the normal path: do-not-call, calling hours, repeat/open request, quotas and İYS by purpose.
  • Outbound calls cannot be called back.