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

APIs OMS podem ser chamadas usando o Centro de pedidos serviço de ajudanteBucCommOmsRestAPIService usando a seguinte função:
invokeOMSRESTApi(api, data, params): Observable<any>
Em que:
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.
Por exemplo:
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

Os serviços do OMS podem ser chamados por meio do mesmo serviço BucCommOmsRestAPIService auxiliar do Order Hub, utilizando outra função:
invokeOMSCustomService(api, data, params, customHeaders?: any): Observable<any>
Em que:
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.
Por exemplo:
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.

Por exemplo:
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$;
    }
Onde houver dois valores para ajustar do trecho de exemplo anterior:
  1. 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.
  2. 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.