@open-wa/wa-automate-types-only
Version:
Types generated from the @open-wa/wa-automate package
144 lines (143 loc) • 3.48 kB
TypeScript
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;
}