create_esim_order
ChatGPTAlias of create_order with type=esim (kept for existing connectors). Guest / consumer: call without Authorization as soon as the plan is chosen — preview is optional. Show the buyer only payment_link and order_id when one exists. Never display checkout_hash (machine id for get_order_status). Buyer types email on the doctorsim.com checkout page and receives the eSIM by email after payment — do not promise an in-chat QR for guests. PRO OAuth: preview first, then create — debits prepaid credits and returns order_id, status, credits_used. Pass a unique idempotency_key per create. If the result lacks order_id, call list_orders / get_order_status — never re-create. Confirmation is emailed to the titular account when one is linked. Sandbox keys create a fake eSIM order (sandbox_esim_{id}, no credit debit, no ticket).
create_esim_topup
ChatGPTCreate an eSIM top-up for a titular-owned ICCID. Body: catalog_id + price_token from get_esim_topup_plans. Consumer OAuth returns payment_link; PRO debits catalog retail_eur from credits and returns order_id + credits_used. Insufficient wallet is INSUFFICIENT_CREDITS with no debit. Idempotency-Key replay does not double-debit. Fulfilment is is_topup (no new QR). Requires OAuth orders:write.
create_order
ChatGPTPlace the order after user confirmation (reuse price_token from preview_order). Guest default: returns payment_link + checkout_hash — no doctorSIM login required; share the link for payment on doctorsim.com. OAuth PRO: debits credits and returns order_id. Offer account linking only if the user asks for PRO credits or saved settings.
get_balance
ChatGPTPRO accounts only (requires balance:read OAuth scope). Returns the authenticated PRO user prepaid credit balance in EUR. Requires linking a doctorSIM account — do NOT call for guest checkout flows.
get_countries
ChatGPTList countries available for top-up and gift card services.
get_esim_destinations
ChatGPTList travel eSIM destinations (countries and regional/global coverage) with starting prices. country_iso is ISO-2 (es) or a region slug (eu, ww, as). Use it for get_esim_plans.
get_esim_line
ChatGPTLook up remaining data for a titular-owned eSIM by ICCID (from a fulfilled get_order_status). The line is the same on every device. Requires OAuth. Refreshes from the provider only when the last check is older than five minutes. Also returns nested consumption (cron snapshot: activated, unlimited, data_remaining_gb, days_left).
get_esim_plan_detail
ChatGPTFull detail for one eSIM plan by catalog_id, including price_token and unlimited (boolean).
get_esim_plans
ChatGPTList publishable travel eSIM plans for a destination. country_iso is matched strictly: ISO-2 (es) returns that country only — not eu/ww regional or global plans. Use region slugs (eu, ww, as) for regional/global coverage. Each plan includes catalog_id, price_token, and unlimited (boolean). Optional data_type filters unlimited or limited plans; omit or all returns both.
get_esim_topup_plans
ChatGPTList the exact doctorsim.com top-up packs for a titular-owned eSIM ICCID (same order as Mi Cuenta). No custom amount. Each plan includes catalog_id and a signed price_token on catalog retail_eur (the same amount PRO credits debit). PRO accounts receive checkout_mode=credits. Requires OAuth orders:read.
get_giftcard_brand_products
ChatGPTGift card denominations for a brand (id_operator from get_giftcard_brands) with token (use as price_token), service fee, and total per price point. Then preview_order / create_order with price_token only — never send a phone for gift cards.
get_giftcard_brands
ChatGPTList gift card brands (gaming, streaming, retail) for a country — no phone number involved. Each brand is an id_operator; pass it to get_giftcard_brand_products for denominations and price tokens. Paginated: pass cursor=meta.cursor when meta.has_more is true.
get_operator_rates
ChatGPTGet live pricing for an operator. Each rate has product_name, description (bundle/data details), and token for preview_order/create_order. Use operator_id from get_operator_service_types for the chosen type (bundle vs airtime vs data). Pass q to search descriptions (e.g. q="5GB whatsapp"). Rate totals are indicative — call preview_order for the authoritative breakdown before the user confirms.
get_operator_service_types
ChatGPTAfter carrier lookup, list what recharge types are available for an operator: airtime (saldo), bundles, mobile data, etc. Each type has its own id_operator — use that id for get_operator_rates. Ask the user: "Do you want airtime, bundles, or data?" then call rates with the matching service type.
get_operators
ChatGPTList mobile operators for a country (uses id_country from get_countries). Use when carrier lookup failed or the user already knows the operator.
get_order_status
ChatGPTCheck order or checkout status. Guest: pass checkout_hash from create_order (no login). OAuth: pass order_id from create_order or list_orders. Fulfilled gift cards may include redemption_code or redemption_url.
guest_order_lookup
ChatGPTGuest order status when checkout_hash is gone. Pass the buyer email and the user-visible ticket (order_id). No login. Wrong email or wrong ticket both return generic ORDER_NOT_FOUND. Prefer get_order_status with payment_link when the hash is still known. Sequential GET /orders/{id} still requires OAuth.
list_orders
ChatGPTList completed or refunded orders for the authenticated user. Requires OAuth — not available for guest checkout.
list_webhooks
ChatGPTPRO accounts only (requires webhooks:read OAuth scope). Lists registered webhook subscriptions. Requires OAuth.
lookup_carrier
ChatGPTIdentify the mobile carrier (operator) and country from a phone number in E.164 format (e.g. +522221231231). ALWAYS call this FIRST when the user provides a phone number for a top-up. Returns id_operator and id_country for the next steps. If lookup fails, ask the user which carrier/network the number uses.
preview_esim_order
ChatGPTAlias of preview_order with type=esim (kept for existing connectors). Guest can call this without Authorization (same as preview_order). Preview a travel eSIM order without placing it (no credits deducted). Returns unlimited (boolean), data_gb, and checkout_mode (credits for PRO, payment_link for guest / consumer OAuth). Sandbox keys (test_*) use the sandbox catalog.
preview_order
ChatGPTReturns the price breakdown WITHOUT placing an order. Guest (no login): checkout_mode=payment_link — show amount_due_eur; user pays on doctorsim.com after create_order. OAuth PRO: checkout_mode=credits with credit applied. Ask whether the user wants a payment link (default) or to link a PRO account for credits. Call once after rate selection, then confirm before create_order.
search_products
ChatGPTBrowse the country catalog by operator/brand name (gift cards, gaming, etc.). For mobile top-ups with a phone number, use lookup_carrier first, then get_operator_service_types and get_operator_rates — NOT this tool alone. When operator_id AND q are both set, searches live rate descriptions (bundles/data) for that operator instead of catalog names. Paginated: pass cursor=meta.cursor when meta.has_more is true.