Árvore de páginas

Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome físico:

ccp/v1/purchaseOrder.p

Objetivo

Realiza a validação e geração de pedidos em lote e consulta informações de pedidos de compra.

Funcionamento

A API fornece uma série de métodos que podem ser executados individualmente para geração e consulta de pedido de compra.

A sintaxe para a chamada da API, que deve ser de forma persistente:

run ccp/rules/purchaseOrderRules.p persistent set h-handle.

A variável denominada h-handle irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.

Métodos Negócio

Quando a API estiver executada em modo persistente, os seguintes métodos estarão disponíveis para execução:

pi-get-v1

Requisito

Nenhum.

Sintaxe

RUN pi-get-v1 in h-handle ( INPUT oInput,

                                              OUTPUT oOutput,

                                              OUTPUT TABLE RowErrors).

Descrição

Repassa o número do pedido para a busca de um registro.

  • ccp/api/v1/purchaseOrder: API de comunicação para processamento dos dados.

Retorna um registro de pedido de compra.

Parâmetros

Tipo

Input/Output

Descrição

oInput

JsonObject

INPUT

Parâmetro para a busca do pedido de compra: 

  • número do pedido
Exemplo
{
  "pathParams": [
      "123543"
  ]
}

oOutput

JsonObject

OUTPUT

Retorno contendo informações do pedido de compra.

Exemplo
{
  "natureTxt": "Compra",
  "siteCode": "1",
  "nature": 1,
  "documentNumber": "53113791000122",
  "purchaseOrder": 994033,
  "shortName": "COTROLEDb",
  "supplyContract": false,
  "orderDate": "2023-02-01",
  "situation": 2,
  "vendorCode": 1
}

RowErrors

Temp-table

OUTPUT

Informações sobre os erros ocorridos durante o processamento de busca dos dados.

Retorno

Retorna um registro de pedido de compra ou erros gerados durante o processamento.



pi-query-v1

Requisito

Nenhum.

Sintaxe

RUN pi-query-v1 in h-handle ( INPUT oInput,

                                                  OUTPUT oOutput,

                                                  OUTPUT lHasNext,

                                                  OUTPUT TABLE RowErrors).

Descrição

Retorna informações de mais de um pedido de compra.

  • ccp/api/v1/purchaseOrder: API de comunicação para processamento dos dados.

Retorna uma lista de pedidos de compra.

Parâmetros

Tipo

Input/Output

Descrição

oInput

JsonObject

INPUT


aOutput

JsonArray

OUTPUT

Retorno contendo a lista dos pedidos de compra encontrados.

Exemplo
{
    "total": 20,
    "hasNext": true,
    "items": [
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "07977026000214",
            "purchaseOrder": 1,
            "shortName": "3",
            "supplyContract": false,
            "orderDate": "2023-09-20",
            "situation": 1,
            "vendorCode": 3
        },
        {
            "natureTxt": "Serviço",
            "siteCode": "1",
            "nature": 2,
            "documentNumber": "53113791000122",
            "purchaseOrder": 2,
            "shortName": "COTROLEDb",
            "supplyContract": false,
            "orderDate": "2023-09-26",
            "situation": 1,
            "vendorCode": 1
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "53113791000122",
            "purchaseOrder": 3,
            "shortName": "COTROLEDb",
            "supplyContract": false,
            "orderDate": "2023-09-28",
            "situation": 2,
            "vendorCode": 1
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "53113791000122",
            "purchaseOrder": 4,
            "shortName": "COTROLEDb",
            "supplyContract": false,
            "orderDate": "2023-12-28",
            "situation": 2,
            "vendorCode": 1
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "53113791000122",
            "purchaseOrder": 5,
            "shortName": "COTROLEDb",
            "supplyContract": false,
            "orderDate": "2023-12-28",
            "situation": 2,
            "vendorCode": 1
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "99999999998",
            "purchaseOrder": 6,
            "shortName": "ESTRANGEIRO",
            "supplyContract": false,
            "orderDate": "2023-12-28",
            "situation": 1,
            "vendorCode": 14
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "99999999998",
            "purchaseOrder": 7,
            "shortName": "ESTRANGEIRO",
            "supplyContract": false,
            "orderDate": "2023-12-28",
            "situation": 1,
            "vendorCode": 14
        },
        {
            "natureTxt": "Serviço",
            "siteCode": "1",
            "nature": 2,
            "documentNumber": "53113791000122",
            "purchaseOrder": 8,
            "shortName": "COTROLEDb",
            "supplyContract": false,
            "orderDate": "2024-01-08",
            "situation": 2,
            "vendorCode": 1
        },
        {
            "natureTxt": "Serviço",
            "siteCode": "1",
            "nature": 2,
            "documentNumber": "53113791000122",
            "purchaseOrder": 9,
            "shortName": "COTROLEDb",
            "supplyContract": false,
            "orderDate": "2024-01-08",
            "situation": 2,
            "vendorCode": 1
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "53113791000122",
            "purchaseOrder": 50,
            "shortName": "COTROLEDb",
            "supplyContract": false,
            "orderDate": "2023-10-27",
            "situation": 2,
            "vendorCode": 1
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "99999999998",
            "purchaseOrder": 88,
            "shortName": "ESTRANGEIRO",
            "supplyContract": false,
            "orderDate": "2014-01-06",
            "situation": 2,
            "vendorCode": 14
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "53113791000122",
            "purchaseOrder": 90,
            "shortName": "COTROLEDb",
            "supplyContract": false,
            "orderDate": "2023-10-27",
            "situation": 2,
            "vendorCode": 1
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "53113791000122",
            "purchaseOrder": 174,
            "shortName": "COTROLEDb",
            "supplyContract": false,
            "orderDate": "2017-12-08",
            "situation": 1,
            "vendorCode": 1
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "53113791000122",
            "purchaseOrder": 175,
            "shortName": "COTROLEDb",
            "supplyContract": false,
            "orderDate": "2017-12-08",
            "situation": 2,
            "vendorCode": 1
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "99999999998",
            "purchaseOrder": 176,
            "shortName": "ESTRANGEIRO",
            "supplyContract": false,
            "orderDate": "2017-12-08",
            "situation": 2,
            "vendorCode": 14
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "99999999998",
            "purchaseOrder": 177,
            "shortName": "ESTRANGEIRO",
            "supplyContract": false,
            "orderDate": "2017-12-08",
            "situation": 2,
            "vendorCode": 14
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "99999999998",
            "purchaseOrder": 178,
            "shortName": "ESTRANGEIRO",
            "supplyContract": false,
            "orderDate": "2017-12-08",
            "situation": 2,
            "vendorCode": 14
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "99999999998",
            "purchaseOrder": 179,
            "shortName": "ESTRANGEIRO",
            "supplyContract": false,
            "orderDate": "2017-12-08",
            "situation": 2,
            "vendorCode": 14
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "99999999998",
            "purchaseOrder": 180,
            "shortName": "ESTRANGEIRO",
            "supplyContract": false,
            "orderDate": "2017-12-08",
            "situation": 2,
            "vendorCode": 14
        },
        {
            "natureTxt": "Compra",
            "siteCode": "1",
            "nature": 1,
            "documentNumber": "99999999998",
            "purchaseOrder": 181,
            "shortName": "ESTRANGEIRO",
            "supplyContract": false,
            "orderDate": "2017-12-08",
            "situation": 2,
            "vendorCode": 14
        }
    ]
}

lHasNext

Logical

OUTPUT

Retorna se haverá mais registros a serem apresentados.

RowErrors

Temp-table

OUTPUT

Informações sobre os erros ocorridos durante o processamento de busca dos dados.

Retorno

Retorna uma lista de pedidos de compra ou erros gerados durante o processamento dos dados.

pi-create-purch-requisition

Requisito

Nenhum.

Sintaxe

RUN pi-create-purch-requisition in h-handle ( INPUT oPayload,

                                                                           OUTPUT TABLE ttSummaryPurchRequisition).

Descrição

Cria a temp-table com as ordens de compra vinculadas a sugestão do pedido para a geração do pedido de compra.

Retorna a temp-table com as ordens de compra.

Parâmetros

Tipo

Input/Output

Descrição

oPayload

JsonObject

INPUT

Parâmetro com o objeto do payload para abstração dos dados.

Exemplo

{

  "responsible": "dmansupimpa3",
  "deliveryEntity": 1,
  "messageCode": 1,
  "messageText": "Atenção as Condições Obrigatórias Para Fornecimento anexo a este pedido de compra. O prazo de pagamento deve ser contado a partir do dia seguinte a data de emissão da NF. P/ a entrega de item(ns) com validade inferior a 120dd, informar o comprador responsável antes do faturamento/entrega. Obrigatório informar o nº Pedido na NF.",
  "comments": null,
  "collectionSite": "1",
  "orderDate": "2023-10-09",
  "freightPaymentType": 1,
  "vendorId": 1,
  "siteCode": "1",
  "paymentTermId": 0,
  "carrierCode": 7,
  "orderType": 1,
  "userCode": "dmansupimpa3",
  "package": 0,
  "processSequence": 1,
  "suggestionSequence": 2,
  "purchaseOrderLinesDiscarded": [],
  "specificPaymentTerms": [
      {
          "sequence": 1,
          "date": "2023-11-08T03:00:00.000Z",
          "percentage": 8.333,
          "comments": ""
      },
      {
          "sequence": 2,
          "date": "2023-12-09T03:00:00.000Z",
          "percentage": 8.333,
          "comments": ""
      },
      {
          "sequence": 3,
          "date": "2024-01-08T03:00:00.000Z",
          "percentage": 8.333,
          "comments": ""
      }
    ]
}

ttSummaryPurchRequisition

Temp-table

OUTPUT

Retorna a temp-table carregada com as ordens de compra vinculadas a sugestão de pedido (sugest-ped-comp-ordem).

Retorno

Retorna uma temp-table com as ordens de compra ou erros gerados durante o processamento.

pi-create-purchase-order

Requisito

Nenhum.

Sintaxe

RUN pi-create-purchase-order in h-handle ( INPUT oPayload,

                                                                        INPUT TABLE ttSummaryPurchRequisition,

                                                                        OUTPUT TABLE ttSummaryPurchaseOrder).

Descrição

Retorna a temp-table com os valores necessários para geração do pedido de compra.

Parâmetros

Tipo

Input/Output

Descrição

oPayload

JsonObject

INPUT

Parâmetro com o objeto do payload para abstração dos dados.

Exemplo
{
"responsible": "dmansupimpa3",
"deliveryEntity": 1,
"messageCode": 1,
  "messageText": "Atenção as Condições Obrigatórias Para Fornecimento anexo a este pedido de compra. O prazo de pagamento deve ser contado a partir do dia seguinte a data de emissão da NF. P/ a entrega de item(ns) com validade inferior a 120dd, informar o comprador responsável antes do faturamento/entrega. Obrigatório informar o nº Pedido na NF.",
"comments": null,
"collectionSite": "1",
"orderDate": "2023-10-09",
"freightPaymentType": 1,
"vendorId": 1,
"siteCode": "1",
"paymentTermId": 0,
"carrierCode": 7,
"orderType": 1,
"userCode": "dmansupimpa3",
"package": 0,
"processSequence": 1,
"suggestionSequence": 2,
"purchaseOrderLinesDiscarded": [],
"specificPaymentTerms": [
    {
        "sequence": 1,
        "date": "2023-11-08T03:00:00.000Z",
        "percentage": 8.333,
        "comments": ""
    },
      {
        "sequence": 2,
        "date": "2023-12-09T03:00:00.000Z",
        "percentage": 8.333,
        "comments": ""
    },
      {
        "sequence": 3,
        "date": "2024-01-08T03:00:00.000Z",
        "percentage": 8.333,
        "comments": ""
      }
  ]
}

ttSummaryPurchRequisition

Temp-table

INPUT

Temp-table com as ordens de compra do pedido de compra.

ttSummaryPurchaseOrder

Temp-table

OUTPUT

Retorna a temp-table carregada com as informações necessárias para a geração do pedido de compra.

Retorno

Retorna uma temp-table com as informações do pedido de compra ou erros gerados durante o processamento.

pi-create-payment-terms

Requisito

Condição de pagamento do pedido precisa ser específica ( 0 ).

Sintaxe

RUN pi-create-payment-terms in h-handle ( INPUT oPayload,

                                                                       INPUT TABLE ttSummaryPurchaseOrder,

                                                                       OUTPUT TABLE ttPaymentTerms,

                                                                       OUTPUT TABLE RowErrors).

Descrição

Cria a temp-table ttPaymentTerms se o cálculo percentual das parcelas geradas for igual a 100.

Retorna a temp-table com as informações das parcelas geradas.

Parâmetros

Tipo

Input/Output

Descrição

oPayload

JsonObject

INPUT

Parâmetro com o objeto do payload para abstração dos dados.

Exemplo
{
"responsible": "dmansupimpa3",
"deliveryEntity": 1,
"messageCode": 1,
  "messageText": "Atenção as Condições Obrigatórias Para Fornecimento anexo a este pedido de compra. O prazo de pagamento deve ser contado a partir do dia seguinte a data de emissão da NF. P/ a entrega de item(ns) com validade inferior a 120dd, informar o comprador responsável antes do faturamento/entrega. Obrigatório informar o nº Pedido na NF.",
"comments": null,
"collectionSite": "1",
"orderDate": "2023-10-09",
"freightPaymentType": 1,
"vendorId": 1,
"siteCode": "1",
"paymentTermId": 0,
"carrierCode": 7,
"orderType": 1,
"userCode": "dmansupimpa3",
"package": 0,
"processSequence": 1,
"suggestionSequence": 2,
"purchaseOrderLinesDiscarded": [],
"specificPaymentTerms": [
    {
        "sequence": 1,
        "date": "2023-11-08T03:00:00.000Z",
        "percentage": 8.333,
        "comments": ""
    },
      {
        "sequence": 2,
        "date": "2023-12-09T03:00:00.000Z",
        "percentage": 8.333,
        "comments": ""
    },
      {
        "sequence": 3,
        "date": "2024-01-08T03:00:00.000Z",
        "percentage": 8.333,
        "comments": ""
      }
  ]
}

ttSummaryPurchaseOrder

Temp-table

INPUT

Temp-table com as informações do pedido de compra.

ttPaymentTerms

Temp-table

OUTPUT

Retorna a temp-table carregada com as parcelas de condição específica.

RowErrors

Temp-table

OUTPUT

Informações sobre os erros ocorridos durante o processo de busca dos dados.

Retorno

Retorna uma temp-table com as parcelas de condição específica ou erros gerados durante o processamento.

pi-validate-order-requisition

Requisito

Nenhum.

Sintaxe

RUN pi-validate-order-requisiton in h-handle ( INPUT TABLE ttSummaryPurchRequisition,

                                                                            INPUT TABLE ttSummaryPurchaseOrder,

                                                                            OUTPUT TABLE RowErrors).

Descrição

Valida as informações das ordens de compra vinculadas a sugestão em questão.

Parâmetros

Tipo

Input/Output

Descrição

ttSummaryPurchRequisition

Temp-table

INPUT

Temp-table com as ordens de compra do pedido de compra.


ttSummaryPurchaseOrder

Temp-table

INPUT

Temp-table com as informações do pedido de compra.


RowErrors

Temp-table

OUTPUT

Informações sobre os erros ocorridos durante o processo de busca dos dados.

Retorno

Retorna erros gerados durante o processamento das validações.

pi-generate-order-v1

Requisito

Nenhum.

Sintaxe

RUN pi-generate-order-v1 in h-handle ( INPUT oInput,

                                                                 OUTPUT oOutput,

                                                                 OUTPUT TABLE RowErrors).

Descrição

Recebe o payload vindo da API de comunicação (ccp/api/v1/purchaseOrder) chamado pelo método pi-generate-order, 
com as informações necessárias para geração do pedido.

Após carregar as temp-tables (ttSummaryPurchRequisition, ttSummaryPurchaseOrder, ttPaymentTerms), as mesmas serão enviadas
por parâmetro para a api (fch/fchmat/fchmatcreatepurchaseorder.p) realizar a validação e geração do pedido.

  • ccp/api/v1/purchaseOrder: API de comunicação para processamento dos dados.

Retorna as informações do pedido de compra gerado.

Parâmetros

Tipo

Input/Output

Descrição

oInput

JsonObject

INPUT

Parâmetro com o objeto do payload para abstração dos dados e geração do pedido.

Exemplo
{
"responsible": "dmansupimpa3",
"deliveryEntity": 1,
"messageCode": 1,
  "messageText": "Atenção as Condições Obrigatórias Para Fornecimento anexo a este pedido de compra. O prazo de pagamento deve ser contado a partir do dia seguinte a data de emissão da NF. P/ a entrega de item(ns) com validade inferior a 120dd, informar o comprador responsável antes do faturamento/entrega. Obrigatório informar o nº Pedido na NF.",
"comments": null,
"collectionSite": "1",
"orderDate": "2023-10-09",
"freightPaymentType": 1,
"vendorId": 1,
"siteCode": "1",
"paymentTermId": 0,
"carrierCode": 7,
"orderType": 1,
"userCode": "dmansupimpa3",
"package": 0,
"processSequence": 1,
"suggestionSequence": 2,
"purchaseOrderLinesDiscarded": [],
"specificPaymentTerms": [
    {
        "sequence": 1,
        "date": "2023-11-08T03:00:00.000Z",
        "percentage": 8.333,
        "comments": ""
    },
      {
        "sequence": 2,
        "date": "2023-12-09T03:00:00.000Z",
        "percentage": 8.333,
        "comments": ""
    },
      {
        "sequence": 3,
        "date": "2024-01-08T03:00:00.000Z",
        "percentage": 8.333,
        "comments": ""
      }
  ]
}

oOutput

JsonObject

OUTPUT

Retorna o número do pedido de compra gerado e se está pendente de aprovação.

Exemplo
{
  "purchaseOrderNumber": 123345
  "isPendingApproval": false
}

RowErrors

Temp-table

OUTPUT

Informações sobre os erros ocorridos durante o processo de busca dos dados.

Retorno

Retorna as informações do pedido de compra gerado ou erros gerados durante o processamento.

pi-get-approvers-v1

Requisito

Nenhum.

Sintaxe

RUN pi-get-approvers-v1 in h-handle ( INPUT oInput,

                                                               OUTPUT aOutput,

                                                               OUTPUT lHasNext,

                                                               OUTPUT TABLE RowErrors).

Descrição

Retorna os aprovadores do pedido se o mesmo estiver pendente de aprovação.

  • ccp/api/v1/purchaseOrder: API de comunicação para processamento dos dados.

Retorna uma lista com os aprovadores do pedido de compra gerado.

Parâmetros

Tipo

Input/Output

Descrição

oInput

JsonObject

INPUT

Parâmetro com o número do pedido para busca dos aprovadores.

Exemplo
{
    "pathParams": [
        "approvers",
        "123456"
    ]
}

aOutput

JsonArray

OUTPUT

Retorna uma lista com os aprovadores encontrados.

Exemplo
{
    "total": 1,
    "hasNext": false,
    "items": [
        {
            "code": "faborges",
            "name": "Felipe Augusto Borges",
            "email": ".@totvs.com.br"
        }
    ]
}

lHasNext

Logical

OUTPUT

Retorna se haverá mais registros a serem apresentados.


RowErrors

Temp-table

OUTPUT

Informações sobre os erros ocorridos durante o processo de busca dos dados.

Retorno

Retorna as informações dos aprovadores do pedido de compra gerado ou erros gerados durante o processamento.


Definição de Tabelas Temporárias


RowErrors

Entrada/Saída

Temp-table com dados dos erros ocorridos durante o processo

Saída

Atributo

Tipo

Descrição

Obrigatório

Evolução

ErrorSequence

 INTEGER

Número da sequência do erro

Sim

Não se aplica

ErrorNumber

INTEGER Código do erro 

Sim

Não se aplica

ErrorDescriptionCHARACTER Descrição do erro NãoNão se aplica
ErrorParametersCHARACTER Parâmetros da mensagem de erro NãoNão se aplica
ErrorTypeCHARACTER Tipo do erro NãoNão se aplica
ErrorHelpCHARACTER Texto de ajuda da mensagem de erro NãoNão se aplica
ErrorSubTypeCHARACTERSubtipo do erroNãoNão se aplica

PurchaseOrder

Entrada/Saída

Temp-table com dados do(s) pedido(s) de compra.

Saída

Atributo

Nome do objeto

Tipo

Descrição

Obrigatório

Evolução

num-pedido

purchaseOrder

 INTEGER

Número do pedido de compra

Sim

Não se aplica

cod-emitente

vendorCode

INTEGER Código do emitente

Sim

Não se aplica

nome-abrev-emitshortNameCHARACTER Descrição do emitenteNãoNão se aplica
cod-estabelsiteCodeCHARACTER Código do estabelecimentoSimNão se aplica
cnpjdocumentNumberCHARACTER CNPJ do estabelecimentoNãoNão se aplica
data-pedidoorderDateDATEData do pedido de compra SimNão se aplica
contr-fornsupplyContractLOGICALContrato fornecedorNãoNão se aplica
naturezanatureINTEGERNatureza do pedidoSimNão se aplica
natureza-txtnatureTxtCHARACTERDescrição da naturezaNãoNão se aplica
situacaosituationINTEGERSituação do pedidoSimNão se aplica

ttDiscardOrders

Entrada/Saída

Temp-table com número das ordens de compra que serão desconsideradas na geração do pedido de compra.

Saída

Atributo

Tipo

Descrição

Obrigatório

Evolução

num-ordem

 INTEGER

Número da ordem de compra

Não

Não se aplica

ttApprovalUser

Entrada/Saída

Temp-table com dados dos aprovadores do pedido de compra quando o mesmo está pendente de aprovação.

Saída

Atributo

Nome do objeto

Tipo

Descrição

Obrigatório

Evolução

cod-usuar

code

 CHARACTER 

Código do usuário aprovador

Sim

Não se aplica

nome-usuar

name

CHARACTER Nome do usuário aprovador

Sim

Não se aplica

e-mailemailCHARACTER E-mail do usuário aprovadorNãoNão se aplica