API Spendint - POST /sn_spend_intg/spenint/price
Atualiza todos os preços dos registros de produto do fornecedor.
Quando o preço está disponível para registros de produto do fornecedor, a API usa o SKU do produto para encontrar um produto de fornecedor existente. Se existir um produto de fornecedor correspondente, o preço do contrato correspondente será atualizado. Se nenhum produto de fornecedor correspondente for encontrado, uma mensagem de erro será gerada, informando que o produto para o qual você está tentando atualizar o preço não existe.
Tabelas de status
Para saber o status da solicitação de importação de preço, faça uma chamada REST no ServiceNow banco de dados usando Tabela REST API. A resposta da API lista os registros em que a solicitação de importação de preço falhou. Para obter uma resposta de importação de preço, consulte a tabela Erro de preço com o seguinte parâmetro:
se <supplier_id> você estiver usando o comando "outbound_error.supplier_id" "outbound_error.state", "outbound_error.state" é "20"
Você pode encontrar os detalhes sobre o ID do cliente, o ID do fornecedor, o tipo de erro, o ID do conjunto de importação exclusivo e o estado CAN na tabela Status de saída, que é a tabela de erros primária.
Formato de URL
/api/sn_spend_intg/spenint/price
Parâmetros de solicitação compatíveis
| Nome | Descrição |
|---|---|
| Nenhum(a) |
| Nome | Descrição |
|---|---|
| modo | Suporte a modos assíncronos e síncronos para integração de terceiros. Tipo de dados: Cadeia de caracteres Valores válidos:
Padrão: Assíncrono |
| Nome | Descrição |
|---|---|
| catalog_id | Obrigatório. Identificador do conteúdo do catálogo que pode ser comprado por um cliente. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| customer_id | Obrigatório. Identificador do cliente. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| produtos | Lista de objetos que definem produtos a serem criados ou atualizados. Cada transação tem um limite de 1000 produtos. Tipo de dados: Matriz |
| products.contract_agreement | Detalhes do contrato de um produto. Tipo de dados: Objeto |
| products.contract_agreement.contract_end_date | Data em que o termo do contrato termina. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 FORMATO: AAAA-MM-DD |
| products.contract_agreement.contract_number | Obrigatório. Número do contrato ativo associado ao produto. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| products.contract_agreement.contract_start_date | Data em que o termo do contrato começa. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 FORMATO: AAAA-MM-DD |
| products.contract_agreement.negociated_currency | Obrigatório. Moeda do preço negociado. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| products.contract_agreement.negociated_price | Obrigatório. Preço unitário de um produto conforme negociado por meio de um contrato com o fornecedor ou revendedor. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| sku | Obrigatório. Número gerado por um fornecedor que identifica exclusivamente um produto vendido por esse fornecedor. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| supplier_id | Obrigatório. Identificador do revendedor ou fornecedor com o qual o cliente pode fazer pedidos. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| third_party_import_id | Identificador que permite que um terceiro passe um valor de cadeia de caracteres para identificar exclusivamente um conjunto de dados importados. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
Cabeçalhos
Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta.
| Cabeçalho | Descrição |
|---|---|
| Aceitar | Formato de dados do corpo da resposta. Tipos compatíveis: application/jsonou application/xml. Padrão: application/json |
| Cabeçalho | Descrição |
|---|---|
| Nenhum(a) |
Códigos de status
Os seguintes códigos de status se aplicam a esta ação HTTP.
| Código do status | Descrição |
|---|---|
| êxito | Bem-sucedido. A solicitação foi processada com sucesso. |
| falha | Malsucedido. A solicitação foi processada com erros. |
Parâmetros do corpo da resposta (JSON)
Esses parâmetros do corpo de resposta são recebidos quando consultados no modo síncrono.| Nome | Descrição |
|---|---|
| error_response_body | Descrição dos erros, listados por sku e pela mensagem de erro. Tipo de dados: Matriz |
| error_response_body.error_message | Mensagem de erro detalhada. Tipo de dados: Cadeia de caracteres |
| status_code | Status da resposta, como "Sucesso" ou "Falha". Tipo de dados: Cadeia de caracteres |
Solicitação de curl
curl "https://instance.service-now.com/api/sn_spend_intg/spendint/price" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root": [{
"customer_id": "ACME CORP",
"catalog_id": "AB-1234323",
"supplier_id": "SUP-123456",
“third_party_import_id”: “DEL789876",
"products": [
{
"sku": "5578874",
"contract_agreement": {
"contract_number": "34567892",
"contract_start_date": "YYYY-MM-DD",
"contract_end_date": "YYYY-MM-DD",
"negotiated_price": "456",
"negotiated_currency ": "USD"
}
}
]
}
]}
Possíveis respostas:
// Success response:
{
“result”: {
“response”: “success”
}
}
// Error response:
{
“result”: {
“response”: [
{
“customer_id”: “ACME CORP”,
“supplier_id”: “SUP-123456”,
“third_party_import_id”: “DEL789876",
“status_code”: “failure”,
“error_response_body”: [
{
“sku”: “5578874”,
“error_message”: “The product for which you are trying to update pricing does not exist\nField Value empty/Formatting issue Negotiated currency\nField Value empty/Formatting issue Contract start date\nField Value empty/Formatting issue Contract end date\n”
}
]
}
]
}
}