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