import {
  Card,
  CardContent,
  CardDescription,
  CardHeader,
  CardTitle,
} from "zudoku/ui/Card";
import {
  Accordion,
  AccordionContent,
  AccordionItem,
  AccordionTrigger,
} from "zudoku/ui/Accordion";

## Frequently Asked Questions

<div className="not-prose my-6">
  <Accordion type="single" collapsible className="w-full">
    <AccordionItem value="general">
      <AccordionTrigger>General Questions</AccordionTrigger>
      <AccordionContent>
        <Accordion type="single" collapsible>
          <AccordionItem value="get-started">
            <AccordionTrigger>How do I get started with OmaxTelecom APIs?</AccordionTrigger>
            <AccordionContent>
              To get started:
              <ol className="list-decimal list-inside mt-2 space-y-1">
                <li>Create an account at <a href="https://console.omaxtelecom.com" className="text-primary hover:underline">OmaxTelecom Console</a></li>
                <li>Navigate to API settings to obtain your API credentials</li>
                <li>Review the documentation for the specific API you want to use</li>
                <li>Start with the sandbox environment for testing</li>
                <li>Once ready, switch to production environment</li>
              </ol>
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="credentials">
            <AccordionTrigger>Where can I find my API credentials?</AccordionTrigger>
            <AccordionContent>
              You can find your API credentials (API keys and tokens) by logging into <a href="https://console.omaxtelecom.com" className="text-primary hover:underline">OmaxTelecom Console</a> and navigating to the API settings section.
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="authentication">
            <AccordionTrigger>What authentication method do the APIs use?</AccordionTrigger>
            <AccordionContent>
              All OmaxTelecom APIs use Bearer Token authentication. Include your API token in the Authorization header:
              <pre className="bg-muted p-3 rounded mt-2"><code>Authorization: Bearer {`{your_api_token}`}</code></pre>
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="sandbox">
            <AccordionTrigger>Is there a sandbox environment for testing?</AccordionTrigger>
            <AccordionContent>
              Yes, we provide a sandbox environment for testing and development. You can use the sandbox to test API integrations without affecting your production account or incurring charges.
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="rate-limits">
            <AccordionTrigger>What are the API rate limits?</AccordionTrigger>
            <AccordionContent>
              Rate limits vary by API and plan. For specific rate limit information, please refer to the documentation for each API or contact our support team.
            </AccordionContent>
          </AccordionItem>
        </Accordion>
      </AccordionContent>
    </AccordionItem>

    <AccordionItem value="sms-api">
      <AccordionTrigger>SMS API</AccordionTrigger>
      <AccordionContent>
        <Accordion type="single" collapsible>
          <AccordionItem value="send-sms">
            <AccordionTrigger>How do I send SMS messages?</AccordionTrigger>
            <AccordionContent>
              Use the SMS API to send messages. You can send:
              <ul className="list-disc list-inside mt-2 space-y-1">
                <li>Single messages to one recipient</li>
                <li>Bulk messages to multiple recipients</li>
                <li>Scheduled messages for future delivery</li>
              </ul>
              See the <a href="/sms-api" className="text-primary hover:underline">SMS API documentation</a> for detailed examples and endpoints.
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="dlr">
            <AccordionTrigger>How do delivery reports (DLRs) work?</AccordionTrigger>
            <AccordionContent>
              Delivery reports provide real-time status updates for your sent messages. You can receive DLRs via:
              <ul className="list-disc list-inside mt-2 space-y-1">
                <li>Webhooks (real-time notifications)</li>
                <li>Polling the message status endpoint</li>
              </ul>
              DLRs include status information such as delivered, pending, failed, or expired.
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="incoming-sms">
            <AccordionTrigger>Can I receive incoming SMS messages?</AccordionTrigger>
            <AccordionContent>
              Yes, the SMS API supports two-way messaging. You can configure webhooks to receive incoming messages and enable conversations with your users.
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="countries">
            <AccordionTrigger>What countries are supported for SMS?</AccordionTrigger>
            <AccordionContent>
              SMS API supports sending messages to over 200 countries and territories worldwide through our global carrier network.
            </AccordionContent>
          </AccordionItem>
        </Accordion>
      </AccordionContent>
    </AccordionItem>

    <AccordionItem value="otp-api">
      <AccordionTrigger>OTP API</AccordionTrigger>
      <AccordionContent>
        <Accordion type="single" collapsible>
          <AccordionItem value="otp-work">
            <AccordionTrigger>How does the OTP API work?</AccordionTrigger>
            <AccordionContent>
              The OTP API generates secure one-time passwords for user verification and authentication. You can:
              <ul className="list-disc list-inside mt-2 space-y-1">
                <li>Generate OTP codes</li>
                <li>Verify OTP codes</li>
                <li>Customize OTP expiration times</li>
                <li>Send OTP codes via SMS</li>
              </ul>
              See the <a href="/otp-api" className="text-primary hover:underline">OTP API documentation</a> for more details.
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="otp-validity">
            <AccordionTrigger>How long are OTP codes valid?</AccordionTrigger>
            <AccordionContent>
              OTP codes typically expire after a set time (usually 5-10 minutes). You can customize the expiration time based on your security requirements.
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="otp-templates">
            <AccordionTrigger>Can I customize OTP message templates?</AccordionTrigger>
            <AccordionContent>
              Yes, you can customize OTP message templates to match your brand and include necessary information for your users.
            </AccordionContent>
          </AccordionItem>
        </Accordion>
      </AccordionContent>
    </AccordionItem>

    <AccordionItem value="sim-apis">
      <AccordionTrigger>SIM Management APIs</AccordionTrigger>
      <AccordionContent>
        <Accordion type="single" collapsible>
          <AccordionItem value="sim-difference">
            <AccordionTrigger>What is the difference between Bappy API and Telkor API?</AccordionTrigger>
            <AccordionContent>
              <ul className="list-disc list-inside space-y-1">
                <li><strong>Bappy API</strong>: Designed for resellers managing SIM cards for their customers, with features for managing multiple SIMs, plans, and activations.</li>
                <li><strong>Telkor API</strong>: For direct telco integrations and advanced SIM management operations.</li>
              </ul>
              See the <a href="/bundle-sim" className="text-primary hover:underline">Bappy API</a> and <a href="/telkor" className="text-primary hover:underline">Telkor API</a> documentation for details.
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="activate-sim">
            <AccordionTrigger>How do I activate a SIM card?</AccordionTrigger>
            <AccordionContent>
              SIM activation can be done through the SIM Management APIs. The process varies depending on whether you're using the Bappy API or Telkor API. Check the respective API documentation for step-by-step instructions.
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="track-usage">
            <AccordionTrigger>Can I track data usage for SIM cards?</AccordionTrigger>
            <AccordionContent>
              Yes, both SIM APIs provide usage tracking and monitoring capabilities, allowing you to track data, voice, and SMS usage for your SIM cards.
            </AccordionContent>
          </AccordionItem>
        </Accordion>
      </AccordionContent>
    </AccordionItem>

    <AccordionItem value="billing">
      <AccordionTrigger>Billing and Account</AccordionTrigger>
      <AccordionContent>
        <Accordion type="single" collapsible>
          <AccordionItem value="check-balance">
            <AccordionTrigger>How do I check my account balance?</AccordionTrigger>
            <AccordionContent>
              You can check your account balance and billing information by logging into <a href="https://console.omaxtelecom.com" className="text-primary hover:underline">OmaxTelecom Console</a>.
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="top-up">
            <AccordionTrigger>How do I top up my account?</AccordionTrigger>
            <AccordionContent>
              Account top-up can be done through <a href="https://console.omaxtelecom.com" className="text-primary hover:underline">OmaxTelecom Console</a>. Navigate to the billing section to add credit to your account.
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="payment-methods">
            <AccordionTrigger>What payment methods are accepted?</AccordionTrigger>
            <AccordionContent>
              Accepted payment methods vary by region. Please check <a href="https://console.omaxtelecom.com" className="text-primary hover:underline">OmaxTelecom Console</a> or contact support for payment options available in your area.
            </AccordionContent>
          </AccordionItem>
        </Accordion>
      </AccordionContent>
    </AccordionItem>

    <AccordionItem value="support">
      <AccordionTrigger>Technical Support</AccordionTrigger>
      <AccordionContent>
        <Accordion type="single" collapsible>
          <AccordionItem value="get-support">
            <AccordionTrigger>How can I get technical support?</AccordionTrigger>
            <AccordionContent>
              For technical support, you can:
              <ul className="list-disc list-inside mt-2 space-y-1">
                <li>Email us at <a href="mailto:support@omaxtelecom.com" className="text-primary hover:underline">support@omaxtelecom.com</a></li>
                <li>Log into <a href="https://console.omaxtelecom.com" className="text-primary hover:underline">OmaxTelecom Console</a> and submit a support ticket</li>
                <li>Check the API documentation for troubleshooting guides</li>
              </ul>
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="code-examples">
            <AccordionTrigger>Where can I find code examples?</AccordionTrigger>
            <AccordionContent>
              Code examples and SDKs are available in the documentation for each API. Look for the "Getting Started" or "Examples" sections in each API's documentation page.
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="programming-languages">
            <AccordionTrigger>What programming languages are supported?</AccordionTrigger>
            <AccordionContent>
              Our REST APIs can be used with any programming language that supports HTTP requests. We provide examples in popular languages, and you can use any HTTP client library in your preferred language.
            </AccordionContent>
          </AccordionItem>
        </Accordion>
      </AccordionContent>
    </AccordionItem>

    <AccordionItem value="errors">
      <AccordionTrigger>Error Handling</AccordionTrigger>
      <AccordionContent>
        <Accordion type="single" collapsible>
          <AccordionItem value="handle-errors">
            <AccordionTrigger>What should I do if I receive an error?</AccordionTrigger>
            <AccordionContent>
              When you encounter an error:
              <ol className="list-decimal list-inside mt-2 space-y-1">
                <li>Check the error message and error code in the API response</li>
                <li>Review the API documentation for the specific endpoint</li>
                <li>Verify your authentication credentials are correct</li>
                <li>Ensure your request format matches the API specification</li>
                <li>If the issue persists, contact support with the error details</li>
              </ol>
            </AccordionContent>
          </AccordionItem>
          <AccordionItem value="error-codes">
            <AccordionTrigger>What are common error codes?</AccordionTrigger>
            <AccordionContent>
              Common error codes include:
              <ul className="list-disc list-inside mt-2 space-y-1">
                <li><code>401 Unauthorized</code>: Invalid or missing API credentials</li>
                <li><code>400 Bad Request</code>: Invalid request parameters or format</li>
                <li><code>404 Not Found</code>: Requested resource doesn't exist</li>
                <li><code>429 Too Many Requests</code>: Rate limit exceeded</li>
                <li><code>500 Internal Server Error</code>: Server-side error (contact support)</li>
              </ul>
              For a complete list of error codes, refer to the specific API documentation.
            </AccordionContent>
          </AccordionItem>
        </Accordion>
      </AccordionContent>
    </AccordionItem>
  </Accordion>
</div>

## Still Have Questions?

If you couldn't find the answer you're looking for, please contact our support team:

<div className="not-prose my-6">
  <Card>
    <CardHeader>
      <CardTitle>Contact Support</CardTitle>
      <CardDescription>
        Our support team is here to help you with any questions or issues.
      </CardDescription>
    </CardHeader>
    <CardContent>
      <ul className="space-y-2">
        <li>
          <strong>Email:</strong> <a href="mailto:support@omaxtelecom.com" className="text-primary hover:underline">support@omaxtelecom.com</a>
        </li>
        <li>
          <strong>Portal:</strong> <a href="https://console.omaxtelecom.com" className="text-primary hover:underline">OmaxTelecom Console</a>
        </li>
      </ul>
    </CardContent>
  </Card>
</div>
