UNPKG

@shipengine/connect-order-source-api

Version:

This is the typescript/javascript definitions for the order source api

116 lines (115 loc) 6.28 kB
import Joi from 'joi'; export declare class Parameter { /** @description The name of the parameter */ name: string; /** @description The value associated with the parameter */ value: string; } export declare const MethodSchema: Joi.StringSchema; export declare const ParameterSchema: Joi.ObjectSchema<any>; export declare class DateTimeConfiguration { /** @description JSONPath to the JSON element containing the date-time */ path: string; /** @description DateTime format string compliant with * https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings */ date_time_format: string; } export declare const DateTimeConfigurationSchema: Joi.ObjectSchema<any>; export type MapOfStrings = { [key: string]: string; }; export type MapOfObjects = { [key: string]: any; }; /** @description Optional configuration to take full control of parsing and extracting fields * from the integration's JSON response body. * Note for JSONPath: strings not starting with $ are interpreted as string literals */ export declare class ResponseTransformationConfiguration { /** @description JSONPath to the JSON element for access_token. */ access_token: string; /** @description JSONPath to the JSON element for token_type */ token_type: string; /** @description JSONPath to the JSON element for refresh_token */ refresh_token?: string; /** @description JSONPath to the JSON element for expires_in. Mutually exclusive with expires_at */ expires_in?: string; /** @description Configuration for parsing a date-time, when the integration is lacking expires_in. * Mutually exclusive with expires_in. */ expires_at?: DateTimeConfiguration; /** @description Optional collection of properties to include in the connection_context sent back with the auth flow result. * Property value may be JSONPath or a string literal. * E.g. * "connection_context": { * "store_id": "$.data.store_id" * } */ connection_context?: MapOfStrings; } export declare const MapOfStringsSchema: Joi.ObjectSchema<any>; export declare const MapOfObjectsSchema: Joi.ObjectSchema<any>; export declare const ResponseTransformationConfigurationSchema: Joi.ObjectSchema<any>; export declare class AccessToken { /** @description OAuth1 only. The url to obtain the temporary Access (aka Request) Token to start a flow **/ url_template: string; } export declare const AccessTokenSchema: Joi.ObjectSchema<any>; export declare class RequestTokenConfiguration { /** @description The url to obtain the access token using the authorization code on the backend @example "http://{auth_state:store_name}.store.com/admin/oauth/request", "http://store.com/oauth/request" */ url_template: string; /** @description A list of query parameters that will be attached to the url */ query_parameters?: Parameter[]; /** @description Method to use when making the server-server code for token request @example "GET", "POST" */ method?: string; /** @description List of parameters that are sent to the integration when exchanging the code for the token. These are built using ContentType */ body?: Parameter[]; /** @description List of headers that are sent to the integration when requesting a token */ headers?: Parameter[]; /** @description Response payload parsing */ response?: ResponseTransformationConfiguration; } export declare const RequestTokenConfigurationSchema: Joi.ObjectSchema<any>; export declare class RefreshTokenConfiguration { /** @description The url to refresh the access token using the authorization code on the backend @example "http://{auth_state:store_name}.store.com/admin/oauth/refresh", "http://store.com/oauth/refresh" */ url_template: string; /** @description A list of query parameters that will be attached to the url */ query_parameters?: Parameter[]; /** @description Method to use when making the server-server code for token request @example "GET", "POST" */ method?: string; /** @description List of parameters that are sent to the integration during the server-server refresh token request. These are built using the content type specified in the headers array. */ body?: Parameter[]; /** @description List of headers that are sent to the integration when refreshing a token */ headers?: Parameter[]; /** @description Response payload parsing */ response?: ResponseTransformationConfiguration; } export declare const RefreshTokenConfigurationSchema: Joi.ObjectSchema<any>; export declare class NonceConfiguration { name: string; } export declare const NonceConfigurationSchema: Joi.ObjectSchema<any>; export declare class ConnectionNamesConfiguration { /** @description A unique list of connection names that the integration supports. */ connection_names: MapOfObjects; /** @description The connection name that will be used when none is selected. */ default_connection_name: string; } export declare const ConnectionNamesConfigurationSchema: Joi.ObjectSchema<any>; export declare class AuthorizationConfiguration { /** @description The url to obtain the access token using the authorization code on the backend * @example "http://{auth_state:store_name}.store.com/admin/oauth/authorize", "http://store.com/oauth/authorize" */ url_template: string; /** @description A list of query parameters that will be attached to the url */ query_parameters?: Parameter[]; /** @description Method to use when making the server-server code for token request @example "GET", "POST" */ method?: string; /** @description List of parameters that are sent to the integration during the server-server * authorization request. These are built using the content type specified in the headers array. */ body?: Parameter[]; /** @description List of headers that are sent to the integration when authorizing a token */ headers?: Parameter[]; /** @description A nonce query parameter included on the accept request, then returned and validated on the redirect request */ nonce?: NonceConfiguration; } export declare const AuthorizationConfigurationSchema: Joi.ObjectSchema<any>;