Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Introdução

...

Exemplo:  

POST

x-Drake-SenderId:12

user-agent:Drake.Integration.Client 1.0

date:Wed, 29 Jan 2014 22:06:51 GMT

content-type:application/json

[{"Id":0,"ClientGuid":"b3c671cb-12ae-4ec3-9524-4928a8b86442","SenderId":12,"RecipientId":15,"Type":2,"DrakeId":4825709,"Details":"Não é permitido mais de um participante em solicitações Rodoviárias."}]

...

public static string SignData(string message, string privateKey)

{

    //// The array to store the signed message in bytes

    byte[] signedBytes;

    using (var rsa = new RSACryptoServiceProvider())

    {

        rsa.ImportCspBlob(Convert.FromBase64String(privateKey));

        //// Write the message to a byte array using UTF8 as the encoding.

        var encoder = new UTF8Encoding();

        byte[] originalData = encoder.GetBytes(message);

        try

        {

            //// Sign the data, using SHA512 as the hashing algorithm

            signedBytes = rsa.SignData(originalData, CryptoConfig.MapNameToOID("SHA512"));

        }

        catch (CryptographicException e)

        {           

            return null;

        }

        finally

        {

            //// Set the keycontainer to be cleared when rsa is garbage collected.

            rsa.PersistKeyInCsp = false;

        }

    }

    //// Convert the a base64 string before returning

    return Convert.ToBase64String(signedBytes);

}

...

Para obter as mensagens disponíveis, basta enviar uma requisição do tipo POST para /Receive, informando o ID do fornecedor (RecipientId) e o tipo de mensagem (Type 12 = obter mensagens disponíveis). A seguir um exemplo:

POST: /Receive

[

    "RecipientId" : 123,

    "Type" : 12

}]


Como resposta a esta requisição, serão retornadas todas as mensagens disponíveis na caixa de saída do fornecedor. A seguir os diferentes tipos que podem ser retornados:

...