Fazendo chamadas de API em Centro de pedidos
Utilize os serviços auxiliares fornecidos pelas bibliotecas do Order Hub para se comunicar com os locatários do OMS, do Inventory Visibility (IV) e do IBM®Sterling™ Intelligent Promising (SIP). Esses serviços auxiliares simplificam a comunicação com a API, pois lidam automaticamente com a autenticação e outros requisitos de conexão quando você chama APIs REST que utilizam JSON.
Invocando APIs OMS
BucCommOmsRestAPIService usando a seguinte função:invokeOMSRESTApi(api, data, params): Observable<any>- API
- O nome da API. Por exemplo,
getOrderList,getItemList, e assim por diante. - dados
- O JSON de entrada esperado pela API.
- params
- Outros parâmetros suportados por Centro de pedidos, como parâmetros de cache.
BucCommOmsRestAPIService.invokeOMSRESTApi('getItemPrice', payLoad, null);Como referência, o tutorial a seguir invoca APIs do OMS: Tutorial: Personalizando a ação Agendar pedido.
Invocando serviços OMS
BucCommOmsRestAPIService auxiliar do Order Hub, utilizando outra função:invokeOMSCustomService(api, data, params, customHeaders?: any): Observable<any>- API
- O nome da API. Por exemplo,
getOrderList,getItemList, e assim por diante. - dados
- O JSON de entrada esperado pela API.
- params
- Outros parâmetros suportados por Centro de pedidos, como parâmetros de cache.
- customHeaders
- Quaisquer cabeçalhos personalizados extras que precisem ser adicionados ao cabeçalho da solicitação.
BucCommOmsRestAPIService.invokeOMSCustomService('RequestForReassignOrderRelease', orderReleaseInput, null, customHeaders);Invocando APIs IV e SIP
Para fazer chamadas REST para IV e SIP, você pode verificar se o Order Hub já dispõe de serviços auxiliares para o serviço em questão. Caso contrário, você pode criar um novo serviço Angular com uma função simples para chamar a API.
public getNodeTypes(): Observable<any> {
const resourceDomain = 'promising';
const domain = BucCommBEHttpWrapperService.getPathPrefix(resourceDomain);
const options = BucCommBEHttpWrapperService.getRequestOptions(resourceDomain);
const tenantId = BucSvcAngularStaticAppInfoFacadeUtil.getPromisingTenantId();
let path = '/{tenantId}/v1/nodeTypes';
const queryParameters: any = {}
path = path.replace('{tenantId}', tenantId);
if (tenantId === undefined) {
return throwError(new Error('Missing required parameter: tenantId'));
}
const url = domain + path;
const p: HttpParams = RestServicesHelper.getSupplyDemandParameters(queryParameters);
const obsToReturn$ = this.http.get(url, resourceDomain, p, options);
return obsToReturn$;
}- O Centro de pedidos as bibliotecas podem configurar o domínio adequado e os cabeçalhos de autenticação para fazer solicitações HTTP aos respectivos microsserviços SIP usando o domínio de recursos.Os valores de domínio de recursos aceitos são:
- CAS
- Obtém os cabeçalhos de autenticação de locatário para comunicação com microsserviços de operadora SIP.
- catálogo
- Obtém os cabeçalhos de autenticação de locatário para comunicação com microsserviços de catálogo SIP.
- configuração
- Obtém os cabeçalhos de autenticação de locatário para comunicação com microsserviços de configuração SIP.
- inventário
- Obtém os cabeçalhos de autenticação de locatário para comunicação com microsserviços IV.
- inventário_buc
- Obtém os cabeçalhos de autenticação de locatário para comunicação com microsserviços IV destinados a usos específicos Centro de pedidos telas.
- promessa
- Obtém os cabeçalhos de autenticação do locatário para comunicação com microsserviços promissores SIP.
- Defina o caminho como o caminho relativo da API REST do microsserviço que você está tentando invocar.
O restante da função do exemplo pode ser deixado como está.
Como referência, o tutorial a seguir invoca APIs IV e SIP: Tutorial: Personalizando a página de resultados da pesquisa de inventário.