Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

Résumé

Manipulation de l'entité  Contract (Contrats)  en lecture/écriture/suppression via un objet métier depuis une application externe.

...

Les tables utilisées sont :

  • sw_data_contract

     

    : Table des contrats

Les tables liées sont :

  • sw_data_contractbilling

     

    : Table de la facturation des contrats

Critères d'activation

WHK_Contract  est défini dans la gestion des webhooks du studio.

Fonctionnement

verb: GET
resultType: simple

Bloc de codeinfo
languagejson
  "contract":{
    "codecontract": "C0000001-77",
    "label": "Test contrat",
    "contractNumber": "CONTRACT_000077",
    "customer_ID": "C0000001",
    "generictype_ID_status": "NEW",
    "contracttype_ID": "Abonnement licence"
  }

verb: GET
resultType: extended

Info
Bloc de code
languagejson
  "contract":{
    "codecontract": "C0000001-77",
    "label": "Test contrat",
    "contractNumber": "CONTRACT_000077",
    "customer_ID": "C0000001",
    "generictype_ID_status": "NEW",
    "contracttype_ID": "Abonnement licence",
    "description": "description",
    "startDate": "2020-01-06 00:00:00",
    "endDate": "",
    "limitDate": "",
    "amount": "200",
    "interventiontype_ID": "",
    "frequency_ID": "",
    "dunningDateValue": "",
    "generictype_ID_dunningDateUnit": "",
    "contract_ID_parent": "",
    "closingDate": "",
    "customerReference": "",
    "version": "2",
    "amendmentNumber": "",
    "deal_ID": "",
    "dealelement_ID": "",
    "contractmodel_ID": ""
  }

Verbverb: GET
resultType: extendedRelated
en complément du résultat pour resultType: extended on aura le détail pour les tables contracttype, customer, generictype_status, deal et dealelement.

...

Bloc de code
languagejson
"related":[
{
  "contracttype":{
    "codecontracttype": "LICENCE",
    "label": "Abonnement licence",
    "prefix": "",
    "numberLength": "",
    "counter": "",
    "generictype_ID_badgeColor": ""
  },
  "customer":{
    "codecustomer": "C0000001",
    "name": "ENTREPRISE DIJON GUICHARD",
    "baseuser_ID": "",
    "address1": "33 Avenue du Drapeau",
    "address2": "",
    "address3": "",
    "postalCode": "21000",
    "city": "DIJON",
    "phoneNumber": "03 90 11 22 33",
    "faxNumber": "03 90 11 22 44",
    "mobilePhoneNumber": "06 90 11 22 33",
    "email": "contact@guichard.com",
    "deliveryDays": "1A;1B;2A;2B;3A;3B;4A;4B;5A;5B",
    "openingDays": "1A;1B;2A;2B;3A;3B;4A;4B;5A;5B",
    "siretNumber": "",
    "vatIntra": "",
    "apeCode": "516K",
    "comment": "",
    "blocked": "0",
    "blockedComment": "",
    "message": "",
    "vacationStart": "",
    "vacationEnd": "",
    "gpsLongitude": "5.04372",
    "gpsLatitude": "47.33222",
    "gpsPrecision": "8",
    "gpsUpdateDate": "2020-09-03 23:02:12",
    "gpsManual": "",
    "accountNumber": "C0000001",
    "contactName": "",
    "currency_ID": "",
    "authorizedCredit": "0",
    "risk": "1",
    "language": "",
    "underSurveillance": "",
    "workforce": "25",
    "customer_ID_paying": "",
    "pricecategory_ID": "",
    "discountRate": "0",
    "website": "
https
<https://www.guichard.com",>
    "legalStatus": "Société Anonyme avec Directoire",
    "generictype_ID_brand": "",
    "generictype_ID_deliveryMode": "",
    "generictype_ID_paymentMean": "",
    "generictype_ID_country": "FR",
    "generictype_ID_province": "",
    "generictype_ID_customerType": "CTC",
    "generictype_ID_customerFamily": "",
    "confirmationEmail": "contact@guichard.com",
    "confirmationFax": "03 90 11 22 44",
    "generictype_ID_taxCode": "",
    "productdepot_ID": "",
    "generictype_ID_accountingCategory": "",
    "generictype_ID_customerPotential": "B",
    "generictype_ID_civility": "",
    "skype": "contact@guichard.com",
    "generictype_ID_role": "",
    "unused": "0",
    "customergroup_ID": "",
    "generictype_ID_referencing": "2",
    "generictype_ID_distribution": "SELF",
    "generictype_ID_market": "BIG",
    "area": "",
    "baseculture_ID": "FR-FR",
    "baseuser_ID_favoriteTechnician": "TECH-01",
    "branchoffice_ID": "SXB",
    "emailFormat": "",
    "isIndividual": "0",
    "facebook": "
https
<https://www.facebook.com/guichard/",>
    "twitter": "
https
<https://twitter.com/guichard",>
    "youtube": "
https
<https://www.youtube.com/watch?v=6jGbnEwQJ54",>
    "linkedin": "
https
<https://www.linkedin.com/company/guichard",>
    "activity": ""
  }
}]

verb: PUT
Selon webhookVersion renseigné dans le header :

  • webhookVersion = 1 -> les blocs json contracttype, customer et site sont obligatoires.

  • webhookVersion = 2 -> les blocs json contracttype, customer et site ne doivent plus être renseignés, sinon il y aura une erreur en retour. Ils doivent être appelés explicitement par leur webhooks correspondants (contracttype, customer et customeraddress) en amont. Valeur par défaut si non renseigné.

Info
{ "contracttype

La description pour webhookVersion = 1 peut être consultée dans les pages de la version Divalto weavy 5.5 et antérieures.

Bloc de code
languagejson
{  
  "contract": {
    "
codecontracttype
codecontract": "
LICENCE
C0000001-77", /* Code globalement unique du
type de
 contrat (Varchar (255))*/
    "label": "
Abonnement
Test 
licence
contrat", /* Libellé du 
type de
contrat (Varchar (255)*/
    "
internalcodecontracttype
description": 
null
"description", /* 
codecontracttype
Description 
original
du 
de
contrat 
weavy s'il y a eu transcodage (Varchar (255)) */ },
(Text (65535)*/
    "
contract
contractNumber":
{
 
"codecontract": "C0000001-77"
"CONTRACT_000077", /* 
Code
 
globalement
de 
unique du
contrat (Varchar (
255
64))*/
    "
label
startDate": "
Test contrat
2020-06-01", /* 
Libellé
Date 
du
de 
contrat
début (
Varchar
DateTime (
255
))*/
    "
description
endDate": 
"description",
null, /* 
Description
Date 
du
de 
contrat
fin (
Text
DateTime (
65535
))*/
    "
contractNumber
limitDate": 
"CONTRACT_000077"
null, /* 
Date 
de
d'échéance 
contrat
(
Varchar
DateTime (
64
))*/
    "
startDate
customer_ID": "
2020-06-01
C0000001", /* 
Date
Code 
de
client 
début
ForeignKey (
DateTime ())
) - sw_data_customer.codecustomer)*/
    "
endDate
amount": 
null
"200", /* 
Date
Montant 
de fin
(
DateTime
Double ())*/
    "
limitDate
dunningDateValue": null, /* Valeur date 
Date
de 
d'échéance
relance (
DateTime
Int ())*/
    "
customer
generictype_ID_dunningDateUnit": 
"C0000001"
null, /* Code
client
 unité pour la date de relance (ForeignKey () - sw_data_
customer.codecustomer
generictype.codegenerictype avec datatype = TIME_INTERVAL_UNIT)*/
    "
amount
generictype_ID_status": "
200
CONTRACT_STATUS-NEW", /* 
Montant
Statut 
(Double ())*/ "dunningDateValue": null, /* Valeur date de relance (Int ()
du contrat. On le positionne à l'intégration dans weavy lors d'une création (CONTRACT_STATUS-NEW par défaut) (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CONTRACT_STATUS)*/
    "
generictype
contract_ID_
dunningDateUnit
parent": null, /* Code 
unité
contrat 
pour
parent 
la
(nécessite 
date
que 
de relance
le parente a été créée avant celui-ci) (ForeignKey () - sw_data_
generictype.codegenerictype avec datatype = TIME_INTERVAL_UNIT
contract.codecontract)*/
    "
generictype
contracttype_ID
_status
": "
CONTRACT_STATUS-NEW
LICENCE", /* 
Statut
Code type 
du
de contrat
.
 
On
(ForeignKey 
le
() 
positionne à l'intégration dans weavy lors d'une création (CONTRACT_STATUS-NEW par défaut) (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CONTRACT_STATUS
- sw_data_contracttype.codecontracttype)*/
    "customerReference": null, /* Référence du contrat chez le client (Varchar (255))*/
    "
contract
deal_ID
_parent
": 
null
"", /* Code 
contrat
affaire 
parent
(ForeignKey (
nécessite
) 
que le parente a été créée avant celui-ci)
- sw_data_deal.codedeal)*/
    "dealelement_ID": "", /* Code élément d'affaire (ForeignKey () - sw_data_
contract
dealelement.
codecontract
codedealelement)*/
    "
contracttype
contractmodel_ID": "
LICENCE
", /* Code 
type
contrat 
de
modèle 
contrat
(ForeignKey () - sw_data_
contracttype
contractmodel.
codecontracttype
codecontractmodel)*/
    "
customerReference
internalcodecontract": null
,
 /* 
Référence
codecontract 
du
original 
contrat
de 
chez
weavy 
le
pour 
client
transcodage (Varchar (255))*/    
"deal_ID":
 
"", /* Code affaire (ForeignKey () - sw_data_deal.codedeal)*/
 },
  "contractbilling": [  
  {
    "
dealelement_ID
codecontractbilling": "C0000001-77", /* Code 
élément
facturation 
d'affaire (ForeignKey () - sw_data_dealelement.codedealelement)*/ "internalcodecontract": null, /* CodeContract original de weavy s'il y a eu transcodage
du contrat. On peut utiliser codecontract si une seule facturation pour un contrat (Varchar (255))
*/
    "
internalCodeCustomer
contract_ID": 
null
"C0000001-77", /*
CodeCustomer original de weavy s'il y a eu transcodage (Varchar (255)) */ }, "contractbilling": [ { "codecontractbilling": "C0000001-77
 Code du contrat. Reprendre le code contrat du bloc json "contract" (ForeignKey () - sw_data_contract.codecontract)*/
    "startDate": "2020-06-01", /* 
Code
Date 
facturation
de 
du contrat. On peut utiliser codecontract si une seule facturation pour un contrat (Varchar (255
début de facturation (DateTime ())*/
    "
contract_ID
endDate": "
C0000001-77
", /* 
Code
Date 
du contrat. Reprendre le code contrat du bloc json "contract"
de fin de facturation (DateTime ())*/
    "frequency_ID": "", /* Code fréquence (ForeignKey () - sw_data_
contract
frequency.
codecontract
codefrequency)*/
    "
startDate
workforceIncluded": "
2020-06-01
1", /* 
Date de début de facturation (DateTime
Main d'œuvre incluse (Valeurs possibles : 0,1) (Bool ()) */
    "
endDate
partsIncluded": "1", /* 
Date de fin de facturation (DateTime ())*/ "frequency_ID": "", /* Code fréquence (ForeignKey () - sw_data_frequency.codefrequency)
Pièces incluses (Valeurs possibles : 0,1) (Bool ()) */
    "
workforceIncluded
travelsIncluded": "1", /* 
Main
Déplacements 
d'œuvre
inclus 
incluse
(Valeurs possibles : 0,1) (Bool ()) */
    "
partsIncluded
amount": "
1
200"
,
 /* 
Pièces
Montant 
incluses
(Double (
Valeurs
))/
possibles
 
:
 
0,1) (Bool ()) */
 }]  
}

verb: LIST
resultType: simple, extended reprendre les définitions du GET

Bloc de code
languagejson
"filters:" {
  "
travelsIncluded
codeContract": "
1
value", 
/*
filter 
Déplacements
is 
inclus
equal
(Valeurs
 
possibles
 "contractNumber": 
0
"value",
1)
 
(Bool ()) */
filter is equal
  
"
amount
label": "
200
value"
/* Montant (Double ())/ }],
, filter is contains
  "codeCustomer": "value", filter is equal
  "
site
contractType": 
{
"value", filter is equal
  "
codecustomeraddress
codeDeal": "
C0000001-BDX
value", 
/*
filter 
Code
is 
globalement
equal
unique
 
d'une adresse client (Varchar (255))*/
 "codeStatus": "value", filter is equal
  
"
customer_ID
codeEquipment": "
C0000001
value"
,
 
/*
filter 
Code
is 
client
equal
ForeignKey () - sw_data_customer.codecustomer)*/ "name
},
"orderBy": "
ENTREPÔT GUICHARD", /* Nom de l'adresse client (Varchar (255))*//* Nom de l'adresse client (Varchar (255))*/ "address1": "15 Avenue Champollion", /* Adresse 1 (Varchar (255))*/ "address2": null, /* Adresse 2 (Varchar (255))*/ "address3": null, /* Adresse 3 (Varchar (255))*/ "postalCode": "21000 ", /* Code postal (Varchar (16))*/ "city": "Dijon", /* Ville (Varchar (64))*/ "phoneNumber": "03 90 22 75 45", /* N° de téléphone (Varchar (64))*/ "faxNumber": "03 90 22 75 40", /* N° de télécopie (Varchar (64))*/ "mobilePhoneNumber": null, /* N° de portable (Varchar (64))*/ "email": null, /* Email (Varchar (255))*/ "generictype_ID_country": "COUNTRY-FR", /* Code pays (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = COUNTRY)*/ "generictype_ID_province": null, /* Code province (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = PROVINCE)*/ "billingAddress": "1", /* Adresse de facturation (Valeurs possibles : 0,1) (Bool ()) */ "defaultBillingAddress": "0", /* Adresse de facturation par défaut (Valeurs possibles : 0,1) (Bool ()) */ "deliveryAddress": "1", /* Adresse de livraison (Valeurs possibles : 0,1) (Bool ()) */ "defaultDeliveryAddress": "0", /* Adresse de livraison par défaut (Valeurs possibles : 0,1) (Bool ()) */ "areaCode": "", /* Code région (Varchar (64))*/ "contact": "M. James", /* Contact (Varchar (64))*/ "accessCode": "", /* Code d'accès (Varchar (64))*/ "floor": "", /* Etage (Varchar (64))*/ "apartment": "", /* Appartement(Varchar (64))*/ "miscInfos": "", /* Informations diverses (Text (65535))*/ "baseuser_ID_favoriteTechnician": "TECH-01", /* Code technicien préféré (ForeignKey () - sw_data_baseuser.codebaseuser)*/ "branchoffice_ID": "", /* Code de l'agence de rattachement (ForeignKey () - sw_data_branchoffice.codebranchoffice)*/ "bankholidayparamheader_ID": "", /* Code entête paramétrage jours fériés (ForeignKey () - sw_data_bankholidayparamheader.codebankholidayparamheader)*/ "baseculture_ID": "", /* Code culture (ForeignKey () - sw_data_baseculture.codebaseculture)*/ "site": "1", /* Site. Ici toujours mettre la valeur 1 car il s'agit d'une adresse qui est un site. (Valeurs possibles : 0,1) (Bool ())*/ "siteCode": "BDX", /* Code du site (Varchar (255)) "siteName": "Entrepôt Dijon", /* Nom du site (Varchar (255))*/ "erpAddressID": "BDX", /* ID adresse ERP (Varchar (255)) "internalCodeCustomeraddress": null, /* CodeCustomeraddress original de weavy s'il y a eu transcodage (Varchar (255)) */ "internalcustomer_ID": null /* CodeCustomer original de weavy s'il y a eu transcodage (Varchar (255)) */ }, "customer": { "codecustomer": "C0000001", /* Code globalement unique du client (Varchar (255))*/ "name": "ENTREPRISE DIJON GUICHARD", /* Nom du client (Varchar (255))*/ "address1": "33 Avenue du Drapeau", /* Adresse 1 (Varchar (255))*/ "address2": null, /* Adresse 2 (Varchar (255))*/ "address3": null, /* Adresse 3 (Varchar (255))*/ "postalCode": "21000", /* Code postal (Varchar (16))*/ "city": "DIJON", /* Ville (Varchar (64))*/ "phoneNumber": "03 90 11 22 33", /* N° de téléphone (Varchar (64))*/ "faxNumber": "03 90 11 22 44", /* N° de télécopie (Varchar (64))*/ "mobilePhoneNumber": "06 90 11 22 33", /* N° de portable (Varchar (64))*/ "email": "contact@guichard.com", * Email (Varchar (255))*/ "website": "https://www.guichard.com", /* Site internet (Varchar (255))*/ "siretNumber": null, /* N° siret (Varchar (40))*/ "generictype_ID_customerType": "CUSTOMER_TYPE-CTC", /* Code type de tiers. Mettre CUSTOMER_TYPE-CTC pour un client. (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CUSTOMER_TYPE)*/ "generictype_ID_country": "COUNTRY-FR", /* Code pays (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = COUNTRY)*/ "baseuser_ID": "GRO-OUES", /* Code utilisateur (ForeignKey () - sw_data_baseuser.codebaseuser)*/ "deliveryDays": "1A;1B;2A;2B;3A;3B;4A;4B;5A;5B;", /* Jours de livraison (Varchar (255))*/ "openingDays": "1A;1B;2A;2B;3A;3B;4A;4B;5A;5B;", /* Jours d'ouverture (Varchar (255))*/ "comment": "", /* Commentaires (Text (65535))*/ "blocked": "0", /* Client bloqué (Valeurs possibles : 0,1) (Bool ())*/ "blockedComment": "", /* Commentaires client bloqué (Text (65535))*/ "message": "", /* Message (Text (65535))*/ "vacationStart": "", /* Début des congés (Date ())*/ "vacationEnd": "", /* Fin des congés (Date ())*/ "underSurveillance": "0", /* Client sous surveillance (Valeurs possibles : 0,1) (Bool ())*/ "generictype_ID_customerFamily": "CUSTOMER_FAMILY-GROSARTG", /* Code famille client (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CUSTOMER_FAMILY)*/ "generictype_ID_paymentMean": "PAYMENT_MEAN-N30", /* Code mode de règlement (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = PAYMENT_MEAN)*/ "generictype_ID_deliveryMode": "DELIVERY_MODE-CHRO", /* Code mode de livraison (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = DELIVERY_MODE)*/ "pricecategory_ID": "GR", /* Code catégorie tarifaire (ForeignKey () - sw_data_pricecategory.codepricecategory)*/ "discountRate": "0.00", /* Taux de remise (Double ())*/ "authorizedCredit": "0", /* Encours autorisé (Valeurs possibles : 0,1) (Bool ())*/ "apeCode": "516K", /* Code APE (Varchar (64))*/ "vatIntra": null, /* TVA intracommunautaire (Varchar (64))*/ "legalStatus": "Société Anonyme avec Directoire", /* Forme juridique (Varchar (64))*/ "workforce": "23", /* Effectif (Int ())*/ "customer_ID_paying": null, /* Code client payeur (ForeignKey () - sw_data_customer.codecustomer)*/ "generictype_ID_taxCode": "TAX_CUSTOMER-0", /* Code TVA client (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = TAX_CUSTOMER)*/ "risk": "1", /* Risque (Varchar (64))*/ "language": "FR", /* Code langue (ForeignKey () - sw_sys_language.codelanguage)*/ "accountNumber": "C0000001", /* N° de compte principal (Varchar (64))*/ "currency_ID": "EUR", /* Code devise ForeignKey () - sw_data_currency.codecurrency)*/ "generictype_ID_province": null, /* Code province (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = PROVINCE)*/ "generictype_ID_civility": "CIVILITY-SA", /* Code civilité (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CIVILITY)*/ "customergroup_ID": "", /* Code groupe client (ForeignKey () - sw_data_customergroup.codecustomergroup)*/ "confirmationFax": "03 90 11 22 44", /* N° de télécopie de confirmation (Varchar (64))*/ "confirmationEmail": "contact@guichard.com", /* Email de confirmation (Varchar (255))*/ "generictype_ID_accountingCategory": "", /* Code catégorie comptable (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = ACCOUNTING_CATEGORY)*/ "generictype_ID_customerPotential": "CUSTOMER_POTENTIAL-B", /* Code potentiel client (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = CUSTOMER_POTENTIAL)*/ "generictype_ID_role": "", /* Code rôle (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = ROLE)*/ "unused": "0", /* Client inactif (Valeurs possibles : 0,1) (Bool ())*/ "generictype_ID_referencing": "PRODUCT_REFERENCING-NOTSTRICT", /* Code mode de référencement articles (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = PRODUCT_REFERENCING)*/ "generictype_ID_distribution": "DISTRIBUTION-SELF", /* Code type de distribution (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = DISTRIBUTION)*/ "generictype_ID_market": "MARKET-BIG", /* Code type de magasin (ForeignKey () - sw_data_generictype.codegenerictype avec datatype = MARKET)*/ "area": "", /* Superficie (Double ())*/ "baseculture_ID": "FR-FR", /* Code culture (ForeignKey () - sw_data_baseculture.codebaseculture)*/ "baseuser_ID_favoriteTechnician": "TECH-01", /* Code technicien préféré (ForeignKey () - sw_data_baseuser.codebaseuser)*/ "branchoffice_ID": "SXB", /* Code de l'agence de rattachement (ForeignKey () - sw_data_branchoffice.codebranchoffice)*/ "emailFormat": "", /* Format d'email (Varchar (255))*/ "isIndividual": "0", /* Client est un particulier (Valeurs possibles : 0,1) (Bool ())*/ "skype": "contact@guichard.com", /* Skype (Varchar (255))*/ "facebook": "https://www.facebook.com/guichard/", /* Facebook (Varchar (255))*/ "twitter": "https://twitter.com/guichard", /* Twitter (Varchar (255))*/ "youtube": "https://www.youtube.com/watch?v=6jGbnEwQJ54", /* YouTube (Varchar (255))*/ "linkedin": "https://www.linkedin.com/company/guichard", /* LinkedIn(Varchar (255))*/ "activity": "", /* Activité (Text (65535))*/ "internalCodeCustomer": null /* CodeCustomer original de weavy s'il y a eu transcodage (Varchar (255)) */ } }

verb: LIST
resultType: simple, extended, extendedRelated reprendre les définitions du GET

Info
"filters:" { "codeContract": "value", filter is equal "label": "value", filter is contains "codeCustomer": "value", filter is equal "contractType": "value", filter is equal "codeDeal": "value", filter is equal "codeStatus": "value", filter is equal "codeEquipment": "value" filter is equal }
value"

Valeurs possibles pour le tri "orderBy" :

  • contractNumberAsc : par n° de contrat ascendant

  • startDateDesc : par date de début descendant

  • startDateAsc : par date de début ascendant

verb: DELETE
Une suppression d'un contrat (sw_data_contract) va supprimer en cascade les éléments dans la table liée sw_data_contractbilling.