API Spendint
. Gasto A API fornece endpoints que enviam catálogo, preço, disponibilidade, pedido, remessa, e informações de fatura de terceiros para ServiceNow instância. Esta API faz parte do Estrutura de integração de Source-to-Pay aplicação.
Esta API requer a aplicação de armazenamento Estrutura de integração de compras (com.glide.sn_spend_intg) e é fornecida no sn_spend_intg namespace. Para obter informações, consulte Procurement File Transfer Framework.
Para acessar esta API, você deve ter a função sn_spend_intg.procurement_integrator.
API Spendint - PUBLICAR /sn_spend_intg/spenint/catalog
Permite que os fornecedores publiquem vários catálogos para criar produtos de fornecedor, produtos de modelo, contratos e registros de preços.
- Crie novas categorias de terceiros e mapeie essas categorias para categorias de modelo.
- Se disponível, use o Código de produtos e serviços padrão das Nações Unidas (UNSPSC) e, em seguida, o nome da categoria.
- Se UNSPSC não estiver disponível, use apenas o nome da categoria.
- Depois de mapear uma categoria de terceiros para uma categoria de modelo, use o Número de peça do fabricante (MPN) para encontrar um modelo de produto existente, se houver um disponível.
- Se um modelo de produto for encontrado para o MPN, atualize o modelo de produto com quaisquer mudanças e crie ou atualize todos os produtos de fornecedor relacionados ao modelo de produto.
- Se um modelo de produto não existir para o MPN, faça o seguinte:
- Uma classe de modelo de produto geralmente está disponível na categoria de modelo referenciada pela categoria de terceiros do produto. Use esta classe de modelo de produto para obter a tabela de modelo de produto na qual o modelo de produto deve ser criado, por exemplo, hardware, software, consumível, e assim por diante. Se nenhuma classe de modelo de produto estiver disponível, crie o modelo de produto na tabela de modelo de produto de base.
- Depois que a classe de modelo de produto correta for identificada, crie um novo modelo de produto na classe correta da seguinte forma:
- Fabricante, fornecedor ou provedor devem mapear para o fabricante no modelo do produto.
- O nome do produto da API deve ser mapeado para o nome no modelo do produto.
- O MPN da API deve atualizar o número do modelo.
- A descrição do produto da API deve atualizar a descrição no modelo do produto.
- A categoria do modelo deve ser atualizada com a categoria de produto referenciada no registro de categoria de terceiros.
- A categoria de produto deve ser atualizada com a categoria de produto referenciada no registro de categoria de terceiros.
- Se houver valores nos Produtos substitutos na API, crie os registros de produto substituto entre o modelo de produto atual e os outros modelos de produto.
- Se houver valores nos produtos compatíveis na API, crie os registros de produto compatíveis entre o modelo de produto atual e os outros modelos de produto.
- Os atributos de produto da API devem ser criados ou atualizados na lista relacionada de atributos de produto para o modelo de produto.
- Se um modelo de produto estiver disponível, use o número de peça do fornecedor para criar ou atualizar os produtos do fornecedor relacionados ao modelo de produto.
Mapeamento de terceiros
- Categorias de terceiros: Armazena todos os registros de categoria de terceiros para o administrador do ShoppingHub mapear com as categorias de modelo internas existentes.
- Mapeamentos de modelo de terceiros: Armazena todas as informações de mapeamento entre modelos de produto e categorias de modelo de terceiros.
- Unidades de terceiros: Armazena todos os registros de unidades de terceiros para o administrador do ShoppingHub mapear com as unidades de produto do fornecedor.
- Mapeamentos de unidade de terceiros: Armazena todas as informações de mapeamento entre modelos de produto e unidades de terceiros.
Datas de vendas de produtos do fornecedor
Um produto do fornecedor é descontinuado e não é mais publicado no catálogo quando atinge a data de término de vendas. . Data de início das vendas e. Data de término das vendas Os campos no formulário Produto do fornecedor são preenchidos por meio da integração de terceiros do Catálogo API.
Tabelas de status
Para saber o status da solicitação de importação de produto em massa, 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 em massa falhou. Para a resposta de importação de produto em massa, consulte a tabela Erro do catálogo com o seguinte parâmetro:
se <supplier_id> você estiver usando o comando "outbound_error.supplier_id" "outbound_error.state", "outbound_error.state" é "20"
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 podem ser encontrados na tabela Status de saída, que é a tabela de erros primária.
Formato de URL
/api/sn_spend_intg/spenint/catalog
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 |
|---|---|
| customer_id | Identificador do cliente. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| catalog_id | Identificador do conteúdo do catálogo que pode ser comprado por um 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 |
| available_units | Necessário para produtos mantidos em estoque. Este valor indica a quantidade de unidades disponíveis para este produto. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| products.available_for_country | Lista de códigos de país onde o produto do fornecedor pode ser comprado. Se nenhum país for fornecido, um usuário de qualquer país poderá comprar o produto. Tipo de dados: Matriz |
| products.bundled_components | Válido somente para cenários ao enviar um pacote de produtos como parte da carga do catálogo e aplicável somente para as cargas do pacote primário. Este valor contém a referência aos componentes do pacote secundário. A lista de MPN e quantidades dos componentes do pacote secundário são mantidas aqui. Nota: Os componentes do pacote secundário e seus detalhes (MPN e quantidades) devem ser mapeados para o mesmo fornecedor.Como o mesmo componente do pacote secundário pode ser adicionado mais de uma vez em um pacote, a quantidade inserida é o diferenciador entre os mesmos componentes do pacote secundário. Tipo de dados: Matriz |
| products.contract_agreement | Detalhes do contrato de um produto. Nota:
Isso não é necessário para componentes do pacote secundário. 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 |
| products.delivery_time | Número estimado de dias necessários para enviar um produto para o cliente. Este valor deve representar o número de dias e ser um número inteiro. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| products.images | Lista de cadeias de caracteres que especificam os URLs da imagem do produto do fornecedor. Tipo de dados: Matriz |
| produtos.fabricante | Obrigatório. Empresa que fabrica, publica ou fornece o produto. Este não é o fornecedor ou revendedor do produto. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| mpn | Obrigatório. Identificador de um produto fornecido pelo fabricante, fornecedor ou provedor. Nota:
Isso não é necessário para pacotes primários do revendedor se o valor de SKU estiver disponível. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| products.parent_bundle | Válido somente para cenários ao enviar um pacote de produtos como parte da carga do catálogo e aplicável somente para as cargas do componente do pacote secundário. No caso de um componente de pacote secundário, a referência ao primário é mantida aqui. Os valores de MPN e SKU primários também são definidos aqui. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| products.product_attributes | Lista de pares de chave-valor que definem atributos de produto, por exemplo, "Color": "Cinza espacial" . Vários atributos para um produto são permitidos. No entanto, somente os atributos que afetam o preço ou a disponibilidade de estoque devem ser fornecidos por meio da API.Tipo de dados: Objeto |
| products.product_category_name | Obrigatório. Nome que você insere se não estiver definindo unspscpropriedade. Este nome é a categoria à qual um produto pertence. Este nome de categoria pode ser usado em um cenário de comércio para comprar o produto. Por exemplo, um produto de filtro de linha pode pertencer a uma categoria de equipamento de escritório. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| products.product_description | Descrição completa do produto que aparece para um comprador em uma experiência de comércio. Nota:
É recomendável que o fornecedor seja o mais descritivo possível aqui, especialmente para itens do catálogo de pacote de produtos em que há componentes de pacote secundários. Tipo de dados: Cadeia de caracteres Comprimento máximo: 65000 |
| products.product_name | Obrigatório. Nome do produto. Tipo de dados: Cadeia de caracteres Comprimento máximo: 1000 |
| 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 |
| products.unit | Obrigatório. Unidade ou taxa na qual o produto é vendido pelo fornecedor. Por exemplo, peças, horas e assim por diante. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| unspsc | Obrigatório. Identificador que você insere se não estiver definindo product_category_namepropriedade. Este identificador é o UNSPSC da categoria à qual um produto pertence. Por exemplo, o código UNSPSC 43210000 é o identificador da categoria de produto Computadores. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| supplier_id | Obrigatório. Identificador do revendedor ou fornecedor com quem 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, mpn e 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/catalog" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root": [{
"customer_id": "AB-1234323",
"catalog_id": "ACME CORP-12347898",
"supplier_id": "SUP-123456",
"third_party_import_id": "DELL1234567",
"products": [
{
"product_name": "Apple MacBook Pro 13 Core i7",
"mpn": "Z0WQ-20004301931",
"sku": "55788741",
"manufacturer": "Apple",
"product_category_name": "Computer",
"parent_bundle": "920-0045362002",
"bundled_components": {
"mpn": "Z0WQ-20004301931",
"quantity": "4",
},
"unspsc": "43211500",
"product_description": "Apple MacBook Pro 13 Core i7 2.8GHz 16GB 512GB - Touch Bar - Space Gray",
"product_attributes": {
"Color": "Space Grey",
"RAM": "16GB",
"Screen Size": "13inch"
},
"images": ["http://test123.image1.png", "http://test123.image2.jpeg"],
"unit": "Each",
"available_units": "4",
"available_for_country": ["US","IN","GB"],
"delivery_time": "4",
"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": "AB-1234323",
"supplier_id": "SUP-123456",
"third_party_import_id": "DELL1234567",
"status_code": "failure",
"error_response_body": [
{
"sku": "55788741",
"mpn": "Z0WQ-20004301931",
"error_message": "Field Value empty/Formatting issue Negotiated currency \n"
}
]
}
]
}
}
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”
}
]
}
]
}
}
API Spendint - POST /sn_spend_intg/spenint/availability
Atualiza a disponibilidade dos registros de produto do fornecedor.
Quando os registros de produto do fornecedor estão disponíveis, a API usa o SKU do produto para encontrar um produto de fornecedor existente. Se existir um produto de fornecedor correspondente, o correspondente available_units o campo foi 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 a disponibilidade não existe.
Tabelas de status
Para saber o status da solicitação de disponibilidade de atualizaçã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 disponibilidade de atualização falhou. Para atualizar a resposta de disponibilidade, consulte a tabela Erro de disponibilidade com o seguinte parâmetro:
se <supplier_id> você estiver usando o comando "outbound_error.supplier_id" "outbound_error.state", "outbound_error.state" é "20"
Os detalhes sobre o ID do cliente, ID do fornecedor, tipo de erro, ID do conjunto de importação exclusivo e estado podem ser encontrados na tabela Status de saída, que é a tabela de erros primária.
Formato de URL
/api/sn_sp_intg/spenint/availability
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 os produtos a serem atualizados. Cada transação tem um limite de 1000 produtos. Tipo de dados: Matriz |
| available_units | Necessário para produtos mantidos em estoque. Número de unidades disponíveis para este produto. 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 |
| products.unit | Obrigatório. Unidade ou taxa na qual o produto é vendido pelo fornecedor. Por exemplo, peças, horas e assim por diante. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| supplier_id | 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 | 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.servicenow.com/api/sn_spend_intg/spendint/availability" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root": [{
"customer_id": "AB-1234323",
"catalog_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "DEL6789876",
"products": [
{
"sku": "5578874",
"unit": "Each",
"available_units": "20"
}
]
}
]}
Possíveis respostas:
// Success response:
{
"result": {
"response": "success"
}
}
Error response:
{
"result": {
"response": [
{
"customer_id": "AB-1234323",
"supplier_id": "SUP-123456",
"third_party_import_id": "DEL6789876",
"status_code": "failure",
"error_response_body": [
{
"sku": "5578874",
"error_message": "The product for which you are trying to update availability does not exist\nField Value empty/Formatting issue Unit\n"
}
]
}
]
}
}
Spendint API - POST /sn_spend_intg/spenint/orderack
Atualiza as informações do pedido para quando um usuário compra um produto de um catálogo de terceiros. Quando o usuário faz check-out, uma linha de compra é criada para que as aprovações ou outras tarefas da compra possam ser concluídas.
- Pedido de saída: Contém o cabeçalho do pedido.
- Linha do pedido de saída: Contém as linhas do pedido.
Os fornecedores precisam consultar essas tabelas e buscar os pedidos pendentes em relação a elas. Os fornecedores devem criar um app com escopo para Workflow Studio ações para integração com ServiceNow banco de dados.
sysparm_query_supplier_id_id_<supplier_id> purchase_order.status: 20 para cabeçalhopara o cabeçalho, você deve usar o código "purchase_<supplier_id> order.supplier_id" para o cabeçalho "purchase_order.status" para o cabeçalho "20"
- A ordem de compra e a linha da ordem de compra são enviadas para o Planejamento de recursos empresariais (ERP), se aplicável.
- A ordem de compra e a linha da ordem de compra são transferidas por meio da integração para o terceiro com o ID do cliente, ID do fornecedor, número da ordem de compra, data da ordem, valor da ordem de compra, moeda do valor da ordem de compra e linhas da ordem de compra.
- A ordem de compra e a linha da ordem de compra permanecem no estado Envio pendente até que as mensagens de confirmação sejam recebidas pela integração do catálogo de terceiros e pelo ERP. Depois que a confirmação é recebida, o estado é atualizado para Solicitado. Se não houver integração de ERP envolvida, uma mensagem de confirmação será necessária somente da integração de terceiros.
Tabelas de status
Para saber o status da solicitação de confirmação de pedido, 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 confirmação de pedido falhou. Para obter uma resposta de confirmação de pedido, consulte a tabela Erro de confirmação de pedido com o seguinte parâmetro:
se <supplier_id> você estiver usando o comando "outbound_error.supplier_id" "outbound_error.state", "outbound_error.state" é "20"
Os detalhes sobre o ID do cliente, ID do fornecedor, tipo de erro, ID do conjunto de importação exclusivo e estado podem ser encontrados na tabela Status de saída, que é a tabela de erros primária.
Formato de URL
/api/sn_sp_intg/spenint/orderack
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 |
|---|---|
| customer_id | Obrigatório. Identificador do cliente. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| order_number | Obrigatório. Número da ordem de compra fornecido pelo cliente para este pedido. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| sales_order_lines | Lista de objetos que definem as linhas de ordem de vendas com atualizações exclusivas para as compras neste pedido. Tipo de dados: Matriz |
| sales_order_lines.estimated_arrival_date | Data de chegada estimada do pedido. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 FORMATO: AAAA-MM-DD |
| sales_order_lines.line_number | Obrigatório. Número da linha da ordem de compra que foi gerado pelo cliente para uma compra específica. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| sales_order_lines.sales_order_line_number | Número da linha da ordem de vendas que foi gerado pelo fornecedor. Este número é necessário somente para revisões desta compra. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| sales_order_number | Número ou valor gerado pelo fornecedor para este pedido. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| status_code | Obrigatório. Status do pedido enviado que confirma se o pedido foi feito com sucesso. Tipo de dados: Cadeia de caracteres Valores válidos:
|
| status_message | Mensagem anexada a um código de status. Por exemplo, a mensagem pode ser que o pedido foi feito com sucesso e está em pedido pendente. Tipo de dados: Cadeia de caracteres Comprimento máximo: 1000 |
| 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 pelo número da ordem de venda, número da linha da ordem de venda e 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/orderack" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"order_number": "PO08903323",
"sales_order_number": "SO03323212",
"status_code": "CONFIRMED",
"status_message": "BACKORDERED",
"sales_order_lines":[
{
"line_number": "POL6789876",
"sales_order_line_number": "SOL5678909",
"estimated_arrival_date": "YYYY-MM-DD"
}
]
}
]}
Possíveis respostas:
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"status_code": "failure",
"error_response_body": [
{
"sales_order_number": "SO03323212",
"sales_order_line_number": "SOL5678909",
"error_message": "Field Value empty/Formatting issue Purchase order number\nField Value empty/Formatting issue Purchase order line number\n"
}
]
}
]
}
}
Spendint API - POST /sn_spend_intg/spenint/shipment
Use este endpoint para aceitar atualizações em compras de terceiros.
Tabelas de status
Para saber o status da solicitação de envio, faça uma chamada REST no ServiceNow banco de dados usando Tabela REST API. A resposta da API lista os registros em que a atualização de envio falhou. Para obter uma resposta de envio, consulte a tabela Erro de remessa com o seguinte parâmetro:
se <supplier_id> você estiver usando o comando "outbound_error.supplier_id" "outbound_error.state", "outbound_error.state" é "20"
Os detalhes sobre o ID do cliente, ID do fornecedor, tipo de erro, ID do conjunto de importação exclusivo e estado podem ser encontrados na tabela Status de saída, que é a tabela de erros primária.
Formato de URL
/api/sn_sp_intg/spenint/shipment
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 |
|---|---|
| customer_id | Identificador do cliente. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| order_number | Obrigatório. Número da ordem de compra fornecido pelo cliente para esta ordem. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| sales_order_number | Obrigatório. Número ou valor gerado pelo fornecedor para este pedido. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| shipment_lines | Lista de linhas de remessa que podem conter o número de série, o número IMEI e os detalhes da etiqueta do ativo. Tipo de dados: Matriz |
| shipment_lines.actual_shipment_date | Data em que a remessa sai do local do fornecedor. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 FORMATO: AAAA-MM-DD |
| shipment_lines.estimated_arrival_date | Data em que a remessa deve chegar ao local especificado. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 FORMATO: AAAA-MM-DD |
| shipment_lines.line_number | Obrigatório. Número da linha da ordem de compra que é gerado pelo cliente para uma compra específica. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| shipment_lines.planned_shipment_date | Data em que a remessa está planejada para sair do local do fornecedor. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 FORMATO: AAAA-MM-DD |
| shipment_lines.product_details | Lista de objetos que definem os detalhes sobre os produtos que estão sendo enviados. As opções incluem o número de série, o número IMEI e os detalhes da etiqueta do ativo. Tipo de dados: Matriz |
| shipment_lines.product_details.asset_tag | Etiqueta do ativo do produto enviado. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| shipment_lines.product_details.imei | Número IMEI do produto enviado. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| shipment_lines.product_details.serial_number | Obrigatório. Número de série do produto enviado. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| shipment_lines.sales_order_line_number | Número da linha do pedido de vendas gerado pelo fornecedor. Este número é necessário somente para revisões desta compra. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| shipment_lines.shipping_address | Endereço para onde os produtos serão enviados. Tipo de dados: Objeto |
| shipment_lines.shipping_address.city | Nome da cidade para onde os produtos são enviados. Tipo de dados: Cadeia de caracteres Comprimento máximo: 1000 |
| shipment_lines.shipping_address.country | País para onde os produtos são enviados. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| shipment_lines.shipping_address.name | Nome do cliente para o qual os produtos serão enviados. Tipo de dados: Cadeia de caracteres Comprimento máximo: 1000 |
| shipment_lines.shipping_address.state | Estado para onde os produtos são enviados. Tipo de dados: Cadeia de caracteres Comprimento máximo: 1000 |
| shipment_lines.shipping_address.street | Nome da rua para onde os produtos são enviados. Tipo de dados: Cadeia de caracteres Comprimento máximo: 1000 |
| shipment_lines.shipping_address.zip_code | CEP ou código PIN para o qual os produtos são enviados. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| shipment_lines.shipment_quantity | Obrigatório. Número de produtos sendo enviados como mercadorias físicas. O número deve conter a quantidade dos produtos que estão na remessa. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| shipment_lines.shipping_carrier | Transportadora que está entregando o produto no local especificado, como FedEx, UPS, USPS e assim por diante. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| shipment_lines.ship_to | Nome do destinatário para o qual os produtos são enviados. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| shipment_lines.tracking_number | Número de rastreamento fornecido pela transportadora para a totalidade ou parte da compra. 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 |
| supplier_shipment_number | Obrigatório. Número de identificação gerado para esta remessa. Esse número é gerado por um ERP (Enterprise Resource Planning, planejamento de recursos empresariais) ou sistema de acompanhamento de 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 pelo número da linha da ordem de venda, número da ordem de venda, número da remessa do fornecedor e 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/shipment" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id" : "ACME CORP",
"supplier_id" : "SUP-123456",
"third_party_import_id": "DEL2134324",
"supplier_shipment_number" : "TN-YU67898723",
"order_number": "PO0001002",
"sales_order_number": "SO00223002",
"shipment_lines": [
{
"line_number": "POL0001005",
"sales_order_line_number": "SOL0231325",
"shipment_quantity": "4",
"shipping_carrier": "FedEx",
"tracking_number": "E-901290092",
"shipping_address":
{
"name" : "1640 Camino Del Rio North #202, San Diego,CA",
"street" : "1640 Camino Del Rio North",
"city" : "San Diego",
"state" : "CA",
"zip_code" : "92108-1512",
"country" : "US"
},
"ship_to": "John doe",
"planned_shipment_date": "YYYY-MM-DD",
"actual_shipment_date": "YYYY-MM-DD",
"estimated_arrival_date": "YYYY-MM-DD",
"product_details": [
{
"serial_number": "FL1234-23242319001",
"imei": "2134890294",
"asset_tag": ""
},{
"serial_number": "FL1234-23242319110",
"imei": "245499003",
"asset_tag": ""
}
]
}
]
}
]}
Possíveis respostas:
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "DEL2134324",
"status_code": "failure",
"error_response_body": [
{
"sales_order_line_number": "SOL0231325",
"sales_order_number": "SO00223002",
"supplier_shipment_number": "TN-YU67898723",
"error_message": "The purchase order for this shipment does not exist\nThe purchase order line for this shipment does not exist\n"
}
]
}
]
}
}
Spendint API - PUBLICAR /sn_spend_intg/spenint/invoice
Aceita faturas de provedores terceirizados.
Se as linhas da ordem de compra e da ordem de compra estiverem no status Envio pendente e as linhas da ordem de venda e da ordem de venda não estiverem preenchidas, a remessa e a publicação da fatura do revendedor terceirizado não serão permitidas. Só é permitido quando o status da ordem de compra e das linhas da ordem de compra são Solicitado. Além disso, não há restrição sequencial na remessa e na publicação da fatura.
- Aguardando entrega: Quando não há recibos, o pedido é parcialmente entregue ou a fatura requer aprovação.
- Fatura confirmada: Quando a ordem de compra é entregue e o valor faturado corresponde ao valor total da ordem de compra.
- Revisão: Quando a ordem de compra é entregue e o valor faturado não corresponde ao valor total da ordem de compra.
Quando uma fatura válida é publicada para um item de linha, a mesma fatura não pode ser atualizada.
Se a fatura fornecida não tiver um número de ordem de compra, a fatura será rejeitada e você verá uma mensagem de erro informando que uma ou mais faturas fornecidas não têm um número de ordem de compra. Se a fatura fornecida tiver um número de ordem de compra, mas não corresponder à ordem de compra ou não existir nenhuma ordem de compra, você verá uma mensagem de erro. A mensagem informa que uma ou mais faturas não têm uma ordem de compra correspondente que corresponda ao número da ordem de compra da fatura. Além disso, se o valor faturado enviado pelo revendedor terceirizado não corresponder ao valor faturado, a fatura será rejeitada.
Tabelas de status
Para saber o status da solicitação de fatura, faça uma chamada REST no ServiceNow banco de dados usando Tabela REST API. A resposta da API lista os registros em que a criação da fatura falhou. Para resposta da fatura, consulte a tabela Erro da fatura com o seguinte parâmetro:
se <supplier_id> você estiver usando o comando "outbound_error.supplier_id" "outbound_error.state", "outbound_error.state" é "20"
Os detalhes sobre o ID do cliente, ID do fornecedor, tipo de erro, ID do conjunto de importação exclusivo e estado podem ser encontrados na tabela Status de saída, que é a tabela de erros primária.
Formato de URL
/api/sn_sp_intg/spenint/invoice
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 |
|---|---|
| moeda | Obrigatório. Moeda para subtotal, imposto e envio. O subtotal, o imposto e o envio devem estar na mesma moeda. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| customer_id | Identificador do cliente. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| descontos | Descontos aplicados à fatura. Este é um campo editável. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| invoice_date | Obrigatório. Data em que o cliente foi faturado. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 FORMATO: AAAA-MM-DD |
| invoice_lines | Lista de objetos que definem as linhas que estão sendo faturadas para compras neste pedido. Tipo de dados: Matriz |
| invoice_lines.invoiced_line_amount | Obrigatório. Custo total, excluindo impostos e envio, que um cliente está sendo faturado para uma determinada linha de ordem de compra. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| invoice_lines.invoiced_quantity | Obrigatório. Quantidade de bens ou serviços pelos quais um cliente está sendo faturado. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| invoice_lines.line_number | Obrigatório. Número da linha da ordem de compra que é gerado pelo cliente para uma compra específica. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| invoice_lines.sales_order_line_number | Obrigatório. Número da linha do pedido de vendas gerado pelo fornecedor. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| invoice_lines.supplier_invoice_line_number | Obrigatório. Número de identificação gerado por um fornecedor para esta linha de fatura. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| other_charges | Outras cobranças adicionais associadas à fatura. Este é um campo editável. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| order_number | Obrigatório. Número da ordem de compra fornecido pelo cliente para esta ordem. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| remit_to_address | Obrigatório. Local para o qual um pagamento é feito. Tipo de dados: Cadeia de caracteres Comprimento máximo: 1000 |
| sales_order_number | Obrigatório. Número ou valor gerado pelo fornecedor para este pedido. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| remessa | Obrigatório. Custo total de envio para toda a compra. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| subtotal | Obrigatório. Valor total a ser pago ao fornecedor, excluindo impostos e despesas de envio. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| 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 |
| supplier_invoice_number | Obrigatório. Número de identificação gerado por um fornecedor para esta fatura. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| supplier_tax_id | Identificador de imposto associado ao revendedor terceirizado. Este é um campo editável. Tipo de dados: Cadeia de caracteres Comprimento máximo: 100 |
| imposto | Obrigatório. Valor total de impostos faturados pela compra. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
| tax_rate | Percentual da alíquota de imposto aplicada ao pedido. Este é um campo editável. 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 |
| total_amount_faturado | Obrigatório. Valor total a ser pago ao fornecedor, incluindo impostos e despesas de envio. Tipo de dados: Cadeia de caracteres Comprimento máximo: 40 |
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 pelo número da linha da ordem de venda, número da ordem de venda, número da fatura do fornecedor, número da linha da fatura do fornecedor e 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/invoice" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id": "Customer - A",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"supplier_invoice_number": "QAAP89873220071",
"supplier_tax_id": "TIN000000",
"order_number": "POL7987633",
"sales_order_number": "SO0000000081",
"invoice_date": "YYYY-MM-DD",
"subtotal": "6000",
"tax_rate": "10%",
"tax": "600",
"shipping": "120",
"other_charges": "100",
"discounts": "200",
"total_amount_invoiced": "6620",
"remit_to_address": "1640 Camino Del Rio North #202, San Diego,CA",
"currency": "USD",
"invoice_lines": [
{
"supplier_invoice_line_number": "QA789A867877ABN32251",
"line_number": "POL587667",
"sales_order_line_number": "SOL00000081",
"invoiced_quantity": "45",
"invoiced_line_amount": "4000"
},
{
"line_number": "POL587668",
"supplier_invoice_line_number": "78987323",
"sales_order_line_number": "SOL98769",
"invoiced_quantity": "12",
"invoiced_line_amount": "2000"
}
]
}
]}
Possíveis respostas:
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "Customer - A",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"status_code": "failure",
"error_response_body": [
{
"sales_order_line_number": "SOL00000081",
"sales_order_number": "SO0000000081",
"supplier_invoice_number": "QAAP89873220071",
"supplier_invoice_line_number": "QA789A867877ABN32251",
"error_message": "The invoice do not have a corresponding purchase order which matches the purchase order number of the invoice provided\n"
}
]
}
]
}
}