UNPKG

amocrm-client

Version:
55 lines (54 loc) 2.33 kB
import { IContactFactory } from "../factories/ContactFactory"; import { TConstructor } from "../../types"; import { IResourceEntity } from "../../interfaces/api"; import { IRequestOptions } from "../../interfaces/common"; import { ContactCriteria, IContactAttributes } from "../../interfaces/contact"; export interface IContact extends IResourceEntity<IContactFactory>, IContactAttributes { /** * Добавляет сущность на портал AmoCRM * @example * ```ts * const contact = new client.Contact({ * name: "Walter White" * }); * await contact.create(); * ``` * @example * ```ts * const contact = new client.Contact; * contact.name = "Walter White"; * await contact.create(); * ``` * @returns ссылка на созданную сущность * */ create(options?: IRequestOptions): Promise<IContact>; /** * Обновляет сущность на портале AmoCRM. * @param options настройки запроса и обработки результата * @example * ```ts * const contact = await client.contacts.getById(123); * contact.name = "Walter White"; * await contact.update(); * ``` * @returns ссылка на обновлённую сущность * */ update(options?: IRequestOptions): Promise<IContact>; /** * Создаёт или сохраняет сущность, в зависимости от результата {@link isNew()} * @param options настройки запроса и обработки результата * */ save(options?: IRequestOptions): Promise<IContact>; /** * Получает содержимое сущности на портале * @param criteria фильтр для уточнения результатов запроса * @param options настройки запроса и обработки результата * @example * ```ts * const contact = new client.Contact({ id: 123 }); * await contact.fetch(); * ``` * */ fetch(criteria?: ContactCriteria, options?: IRequestOptions): Promise<IContact>; } export declare const Contact: TConstructor<IContact>;