Pular para o conteúdo principal

Change

POST {URL}change

O serviço Change altera o status de importação (ImportState) de uma transação. É com ele que o seu sistema informa à API Sales que uma venda já foi processada.

💡 Papel no fluxo recomendado

O Change é o último passo do ciclo de integração. Assim que o seu sistema concluir com sucesso o processamento de uma venda obtida no Details, chame o Change com ImportState = 2 (Imported). Com isso, o backend registra a exportação e o item não será mais retornado nas consultas subsequentes ao List com FilterImportState = 1 (OnlyNotImported).

Requisição​

{
"TransactionUniqueId": "AIR-D70B465D-F2BB-4215-BE72-1D6AE5092A87", // Obrigatório. UniqueId com prefixo
"ImportState": 2, // Obrigatório. 2 = Imported (marca como importado)
"OffSet": "-03:00:00", // Opcional. Fuso horário desejado
"AccessCredentials": {
"Company": {
"Identifier": "{{identifier}}",
"Password": "{{password}}"
}
}
}

Campos da Requisição​

CampoObrigatórioTipoDescrição
TransactionUniqueIdSimstringIdentificador único com prefixo da transação retornado pelo serviço List (ex.: AIR-..., TKT-..., HTL-..., CAR-..., TS-...).
ImportStateSimintegerNovo status de importação desejado. Envie 2 (Imported) para registrar a venda como importada.
OffSetNãostring (±hh:mm:ss)Fuso horário desejado para as datas na resposta (ex.: "-03:00:00").
AccessCredentialsSimobjectCredenciais da empresa consumidora (Identifier e Password).
AccessCredentials.Company.IdentifierSimstringIdentificador único (login da credencial no portal).
AccessCredentials.Company.PasswordSimstringSenha da credencial.

Funcionamento do controle de importação (ImportState)​

O serviço Change gerencia o estado de sincronização da transação com a sua integração:

ValorEnumAção executada pelo servidorFinalidade prática
2ImportedO backend registra a marcação de importação associada à sua credencial com a data atual.Marca a venda como importada. Nas próximas consultas ao List com FilterImportState = 1 (OnlyNotImported), esta transação será filtrada e não retornará.
1NotImportedO backend remove a marcação de importação associada à sua credencial.Desmarca a importação / permite reprocessamento. A transação volta a ser retornada em consultas de itens pendentes/não importados.

📌 Isolamento por credencial de integração

O controle de importação é estritamente individual por credencial. Se a mesma agência ou consolidador possuir mais de uma integração consumindo a API Sales, a marcação feita pela credencial A não afeta as consultas realizadas pela credencial B.

Resposta​

Exemplo de resposta com sucesso​

{
"Request": {
"TransactionUniqueId": "AIR-D70B465D-F2BB-4215-BE72-1D6AE5092A87",
"ImportState": 2,
"AccessCredentials": null
},
"OffSet": "-03:00:00",
"Transaction": null,
"Errors": [],
"Success": true,
"RequestDate": "2022-07-15T12:21:18.91099-03:00"
}

Exemplo de resposta com erro​

Caso o TransactionUniqueId seja inválido, não exista ou pertença a outra organização não autorizada para a credencial:

{
"Request": {
"TransactionUniqueId": "AIR-INVALIDO-0000",
"ImportState": 2,
"AccessCredentials": null
},
"OffSet": "-03:00:00",
"Transaction": null,
"Errors": [
{
"Message": "Transaction not found",
"Exception": ""
}
],
"Success": false,
"RequestDate": "2026-10-09T09:20:11.890-03:00"
}

Estrutura raiz da resposta​

CampoTipoDescrição
RequestChangeRQEco dos parâmetros enviados na requisição (com AccessCredentials sanitizado para null).
OffSetstringFuso horário efetivamente aplicado na resposta (ex.: "-03:00:00").
TransactionTransactionHeaderSempre null neste serviço (o método não projeta o objeto completo de volta).
ErrorsError[]Coleção de erros. Vazio ([]) se a operação foi executada com sucesso. Em caso de falha, contém 1 ou mais objetos Error com Message (string) e Exception (string, vazia em produção).
SuccessbooleanAvaliado dinamicamente como `Errors == null
RequestDatestring (date-time)Data e hora em formato ISO 8601 da finalização da requisição no servidor.

⚠️ Valide sempre a propriedade Success

Verifique sempre o campo Success antes de prosseguir. Se for false, a transação não foi persistida na tabela de exportação e continuará sendo devolvida nas próximas chamadas ao List. Registre o erro contido em Errors[i].Message para auditoria e tente novamente no próximo ciclo.