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 noDetails, chame oChangecomImportState = 2(Imported). Com isso, o backend registra a exportação e o item não será mais retornado nas consultas subsequentes ao List comFilterImportState = 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
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
TransactionUniqueId | Sim | string | Identificador único com prefixo da transação retornado pelo serviço List (ex.: AIR-..., TKT-..., HTL-..., CAR-..., TS-...). |
ImportState | Sim | integer | Novo status de importação desejado. Envie 2 (Imported) para registrar a venda como importada. |
OffSet | Não | string (±hh:mm:ss) | Fuso horário desejado para as datas na resposta (ex.: "-03:00:00"). |
AccessCredentials | Sim | object | Credenciais da empresa consumidora (Identifier e Password). |
AccessCredentials.Company.Identifier | Sim | string | Identificador único (login da credencial no portal). |
AccessCredentials.Company.Password | Sim | string | Senha 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:
| Valor | Enum | Ação executada pelo servidor | Finalidade prática |
|---|---|---|---|
2 | Imported | O 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á. |
1 | NotImported | O 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
| Campo | Tipo | Descrição |
|---|---|---|
Request | ChangeRQ | Eco dos parâmetros enviados na requisição (com AccessCredentials sanitizado para null). |
OffSet | string | Fuso horário efetivamente aplicado na resposta (ex.: "-03:00:00"). |
Transaction | TransactionHeader | Sempre null neste serviço (o método não projeta o objeto completo de volta). |
Errors | Error[] | 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). |
Success | boolean | Avaliado dinamicamente como `Errors == null |
RequestDate | string (date-time) | Data e hora em formato ISO 8601 da finalização da requisição no servidor. |
⚠️ Valide sempre a propriedade
SuccessVerifique sempre o campo
Successantes de prosseguir. Se forfalse, a transação não foi persistida na tabela de exportação e continuará sendo devolvida nas próximas chamadas aoList. Registre o erro contido emErrors[i].Messagepara auditoria e tente novamente no próximo ciclo.