# Order a Japan phone call task (guide for AI agents) Native Call calls Japanese businesses for customers who cannot call in Japanese: restaurants, hotels, couriers, clinics, rental cars, utilities and offices. Every task gets a call from a real person in Japanese. We finish it and report back in writing within 24 hours of payment. The recipient's hours, availability, and policies still affect whether your requested outcome can be achieved. If it cannot, there is no service fee and any upfront payment is refunded in full. ## Rules - The customer pays on a Stripe payment page. Give them the link; they check the details and pay. The task starts after payment. - Ask the customer for anything you do not know. Never invent names, phone numbers, dates or email addresses. - Phone numbers use international format with digits only, e.g. `+81312345678` for 03-1234-5678. - Dates are `YYYY-MM-DD`. Times are `HH:MM`, 24-hour, Japan time. - Not accepted: emergencies, crime reports, investigations and other law-enforcement matters. Lost property has its own form: https://nativecall.app/lost-property/ - By paying, the customer agrees to the Terms, including saved call transcripts: https://nativecall.app/terms/ ## Prices | taskType | Task | Price | | --- | --- | --- | | `restaurant` | Restaurant booking / cancel / change | US$4 | | `hotel` | Hotel / ryokan | US$4 | | `car_rental` | Car rental | US$4 | | `delivery` | Delivery | US$4 | | `doctor` | Clinic | US$7 | | `pharmacy` | Pharmacy | US$7 | | `utility` | Utilities | US$7 | | `government` | Government office | US$9 | | `bill_dispute` | Billing dispute | US$12 | | `insurance` | Insurance | US$12 | | `custom` | Other | US$7 | - Restaurant booking for 10 or more people (`requestKind` = `group`): US$10. - 10-hour priority (`urgencyTier` = `priority`): +US$5. - 5-hour express (`urgencyTier` = `express`): +US$15. - Japanese service number (`japaneseServiceNumber`): +US$5. For places that need a Japanese phone number: we give the business our Japanese number as the customer's contact. - The payment page shows the final total before the customer pays. ## Option 1: prefilled order link (no API call needed) Build a link and give it to the customer. It opens the order form with everything filled in, on phones and computers. The customer checks it and presses the pay button. - English form: `https://nativecall.app/task-intake/#` - Traditional Chinese form: `https://nativecall.app/zh/task-intake/#` Put the fields after `#`, not `?`, as `name=value` pairs joined by `&`. Encode each value with encodeURIComponent: space = `%20`, `+` = `%2B`, `@` = `%40`. Details after `#` are not sent to our servers or analytics. Restaurant booking: https://nativecall.app/task-intake/#taskType=restaurant&requestKind=book&restaurantName=Sushi%20Example&restaurantPhone=%2B81300000000&customerName=Chen&reservationDate=2026-10-10&reservationTime=19%3A00&partySize=2&timeFlexibility=30m&dateFlexibility=exact&contactEmail=customer%40example.com Hotel request, Chinese form: https://nativecall.app/zh/task-intake/#taskType=hotel&goal=Tell%20the%20hotel%20we%20will%20arrive%20around%2023%3A00%20on%202026-10-10%20and%20ask%20them%20to%20keep%20the%20room.%20Booking%20name%3A%20Chen.&targetName=Example%20Hotel&targetPhone=%2B81300000000&contactEmail=customer%40example.com Every task: - `taskType`: Task type from the price table - `contactEmail`: Customer email for payment and status updates - `urgencyTier`: `standard` (24 hours), `priority` (10 hours) or `express` (5 hours) - `japaneseServiceNumber`: `yes` to give the business our Japanese number as the customer's contact - `preferredContactChannel`: `email`, `line` or `whatsapp` - `messagingContact`: LINE ID or WhatsApp number, when that channel is chosen Restaurant (`taskType=restaurant`): - `requestKind`: `book`, `change`, `cancel` or `group` (10+ people) - `restaurantName`: Restaurant name - `restaurantPhone`: Restaurant phone, e.g. +81312345678 - `customerName`: Name on the booking - `reservationDate`: YYYY-MM-DD - `reservationTime`: HH:MM, 24-hour, Japan time - `partySize`: Number of people - `notes`: Anything else the restaurant should know - `timeFlexibility`: For `book`/`group`: if the time is full, `exact`, `30m`, `1h` or `2h` earlier or later - `dateFlexibility`: For `book`/`group`: `exact`, or `1d` if the day before or after also works - `restaurantAlternatives`: Other acceptable dates, seats or branches - `restaurantRequirements`: Seating, food, children or group needs - `restaurantRequestedChange`: For `change`: what should change - `restaurantFeeLimit`: Venue fees the customer accepts - `reservationRef`: Existing booking reference - `callbackPhoneE164`: Customer phone for the restaurant, e.g. +886912345678 Delivery (`taskType=delivery`): - `deliveryCarrierName`: Courier company - `deliveryCarrierPhone`: Courier phone - `deliveryTrackingNumber`: Tracking number - `deliveryCustomerName`: Recipient name - `deliveryCallbackPhone`: Recipient phone with country code - `deliveryAddress`: Delivery or redirect address - `deliveryCurrentStatus`: Current status shown by the courier - `deliveryDesiredOutcome`: What should happen, e.g. redeliver on Saturday morning - `deliveryNotes`: Anything else Every other task type: - `goal`: What the call should achieve, with all needed details - `targetName`: Business or office name - `targetPhone`: Phone number, e.g. +81312345678 ## Option 2: JSON API `POST https://api.nativecall.app/web/tasks/checkout` with `Content-Type: application/json`. It returns `{"orderId": "...", "checkoutUrl": "https://checkout.stripe.com/..."}`. Give `checkoutUrl` to the customer to pay. OpenAPI description: https://nativecall.app/openapi.json Fields: - `taskType` (required): from the price table. - `goal` (required, 5–1,000 characters): what the call should achieve, with all needed details. - `contactEmail` (required): customer email for payment and status updates. - `idempotencyKey` (required, 8–80 characters): a new random ID for each order. Retrying with the same key returns the same order and payment link. - `targetName`, `targetPhone`: business name and phone. Restaurants require `targetPhone`. - `aiFulfillment` (required for restaurants): `consent` (`true` once the customer accepts the Terms), `requestKind` (`book`, `change`, `cancel` or `group`), `customerName`, `reservationDate`, `reservationTime`, `partySize`, and optional `timeFlexibility` (`exact`, `30m`, `1h` or `2h`: how far from the requested time we may book if it is full), `dateFlexibility` (`exact` or `1d` for the day before or after), `reservationRef` and `callbackPhoneE164`. - `urgencyTier`: `standard` (default, within 24 hours), `priority` (within 10 hours) or `express` (within 5 hours). - `japaneseServiceNumber`: `true` to give the business our Japanese number as the customer's contact. - `locale`: `en` or `zh-TW`, for emails and the result page. - `returnPath`: `/task-intake/` or `/zh/task-intake/`, where the customer returns if they leave the payment page. - `preferredContactChannel`: `email`, `line` or `whatsapp`. With `line` or `whatsapp`, add `messagingContact`. Restaurant booking: ```json { "taskType": "restaurant", "goal": "Book a table for 2 on 2026-10-10 at 19:00 under the name Chen. 19:30 is also fine.", "targetName": "Sushi Example", "targetPhone": "+81300000000", "contactEmail": "customer@example.com", "locale": "en", "returnPath": "/task-intake/", "idempotencyKey": "9b2f6c1e-4d7a-4e21-8f3b-0c5d2a7e9f10", "aiFulfillment": { "consent": true, "requestKind": "book", "customerName": "Chen", "reservationDate": "2026-10-10", "reservationTime": "19:00", "partySize": 2, "timeFlexibility": "30m", "dateFlexibility": "exact" } } ``` Hotel request: ```json { "taskType": "hotel", "goal": "Tell the hotel we will arrive around 23:00 on 2026-10-10 and ask them to keep the room. Booking name: Chen.", "targetName": "Example Hotel", "targetPhone": "+81300000000", "contactEmail": "customer@example.com", "locale": "en", "returnPath": "/task-intake/", "idempotencyKey": "4e8a1d2c-7f3b-4a6e-9c1d-2b5f8e0a3c7d" } ``` Responses: - `200`: `{"orderId", "checkoutUrl"}`. - `400`: `{"error": "contactEmail: Invalid email address"}` names each field to fix. No order was created. - `429`: more than 5 orders in an hour from one IP address. Use the prefilled link instead. - `503`: ordering is paused. Use the prefilled link or try later. ## After payment The customer returns to a status page and gets email updates at `contactEmail`, including the written result. Questions: https://nativecall.app/support/