Skip to main content

MobileRegisterBuyerInput

A buyer registering themselves. The account waits for the seller's approval.

input MobileRegisterBuyerInput {
businessType: BuyerBusinessType
code: String!
companyName: String!
department: String
email: String!
firstName: String
lastName: String
name: String!
phone: String
subdomain: String
title: String
whatsapp: String
}

Fields​

MobileRegisterBuyerInput.businessType ● BuyerBusinessType enum​

Whether the buyer is a business or an individual. Recorded on Partner.metadata.businessType. Nullable because older app builds send none — omitted simply records nothing.

MobileRegisterBuyerInput.code ● String! non-null scalar​

The 6-digit code the buyer already verified on the OTP screen, which now comes BEFORE this form. Re-checked server-side here because this mutation is what actually creates the account: without it, registration is callable directly and 'verified email' would be a client-side claim (Foundation Gate 3). Required.

MobileRegisterBuyerInput.companyName ● String! non-null scalar​

Company / business name.

MobileRegisterBuyerInput.department ● String scalar​

The person's department (e.g. 'Procurement'). Stored on their Contact rows, like title.

MobileRegisterBuyerInput.email ● String! non-null scalar​

Email address.

MobileRegisterBuyerInput.firstName ● String scalar​

Given name. Optional for older builds that send only name; when present it takes precedence over splitting name.

MobileRegisterBuyerInput.lastName ● String scalar​

Family name. See firstName.

MobileRegisterBuyerInput.name ● String! non-null scalar​

Contact/customer person name.

MobileRegisterBuyerInput.phone ● String scalar​

Buyer's mobile number in E.164 form (e.g. +97455551234). Persisted to User.phone. Nullable in the SCHEMA for backward compatibility only — app builds predating this field send nothing, and a required field would fail their signup at GraphQL validation before the resolver runs. Current clients treat it as MANDATORY and gate the Sign Up CTA on it.

MobileRegisterBuyerInput.subdomain ● String scalar​

ARC org subdomain this white-label build is pinned to (Constants.expoConfig.extra.orgSubdomain). Determines which tenant the customer is created under. Optional only for backward-compat / dev fallback (MOBILE_BUYER_ORG_ID).

MobileRegisterBuyerInput.title ● String scalar​

The person's job title (e.g. 'Purchasing Manager'). Stored on their Contact rows — there is no title column on User.

MobileRegisterBuyerInput.whatsapp ● String scalar​

Buyer's WhatsApp number in E.164 form. Persisted as its own WHATSAPP Contact channel row — there is no WhatsApp column on User. Optional: the form lets it be left blank or copied from the mobile number.

Member Of​

mobileRegisterBuyer mutation