amocrm-client
Version:
JS Library for AmoCRM
55 lines (54 loc) • 2.33 kB
TypeScript
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>;