Saltearse al contenido

Buscar información de envío

Cuando el envío de notificaciones se realiza con ReturnMode en RESUME, la respuesta será un RequestID que se puede utilizar para obtener los datos de las notificaciones.

Este servicio devolverá información sobre la cantidad de notificaciones enviadas, procesadas y las que aún se encuentran en proceso.

JSON Body

{
"hash": "COMPANY_HASH",
"sentId": 00
}
  • hash: Hash de la empresa donde está registrado el template.
  • sentId: El ID que se devuelve al enviar las notificaciones con ReturnMode = RESUME.

Respuesta

  • La respuesta es una cadena encriptada de la siguiente manera:
    • DatosEncriptados + IV + NuevoIvEncriptado
  • La estructura desencriptada será la siguiente:
    {
    "RequestId": 1,
    "RequestDate": "2023-06-05T16:00:00",
    "RequestStatus": "PROCESSED",
    "TotalNumberReceived": 4,
    "TotalNumberValid": 4,
    "TotalNumberSuccess": 4,
    "TotalNumberError": 0,
    "TotalNumberWaiting": 0,
    "TotalNumberCanceled": 0,
    "RequestResult": [
    {
    "RequestSeq": 1,
    "RequestPhoneNumber": "111111111",
    "RequestStatus": "sent",
    "RequestMessage": "OK",
    "RequestSentDatetime": "2024-08-05T16:00:00",
    "RequestDeliveryDatetime": "2024-08-05T16:00:00",
    "RequestReadDatetime": "2024-08-05T16:00:00",
    "RequestHasButton": true,
    "RequestUserAnswered": true,
    "RequestUserAnswer": "Sim",
    "SentKeys": [
    {
    "Description": "NOME",
    "Value": "Giuliano"
    }
    ],
    "SentParms": [
    {
    "Cod": "CPF",
    "Value": "11111111111"
    },
    {
    "Cod": "RG",
    "Value": "11111111-1"
    }
    ]
    },
    {
    "RequestSeq": 1,
    "RequestPhoneNumber": "222222222",
    "RequestStatus": "sent",
    "RequestMessage": "OK",
    "RequestSentDatetime": "2024-08-05T16:00:00",
    "RequestDeliveryDatetime": "2024-08-05T16:00:00",
    "RequestReadDatetime": "2024-08-05T16:00:00",
    "RequestHasButton": true,
    "RequestUserAnswered": true,
    "RequestUserAnswer": "Sim",
    "SentKeys": [
    {
    "Description": "NOME",
    "Value": "Giuliano"
    }
    ],
    "SentParms": [
    {
    "Cod": "CPF",
    "Value": "11111111111"
    },
    {
    "Cod": "RG",
    "Value": "11111111-1"
    }
    ]
    },
    {
    "RequestSeq": 2,
    "RequestPhoneNumber": "333333333",
    "RequestStatus": "sent",
    "RequestMessage": "OK",
    "RequestSentDatetime": "2024-08-05T16:00:00",
    "RequestDeliveryDatetime": "2024-08-05T16:00:00",
    "RequestReadDatetime": "2024-08-05T16:00:00",
    "RequestHasButton": true,
    "RequestUserAnswered": true,
    "RequestUserAnswer": "Sim",
    "SentKeys": [
    {
    "Description": "NOME",
    "Value": "Giuliano"
    }
    ],
    "SentParms": [
    {
    "Cod": "CPF",
    "Value": "11111111111"
    },
    {
    "Cod": "RG",
    "Value": "11111111-1"
    }
    ]
    },
    {
    "RequestSeq": 2,
    "RequestPhoneNumber": "444444444",
    "RequestStatus": "sent",
    "RequestMessage": "OK",
    "RequestSentDatetime": "2024-08-05T16:00:00",
    "RequestDeliveryDatetime": "2024-08-05T16:00:00",
    "RequestReadDatetime": "2024-08-05T16:00:00",
    "RequestHasButton": true,
    "RequestUserAnswered": true,
    "RequestUserAnswer": "Sim",
    "SentKeys": [
    {
    "Description": "NOME",
    "Value": "Giuliano"
    }
    ],
    "SentParms": [
    {
    "Cod": "CPF",
    "Value": "11111111111"
    },
    {
    "Cod": "RG",
    "Value": "11111111-1"
    }
    ]
    }
    ]
    }
  • Valores para el status de RequestStatus base:
    • CANCELED
    • QUEUED
    • PROCESSED
    • PROCESSING
  • Valores para el status de RequestResult:
    • canceled
    • waiting
    • sent
    • delivered
    • failed

Ejemplos

var httpClient = new HttpClient
{
BaseAddress = new Uri("YOUR_ANNA_URL")
};
var result = await httpClient.PostAsJsonAsync("REST/Credentials/GetToken", new
{
hash = "COMPANY_HASH",
user = "USER",
pass = "PASSWORD"
});
var tokenResponse = await result.Content.ReadFromJsonAsync<GetTokenResponse>();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", tokenResponse?.Data.Token);
var getDataResult = await httpClient.PostAsJsonAsync("REST/Notifications/GetData", new
{
hash = "COMPANY_HASH",
sentId = 00
});
var getDataContent = await getDataResult.Content.ReadAsStringAsync();
return getDataContent;
public class GetTokenResponse
{
[JsonPropertyName("success")]
public bool Success { get; set; }
[JsonPropertyName("message")]
public string Message { get; set; } = string.Empty;
[JsonPropertyName("data")]
public TokenData Data { get; set; } = new();
}
public class TokenData
{
[JsonPropertyName("Token")]
public string Token { get; set; } = string.Empty;
[JsonPropertyName("ExpiresIn")]
public string ExpiresIn { get; set; } = string.Empty;
}