UNPKG

@open-wa/wa-automate-types-only

Version:

Types generated from the @open-wa/wa-automate package

144 lines (143 loc) 3.48 kB
import { ContactId } from './aliases'; import { Id } from './id'; import { Message } from './message'; export interface NumberCheck { id: Id; status: 200 | 404; isBusiness: boolean; canReceiveMessage: boolean; numberExists: boolean; } export interface BizCategory { id: string; localized_display_name: string; } export interface BizProfileOptions { commerceExperience: "catalog" | "none" | "shop"; cartEnabled: boolean; } export interface BusinessHours { config: { [day in "mon" | "tue" | "wed" | "thu" | "fri" | "sat" | "sun"]: { mode: "specific_hours" | "open_24h" | "appointment_only"; hours: number[][]; }; }; timezone: string; } export interface BusinessProfile { /** * The Contact ID of the business */ id: ContactId; /** * Some special string that identifies the business (?) */ tag: string; /** * The business description */ description: string; /** * The business' categories */ categories: BizCategory[]; /** * The business' profile options */ profileOptions: BizProfileOptions; /** * The business' email address */ email: string; /** * Array of strings that represent the business' websites */ website: string[]; /** * The operating hours of the business */ businessHours: BusinessHours; /** * The status of the business' catalog */ catalogStatus: "catalog_exists" | string; /** * The address of the business */ address: string; /** * The facebook page of the business */ fbPage: any; /** * The instagram profile of the business */ igProfessional: any; isProfileLinked: boolean; coverPhoto: { /** * The id of the cover photo */ id: string; /** * The URL of the cover photo. It might download as an .enc but just change the extension to .jpg */ url: string; }; /** * The latitude of the business location if set */ latitude: number; /** * The longitude of the business location if set */ longitude: number; } export interface Contact { formattedName: string; id: ContactId; isBusiness: boolean; /** * Most likely true when the account has a green tick. See `verifiedLevel` also. */ isEnterprise: boolean; isMe: boolean; isMyContact: boolean; isPSA: boolean; isUser: boolean; isWAContact: boolean; labels: string[]; msgs: Message[]; name: string; plaintextDisabled: boolean; profilePicThumbObj: { eurl: string; id: Id; img: string; imgFull: string; raw: string; tag: string; }; pushname: string; shortName: string; statusMute: boolean; type: string; /** * 0 = not verified * 2 = verified (most likely represents a blue tick) */ verifiedLevel: number; /** * The business account name verified by WA. */ verifiedName: string; isOnline?: boolean; lastSeen?: number; /** * If the contact is a business, the business information will be added to the contact object. * * In some circumstances this will be out of date or lacking certain fields. In those cases you have to use `client.getBusinessProfile` */ businessProfile?: BusinessProfile; }