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
Campo | Descrição | Tipo de Dados | Validação |
---|---|---|---|
id | Identificador único da Ordem | string | |
parentId | Identificador único de uma ordem pai | string | |
status | Estado atual da Ordem | string | |
executionMethod | Método de execução da ordem | string | |
amount | Valor da Ordem | decimal | Para 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. |
dueDate | Data de vencimento da Ordem | date ("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 . |
payer | Pagador - Pessoa que paga a Ordem | object | |
payee | Beneficiário - Pessoa que recebe o pagamento pela transação | object | |
createdAt | Data de criação da Ordem | dateTime | |
settledAt | Data de liquidação da Ordem | dateTime | |
expiredAt | Data de expiração da Ordem | dateTime | |
rejectedAt | Data de rejeição da Ordem | dateTime | |
draftedAt | Data de criação da ordem vinculada | dateTime | |
rejection.reason | Motivo da rejeição da Ordem | string | |
rejection.providerReason | Motivo da rejeição da Ordem no provedor do serviço | string | |
metadata | Objeto chave / valor utilizado para armazenar informações adicionais (Estará presente em todos os eventos) | string / string | key deve ter uma tamanho máximo de 50 caracteresvalue deve ter uma tamanho máximo de 200 caracteres |
linkedOrderCondition.parentStatus | Condição na qual uma ordem vinculada estará associada. | string | |
dueDateInDays | Data de vencimento da Ordem expressa em dias absolutos | integer | |
boleto | Dados do método de execução "Boleto" | object | |
pix | Dados do método de execução "Pix" | object | |
financialEntry | Dados do método de execução "FinancialEntry" | object | |
cancellation | Dados do cancelamento "Cancellation" | object |
Estados
Status | Descrição |
---|---|
Created | Uma Ordem foi requisitada. |
Rejected | Uma Ordem foi rejeitada. ex. Emissão negada pelo provedor do serviço |
Cancelled | Uma Ordem foi abortada antes de ser finalizada. |
Suspended | Uma Ordem foi temporariamente suspensa. ex: interrupção de transferências internas - suspensão de cobrança de um empréstimo |
Settled | Uma Ordem foi totalmente quitada |
Expired | Uma ordem que teve sua data de vencimento ultrapassada sem que ocorresse o devido pagamento. ex. Boleto baixado |
Drafted | Uma 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étodo | Descrição |
---|---|
Boleto | |
Pix | |
FinancialEntry |
Motivos de Rejeição
Motivo | Descrição |
---|---|
ProviderRejected | A Ordem foi rejeitada pelo provedor do serviço. |
UnauthorizedAccountAccess | A 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": {}
}
}
Campo | Descrição |
---|---|
ActionName | Ação responsável por gerar o evento |
EventName | Nome da entidade do evendo |
EventKey | Identificador do evento |
EventVersion | Versão do schema de metadados do evento |
EventSource | Originador do evento |
Timestamp | Timestamp do evento |
Metadata | Payload do evento |
Tipos de Eventos e Ações
Tipo de Evento | Ação |
---|---|
Order | Created |
Order | Rejected |
Order | Cancelled |
Order | Suspended |
Order | Settled |
Order | Expired |
Order | DebtAmountCalculated |
Order | OrdersChildAdded |
LinkedOrder | Created |