Visão Geral da Ordem

A entidade Order representa uma Ordem a ser executada (Pagamento, Cobrança, etc). Ela é a instrução para executar uma transação financeira entre o pagador e o beneficiário.

A entidade Order pode existir também no contexto de Ordem Vinculada. Sendo possível vincular uma ordem a outra, onde a sua execução se dá quando a condição da ordem pai for atendida.

Objeto

{
  	"id": "jpxyxa42fvfg416vgzvraydn3",
    "parentId": "jpxyxa42fvfg416vgzvraydn3",  
    "status": "Created",
    "executionMethod": "Boleto",
    "amount": 20.0,
    "debtAmount": 20.0,
    "dueDate": "2020-12-04",
    "payer": {
        "name": "Anakin Skywalker",
        "fantasyName": "Darth Vader",
        "document": {
            "type": "CNPJ",
            "number": "22222222222222"
        }
    },
    "payee": {
        "name": "Luke Skywalker",
        "fantasyName": "Luke Skywalker",
        "document": {
            "type": "CPF",
            "number": "11111111111"
        },
        "externalId": "ec363b21-113f-44e9-8cc3-dfcdb3cc2dc3"
    },
    "createdAt": "2020-12-04T13:35:47.792Z",
    "settledAt": "2020-12-04T13:35:47.792Z",
    "expiredAt": "2020-12-04T13:35:47.792Z",
    "rejectedAt": "2020-12-04T13:35:47.792Z",
    "draftedAt": "2020-12-04T13:35:47.792Z",  
    "rejection": {
    	"reason": "ProviderRejected",
  		"messageReason": "Stone OpenBank api response status code 400. Reason: srn:error:validation"
    },
    "metadata": {
      "key":"value"
    },
    "linkedOrderCondition": {
      "parentStatus": "Settled"
    },
    "dueDateInDays": 5,
    "boleto": {
     	"status": "Created",
    	"provider": "StoneOpenbank",
    	"invoiceType": "BillOfExchange",
    	"dueDate": "2020-12-04",
      "dueDateInDays": 5,  
    	"limitDate": "2020-12-04",
      "limitDateInDays": 5,    
      "issuanceDate": "2020-12-04",
    	"registredAt": "2020-12-04T13:35:47.792Z",
    	"settledAt": "2020-12-04T13:35:47.792Z",
    	"expiredAt": "2020-12-04T13:35:47.792Z",
    	"createdAt": "2020-12-04T13:35:47.792Z",
    	"createdBy": "application:credit-credit",
    	"amount": 20.0,
      "discount": {
      	"value": "1.0",
        "date": "2020-12-04"
      },
      "fine": {
      	"value":"1.0",
      	"date": "2020-12-04"
      },
      "interest": {
      	"value": "1.0",
        "date": "2020-12-04"
      },
      "cancellation": {
        "status": "Accepted",
        "requestedAt": "2022-03-04T05:09:04",
        "acceptedAt": "2022-03-04T05:09:06"
      },
      "writableLine": "19790000052020031015703344761550581910000002000",
      "barCode": "19797845600000021000000063139072468215929006",
      "externalId": "ec363b21-113f-44e9-8cc3-dfcdb3cc2dc3",
      "ProviderId": "ec363b21-113f-44e9-8cc3-dfcdb3cc2dc3",
      "providerNumber": "63139072468215929006",
      "publicUri": "https://sandbox-link.openbank.stone.com.br/boleto?id=ec363b21-113f-44e9-8cc3-dfcdb3cc2dc3"
   }
}

Campos

CampoDescriçãoTipo de DadosValidação
idIdentificador único da Ordemstring
parentIdIdentificador único de uma ordem paistring
statusEstado atual da Ordemstring
executionMethodMétodo de execução da ordemstring
amountValor da OrdemdecimalPara o método de execução Boleto: Valor Min de R$ 2,01 e valor Max: R$ 10.000,00.
O valor pode chegar a R$ 220.000,00 para contas que tiverem autorização no provedor do Serviço.

Para o método de execução FinancialEntry: Valor Min de R$ 0,01 e valor Max: R$ 220.000,00.
dueDateData de vencimento da Ordemdate ("YYYY-MM-DD")Precisa ser igual ou maior que o dia atual e menor que 365 dias.

No caso o método de execução Boleto deve ser igual ou menor do que a Boleto.LimitDate.
payerPagador - Pessoa que paga a Ordemobject
payeeBeneficiário - Pessoa que recebe o pagamento pela transaçãoobject
createdAtData de criação da OrdemdateTime
settledAtData de liquidação da OrdemdateTime
expiredAtData de expiração da OrdemdateTime
rejectedAtData de rejeição da OrdemdateTime
draftedAtData de criação da ordem vinculadadateTime
rejection.reasonMotivo da rejeição da Ordemstring
rejection.providerReasonMotivo da rejeição da Ordem no provedor do serviçostring
metadataObjeto chave / valor utilizado para armazenar informações adicionais

(Estará presente em todos os eventos)
string / stringkey deve ter uma tamanho máximo de 50 caracteres

value deve ter uma tamanho máximo de 200 caracteres
linkedOrderCondition.parentStatusCondição na qual uma ordem vinculada estará associada.string
dueDateInDaysData de vencimento da Ordem expressa em dias absolutosinteger
boletoDados do método de execução "Boleto"object
pixDados do método de execução "Pix"object
financialEntryDados do método de execução "FinancialEntry"object
cancellationDados do cancelamento "Cancellation"object

Estados

StatusDescrição
CreatedUma Ordem foi requisitada.
RejectedUma Ordem foi rejeitada.

ex. Emissão negada pelo provedor do serviço
CancelledUma Ordem foi abortada antes de ser finalizada.
SuspendedUma Ordem foi temporariamente suspensa.

ex: interrupção de transferências internas - suspensão de cobrança de um empréstimo
SettledUma Ordem foi totalmente quitada
ExpiredUma ordem que teve sua data de vencimento ultrapassada sem que ocorresse o devido pagamento.

ex. Boleto baixado
DraftedUma ordem foi vinculada a uma outra. Este status está sucintamente ligado ao conceito de Ordem vinculada (conforme descrito na primeira seção desta mesma página).

Métodos de Execução de uma Ordem

MétodoDescrição
Boleto
Pix
FinancialEntry

Motivos de Rejeição

MotivoDescrição
ProviderRejectedA Ordem foi rejeitada pelo provedor do serviço.
UnauthorizedAccountAccessA Ordem foi rejeitada devido a falta de autorização de acesso à conta no Provedor do serviço.

Stream de Dados

📘

Contrato de Streaming dos Dados - Projeção

Veja Streaming de dados

{
  "Stream":{
    "Content":[
      {
        "Data":[
          {
            "Id":"jq6yw5d2e2p7858yw3t9dy36k",
            "ParentId": null,
            "ExecutionMethod":"Boleto",
            "Amount": 20.0,
            "DueDate":"2022-01-01T00:00:00",
            "DebtAmount": 20.0,
            "PayerName":"Anakin Skywalker",
            "PayerFantasyName":"Darth Vader",
            "PayerDocumentType":"Cpf",
            "PayerDocumentNumber":"11583934073",
            "PayeeName":null,
            "PayeeFantasyName":null,
            "PayeeDocumentType":"",
            "PayeeDocumentNumber":null,
            "PayeeExternalId":"xpto",
            "Status":"Created",
            "DraftedAt":null,
            "CreatedAt":"2021-01-22T14:22:07.817272Z",
            "SettledAt":null,
            "ExpiredAt":null,
            "RejectedAt":null,
            "RejectionReason":"",
            "RejectionProviderReason":null,
            "GeneratedAt":"2021-01-22T14:22:07.817272Z",
            "LastUpdatedAt":"2021-01-22T14:22:07.817272Z",
            "Version":-1,
            "StreamDate":"2021-01-22T14:22:22.2256101Z"
          }
        ],
        "SchemaName":"order",
        "SchemaVersion":1
      }
    ]
  },
  "Timestamp":"2021-01-22T14:22:22.3106853Z",
  "CommandKey":"jq6yw5j3qksxeff8sy2j8gad1",
  "SessionKey":"jq6yw5d2e2p7858yw3t9dy36k",
  "ChannelKey":"DefaultNotificationsChannel",
  "IdempotencyKey":"jq6yw5j3qks54faxbt3u5h1mk",
  "SagaProcessKey":"jq6yw5cus5skevp76rm24ns3q",
  "BatchProcessKey":null,
  "Result":{
    
  },
  "Id":"jq6yw5d2e2p7858yw3t9dy36k",
  "ApplicationKey":"runscope",
  "UserEmail":null,
  "ValidationResult":null
}

📘

Contrato de Streaming dos Dados - Evento

A cada evento processado é realizado o Stream para o tópico de notificações contendo na mensagem o Label PublishPublicEvent.

{
  "Event": {
    "ActionName": "Settled",
    "EventName": "Order",
    "EventVersion": 1,
    "EventKey": "jq6ywc7eds9q2ed9ke7qu9h4g",
    "Timestamp": "2021-01-22T14:34:18.141373Z",
    "EventSource": "CreditPaymentsService",
    "Metadata": {}
  }
}
CampoDescrição
ActionNameAção responsável por gerar o evento
EventNameNome da entidade do evendo
EventKeyIdentificador do evento
EventVersionVersão do schema de metadados do evento
EventSourceOriginador do evento
TimestampTimestamp do evento
MetadataPayload do evento

Tipos de Eventos e Ações

Tipo de EventoAção
OrderCreated
OrderRejected
OrderCancelled
OrderSuspended
OrderSettled
OrderExpired
OrderDebtAmountCalculated
OrderOrdersChildAdded
LinkedOrderCreated