@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
393 lines • 15.1 kB
TypeScript
import { HTTPClient } from '../../core/client';
import { BaseServiceClient } from '../../core/base-client';
import { type AISuggestionParams, type SuggestDisplayDescResponse, type SuggestWebDescResponse } from './schemas';
/**
* P21 PIM (Product Information Management) API client
*
* Provides access to extended inventory data, AI-powered content generation,
* and podcast management capabilities.
*
* @example
* ```typescript
* const api = new AugurAPI({ bearerToken: 'your-jwt', siteId: 'your-site' });
*
* // List inventory extensions
* const extensions = await api.p21Pim.invMastExt.list({ limit: 20 });
*
* // Generate AI descriptions
* const suggestions = await api.p21Pim.items.suggestDisplayDescription(12345);
*
* // Manage podcasts
* const podcasts = await api.p21Pim.podcasts.list();
* ```
*/
export declare class P21PimClient extends BaseServiceClient {
constructor(http: HTTPClient, baseUrl?: string);
/**
* Inventory Master Extensions operations
*
* Manage extended inventory master data including UPC/EAN codes,
* brand information, and SEO metadata.
*/
invMastExt: {
/**
* List inventory master extensions with filtering and pagination
*/
list: (params?: {
edgeCache?: 3 | 2 | 4 | 1 | "1" | 5 | 8 | "2" | "3" | "4" | "5" | "8" | undefined;
limit?: number | undefined;
offset?: number | undefined;
} | undefined) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
invMastUid: number;
invMastExtUid: number;
upcOrEan?: string | null | undefined;
upcOrEanId?: string | null | undefined;
brandName?: string | null | undefined;
attributeGroupUid?: number | null | undefined;
upcOrEanPrefix?: string | null | undefined;
upcOrEanItem?: string | null | undefined;
manufacturerName?: string | null | undefined;
partNumber?: string | null | undefined;
metaTitle?: string | null | undefined;
metaDescription?: string | null | undefined;
metaKeywords?: string | null | undefined;
}[];
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Get a specific inventory master extension by UID
*/
get: (id: string | number, params?: import("../../core/base-client").CacheParams | undefined) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
invMastUid: number;
invMastExtUid: number;
upcOrEan?: string | null | undefined;
upcOrEanId?: string | null | undefined;
brandName?: string | null | undefined;
attributeGroupUid?: number | null | undefined;
upcOrEanPrefix?: string | null | undefined;
upcOrEanItem?: string | null | undefined;
manufacturerName?: string | null | undefined;
partNumber?: string | null | undefined;
metaTitle?: string | null | undefined;
metaDescription?: string | null | undefined;
metaKeywords?: string | null | undefined;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Create a new inventory master extension record
*/
create: (data: {
invMastUid: number;
}) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
invMastUid: number;
invMastExtUid: number;
upcOrEan?: string | null | undefined;
upcOrEanId?: string | null | undefined;
brandName?: string | null | undefined;
attributeGroupUid?: number | null | undefined;
upcOrEanPrefix?: string | null | undefined;
upcOrEanItem?: string | null | undefined;
manufacturerName?: string | null | undefined;
partNumber?: string | null | undefined;
metaTitle?: string | null | undefined;
metaDescription?: string | null | undefined;
metaKeywords?: string | null | undefined;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Update an existing inventory master extension
*/
update: (id: string | number, data: {
statusCd?: number | undefined;
upcOrEan?: string | null | undefined;
upcOrEanId?: string | null | undefined;
brandName?: string | null | undefined;
attributeGroupUid?: number | null | undefined;
upcOrEanPrefix?: string | null | undefined;
upcOrEanItem?: string | null | undefined;
manufacturerName?: string | null | undefined;
partNumber?: string | null | undefined;
metaTitle?: string | null | undefined;
metaDescription?: string | null | undefined;
metaKeywords?: string | null | undefined;
}) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
invMastUid: number;
invMastExtUid: number;
upcOrEan?: string | null | undefined;
upcOrEanId?: string | null | undefined;
brandName?: string | null | undefined;
attributeGroupUid?: number | null | undefined;
upcOrEanPrefix?: string | null | undefined;
upcOrEanItem?: string | null | undefined;
manufacturerName?: string | null | undefined;
partNumber?: string | null | undefined;
metaTitle?: string | null | undefined;
metaDescription?: string | null | undefined;
metaKeywords?: string | null | undefined;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Soft delete an inventory master extension (sets status_cd to 700)
*/
delete: (id: string | number) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
invMastUid: number;
invMastExtUid: number;
upcOrEan?: string | null | undefined;
upcOrEanId?: string | null | undefined;
brandName?: string | null | undefined;
attributeGroupUid?: number | null | undefined;
upcOrEanPrefix?: string | null | undefined;
upcOrEanItem?: string | null | undefined;
manufacturerName?: string | null | undefined;
partNumber?: string | null | undefined;
metaTitle?: string | null | undefined;
metaDescription?: string | null | undefined;
metaKeywords?: string | null | undefined;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
};
/**
* AI-Powered Item Services
*
* Generate AI-powered product descriptions using advanced language models.
*/
items: {
/**
* Generate marketing-focused display descriptions (255 character limit)
*
* @param invMastUid - Inventory master UID
* @param params - Optional parameters including limit and model selection
* @returns Array of suggestions or false if no suggestions available
*/
suggestDisplayDescription: (invMastUid: number, params?: AISuggestionParams) => Promise<SuggestDisplayDescResponse>;
/**
* Generate detailed web descriptions (4000 character limit)
*
* @param invMastUid - Inventory master UID
* @param params - Optional parameters including limit and model selection
* @returns Array of web description suggestions
*/
suggestWebDescription: (invMastUid: number, params?: AISuggestionParams) => Promise<SuggestWebDescResponse>;
};
/**
* Podcast Management
*
* Manage podcast content with full transcript support.
*/
podcasts: {
/**
* List podcasts with filtering and search capabilities
*/
list: (params?: {
edgeCache?: 3 | 2 | 4 | 1 | "1" | 5 | 8 | "2" | "3" | "4" | "5" | "8" | undefined;
limit?: number | undefined;
offset?: number | undefined;
q?: string | undefined;
statusCd?: number | undefined;
} | undefined) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
transcript: string;
podcastsUid: number;
path?: string | null | undefined;
title?: string | null | undefined;
}[];
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Get a specific podcast by UID
*/
get: (id: string | number, params?: import("../../core/base-client").CacheParams | undefined) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
transcript: string;
podcastsUid: number;
path?: string | null | undefined;
title?: string | null | undefined;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Create a new podcast record
*/
create: (data: {
transcript: string;
path?: string | null | undefined;
title?: string | null | undefined;
}) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
transcript: string;
podcastsUid: number;
path?: string | null | undefined;
title?: string | null | undefined;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Update an existing podcast record
*/
update: (id: string | number, data: {
path?: string | null | undefined;
title?: string | null | undefined;
statusCd?: number | undefined;
transcript?: string | undefined;
}) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
transcript: string;
podcastsUid: number;
path?: string | null | undefined;
title?: string | null | undefined;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
/**
* Soft delete a podcast record
*/
delete: (id: string | number) => Promise<{
params: Record<string, unknown> | unknown[];
data: {
dateCreated: string;
dateLastModified: string;
statusCd: number;
updateCd: number;
processCd: number;
transcript: string;
podcastsUid: number;
path?: string | null | undefined;
title?: string | null | undefined;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
};
/**
* Health check endpoint
*
* Monitor service health and availability.
* Note: Only requires x-site-id header, no Bearer token needed.
*/
getHealthCheck: () => Promise<{
params: Record<string, unknown> | unknown[];
data: {
siteHash: string;
siteId: string;
};
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
}
//# sourceMappingURL=client.d.ts.map