> ## Documentation Index
> Fetch the complete documentation index at: https://developer.zeckta.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Messaging FAQ

> Frequently asked questions about SMS messaging, campaigns, delivery tracking, and Sender Names.

<AccordionGroup>
  <Accordion title="How do I know if a message was delivered?" icon="check">
    Zeckta provides two ways to track delivery status:

    * Poll the Message Status endpoint
    * Configure a webhook callback URL

    Webhook delivery is recommended for production applications because it provides real-time updates without polling.
  </Accordion>

  <Accordion title="What does a 202 Accepted response mean?" icon="clock">
    A `202 Accepted` response means Zeckta successfully accepted your request and queued it for processing.

    It does not mean the message has been delivered.

    Use the Message Status endpoint or Webhooks to monitor delivery progress.
  </Accordion>

  <Accordion title="Can I schedule messages?" icon="calendar-clock">
    Yes.

    Both single messages and campaigns support scheduling through the `scheduledAt` field.

    The scheduled timestamp must be in the future.
  </Accordion>

  <Accordion title="How can I estimate message cost before sending?" icon="calculator">
    Use the Message Preview endpoint.

    The preview response includes:

    * Encoding type
    * Message length
    * Segment count
    * SMS units
    * Estimated cost

    No message is sent during preview.
  </Accordion>

  <Accordion title="What delivery statuses can a message have?" icon="signal">
    Messages may progress through the following lifecycle:

    * QUEUED
    * PROCESSING
    * SUBMITTED
    * SENT
    * DELIVERED

    Possible failure outcomes include:

    * FAILED
    * UNDELIVERABLE
    * EXPIRED
    * REJECTED
  </Accordion>

  <Accordion title="Can I send Unicode messages?" icon="language">
    Yes.

    Zeckta automatically detects message encoding and supports:

    * Arabic
    * Chinese
    * Japanese
    * Emoji
    * Accented characters

    Unicode messages may consume more SMS segments than GSM-7 messages.
  </Accordion>

  <Accordion title="Can I send bulk campaigns?" icon="users">
    Yes.

    Use the Campaign API to send a message to multiple recipients in a single request.

    Campaign reports can be retrieved at any time using the Campaign Report endpoint.
  </Accordion>

  <Accordion title="What is a Sender Name?" icon="id-card">
    A Sender Name (Sender ID) is the identifier displayed on a recipient's device.

    Examples:

    * ZECKTA
    * MyShop
    * AcmeBank

    Sender Names typically require approval before use.
  </Accordion>

  <Accordion title="Can I receive delivery updates automatically?" icon="webhook">
    Yes.

    Provide a callback URL when sending messages or campaigns.

    Zeckta will send webhook events such as:

    * MESSAGE\_SUBMITTED
    * MESSAGE\_SENT
    * MESSAGE\_DELIVERED
    * MESSAGE\_FAILED
    * MESSAGE\_UNDELIVERABLE
    * MESSAGE\_EXPIRED
    * MESSAGE\_REJECTED
  </Accordion>

  <Accordion title="Are resources isolated between workspaces?" icon="building">
    Yes.

    SMS messages, campaigns, sender names, and OTP sessions are isolated by workspace.

    A workspace cannot access resources belonging to another workspace.
  </Accordion>

  <Accordion title="What happens if I exceed my API rate limit?" icon="gauge">
    The API returns:

    ```http theme={null}
    429 Too Many Requests
    ```

    Response headers include:

    * X-RateLimit-Limit
    * X-RateLimit-Remaining
    * X-RateLimit-Reset
    * Retry-After

    Applications should respect the `Retry-After` header before retrying requests.
  </Accordion>
</AccordionGroup>
